Berger, Daniel
2006-May-15 14:42 UTC
[Win32utils-devel] FW: [Mongrel] Broken win32 service support for lastest mongrels.
Hi all, I''ve forwarded this from the Mongrel mailing list to see if anyone has any thoughts. In summary, Luis is hitting broken pipe errors on occasion when he tries to stop a service. In a later email Luis mentions that simply ignoring them might not always be the best idea, since sometimes the service seems to no longer respond, even though it still appears to be running fine. Dan -----Original Message----- From: mongrel-users-bounces at rubyforge.org [mailto:mongrel-users-bounces at rubyforge.org] On Behalf Of Luis Lavena Sent: Sunday, May 14, 2006 9:53 PM To: mongrel-users at rubyforge.org Subject: Re: [Mongrel] Broken win32 service support for lastest mongrels. Thank you Zed, Again, I decide to do this against my health (my fiance will kill me for doing this on Sunday), anyway: * Revert to my last december xp installation image (thank you Acronis!). * Used a clean Ruby 1.8.4 with readline, iconv and zlib compiled locally (no the One Click Installer). These are the gems I installed to test Rails 1.0.0: actionmailer (1.1.5) actionpack (1.11.2) actionwebservice (1.0.0) activerecord (1.13.2) activesupport (1.2.5) mongrel (0.3.8) rails (1.0.0) rake (0.7.1) sources (0.0.1) sqlite3-ruby (1.1.0) win32-service (0.5.0) * Created a empty rails 1.0.0 app name myservice. * Checked it worked with webrick, and mongrel_rails start and got this information from index.html: Ruby version 1.8.4 (i386-mswin32) RubyGems version 0.8.11 Rails version 1.0.0 Active Record version 1.13.2 Action Pack version 1.11.2 Action Web Service version 1.0.0 Action Mailer version 1.1.5 Active Support version 1.2.5 Application root D:/Programming/Sources/myservice Environment development Database adapter sqlite3 So far, that was OK. * Installed ''myservice'' using mongrel_rails_service: mongrel_rails_service -n myservice -e development (force the development environment instead of production as default) * Started the service, after 10 seconds, service was ready, checked and compared with previous output, was ok. * Stopped the service using mongrel_rails_service stop, it stopped just fine. Before I jump into conclusion, done a new start & stop round, this time with a broken pipe error. Conclusion: something don''t work the same way twice. To probe that I was doing something wrong (which most of the times that is correct), I created the simple http_service.rb attached to this message. It only create a Simple Handler and a DirHandler of the local folder, always listening in port 3000. So far, tested against 0.3.8 and 0.3.12.4 of mongrel, functionality was ok (no problem pipe here). I changed a lot of the "concept" on how the services work in this script, so I need help from all the windows users on the list. Please download the script, put in some folder, and run:>ruby http_service.rb install >ruby http_service.rb startBrowse to http://localhost:3000 Check it worked, then stop the service:>ruby http_service.rb stop(please check if it report errors or not). Run with remove command to remove the service from your machine. Reply to this post with your environment:>ruby -v >ver (windows version) Ex: Microsoft Windows XP [Version 5.1.2600]Against which version of Mongrel you tested it. I have found that the lack of locking in the debugging methods causes the broken pipe errors. I''ll find workaround (maybe add logging to eventlog of win32), suggestions are welcome. Thank you guys for the time you spend on this, I really appreciate it. Based on this progress, I''ll rewrite the new mongrel_service script to fix this and will try. Please, anyone with problems, reply this so we could get these fixed in the next release. Later, -- Luis Lavena Multimedia systems - Leaders are made, they are not born. They are made by hard effort, which is the price which all of us must pay to achieve any goal that is worthwhile. Vince Lombardi This communication is the property of Qwest and may contain confidential or privileged information. Unauthorized use of this communication is strictly prohibited and may be unlawful. If you have received this communication in error, please immediately notify the sender by reply e-mail and destroy all copies of the communication and any attachments. -------------- next part -------------- A non-text attachment was scrubbed... Name: http_service.rb Type: application/octet-stream Size: 3718 bytes Desc: http_service.rb Url : http://rubyforge.org/pipermail/win32utils-devel/attachments/20060515/2c9df5c4/attachment.obj -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: ATT202010.txt Url: http://rubyforge.org/pipermail/win32utils-devel/attachments/20060515/2c9df5c4/attachment.txt