[Mongrel] mongrel_rails service on windows incompatible with recent ruby builds?

Luis Lavena luislavena at gmail.com
Tue Sep 11 17:28:30 EDT 2007

On 9/11/07, Ralf Vitasek <neongrau at gmail.com> wrote:
> hello luis!
> thank you very much for your reply.
> >/ From mongrel_service.log, could you try running this command line?
> /> ruby.exe c:\ruby\bin\mongrel_rails start -e development -p 3000 -a
> > -l log/mongrel.log -P log/mongrel.pid -c c:/informer_rails -t
> > 0 -r public -n 1024
> as i said before starting via "mongrel_rails" works with every ruby version.
> but i tested again to be correct. so YES this works!
> > It seems it's trying to run ruby.exe from the PATH, maybe you don't
> > have it in your environment variables?
> ruby is in PATH, as i said before the problem is that ruby.exe starts
> but just dies right away when started as a service with the latest patchlevel

So far, everything is ok in the ruby land...

> > Latest version (0.3.2) properly uses C:\ruby\bin\ruby.exe as ruby executable.
> > For get that fixes, you need to remove and reinstall the service.
> as i said, already tried uninstalling and reinstalling everything before
> (3 times already, please don't ask me to try again, i hardly doubt it'll change anything).

No problem, I'll not ;-)

> let me summarize the problem again:
> the service dies right away, without creating any logs in the rails log dir
> when using the latest patchlevel ruby version with the win32ole fix
> ( http://rubyforge.org/tracker/?func=detail&atid=1698&aid=7553&group_id=426 ).
> running the app via "mongrel_rails start" works with EVERY version.
> i just need to copy over the zipped ruby version into c:\ruby to see the problem
> 1.8.5p35 -> service works
> copy 1.8.5p52 into c:\ruby -> doesnt work anymore
> copy 1.8.5p35 back into c:\ruby -> works again
> copy 1.8.6p36 into c:\ruby -> doesnt work anymore
> copy 1.8.6 into c:\ruby -> work again

Mmm, you're using win32ole to connect to ADO driver, right?

Maybe there is a problem due the non-impersonation of the service,
since by default it will run as SYSTEM, and not the user you're logged

This often bring problems when dealing with ActiveX/OLE and the proper
creation of instances of these objects.

> please try this ruby release:
> ftp://ftp.ruby-lang.org/pub/ruby/binaries/mswin32/ruby-1.8.5-p52-i386-mswin32.zip
> (this is the latest version with the memory leak fixed)
> or in case you're using 1.8.6
> ftp://ftp.ruby-lang.org/pub/ruby/binaries/mswin32/ruby-1.8.6-p36-i386-mswin32.zip

I'm using 1.8.5 patchlevel 12, since I self-compiled it. I'll give a
try but doubt will found any problem, mostly since I don't use
Win32OLE fo my rails projects.

> i hope this clears things more up.

Maybe you could contact me off the list and give me some insight of
your setup that I could replicate here.

One thing we left out of testing is the RunAs... could you go to the
SCM (Service Control Manager) and change the Account used by your
rails application?

Try setting it as your local/user account and see what happens.

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

More information about the Mongrel-users mailing list