i was suffering from a massive memory leak in my application. after searching and testing for quite a while i finally found that it wasn't my app that had a leak but the win32ole support that was used by the ADO driver in sqlserver adapter.
the solution to fix the leak was to install ruby 1.8.5p52 or 1.8.6p36 but sadly as soon i install one of the fixed releases mongrel won't start as service anymore. the latest version i was able to run as a service is 1.8.5p35 but that doesn't have the leak fixed. "mongrel_rails start" will run the app in dev or production mode on the console without problems. when trying to start the service in mmc it fails with the message that the service was started and that it stopped right away. when running mongrel_service.exe with the "console" option: ### C:\informer_rails>"c:/ruby/bin/mongrel_service.exe" console -e development -p 30 00 -a 0.0.0.0 -l "log/mongrel.log" -P "log/mongrel.pid" -c "c:/informer_rails" - t 0 -r "public" -n 1024 Mongrel Win32 Service, version 0.3.1 (c) 2006 The Mongrel development team. Starting service 'single' in console mode, please wait... Service is in running state. Press Ctrl-C to stop it. ### i see a ruby.exe for a second in the task manager that seems to die right away. no log files are created. i also wonder why it says "Mongrel Win32 Service, version 0.3.1" because i have 0.3.2 installed. i tried uninstalling and then reinstalling mongrel, mongrel_service and win32-service without any luck. and the error doesn't seem to come from win32-service as i'm able to run an acts_as_ferret serving DRb without any problems with every ruby version. please check the attached servicefb.log and mongrel_service.log as i can't see anything wrong in those logs.
_initialize() constructor _initialize() constructor done ServiceProcess(new_name) ServiceProcess(new_name) done ServiceHost() ServiceHost() done ServiceHost.Add() _add_to_references() _add_to_references() done ServiceHost.Add() done ServiceController.RunMode() CurrentPID: 3244 ParentPID: 1128 Parent Name: cmd.exe ServiceController.RunMode() done ServiceController.Console() _find_in_references() _find_in_references() done _find_in_references() _find_in_references() done ServiceProcess.StillAlive() ServiceProcess.StillAlive() done ServiceProcess.StillAlive() ServiceProcess.StillAlive() done
# Logfile created on 10.09.2007 17:03:43 native/mongrel_service.bas:153, mongrel_service.application: ServiceController Console native/mongrel_service.bas:54, mongrel_service.single_oninit: single_onInit() native/mongrel_service.bas:71, mongrel_service.single_oninit: starting child process with cmdline: ruby.exe c:\ruby\bin\mongrel_rails start -e development -p 3000 -a 0.0.0.0 -l log/mongrel.log -P log/mongrel.pid -c c:/informer_rails -t 0 -r public -n 1024 # Logfile created on 10.09.2007 17:03:43 native/process.bas:44, fb.process.spawn: Spawn() init native/process.bas:50, fb.process.spawn: Success in AllocConsole() native/process.bas:105, fb.process.spawn: Creating child process with cmdline: ruby.exe c:\ruby\bin\mongrel_rails start -e development -p 3000 -a 0.0.0.0 -l log/mongrel.log -P log/mongrel.pid -c c:/informer_rails -t 0 -r public -n 1024 native/process.bas:121, fb.process.spawn: Closing handles. native/process.bas:136, fb.process.spawn: wait_code: 0 native/process.bas:147, fb.process.spawn: failed, the process terminate earlier. native/process.bas:156, fb.process.spawn: Spawn() done native/mongrel_service.bas:88, mongrel_service.single_oninit: single_onInit() done native/mongrel_service.bas:93, mongrel_service.single_onstart: single_onStart() native/mongrel_service.bas:101, mongrel_service.single_onstart: child process terminated!, re-spawning a new one native/process.bas:44, fb.process.spawn: Spawn() init native/process.bas:50, fb.process.spawn: Success in AllocConsole() native/process.bas:105, fb.process.spawn: Creating child process with cmdline: ruby.exe c:\ruby\bin\mongrel_rails start -e development -p 3000 -a 0.0.0.0 -l log/mongrel.log -P log/mongrel.pid -c c:/informer_rails -t 0 -r public -n 1024 native/process.bas:121, fb.process.spawn: Closing handles. native/process.bas:136, fb.process.spawn: wait_code: 0 native/process.bas:147, fb.process.spawn: failed, the process terminate earlier. native/process.bas:156, fb.process.spawn: Spawn() done native/mongrel_service.bas:101, mongrel_service.single_onstart: child process terminated!, re-spawning a new one native/process.bas:44, fb.process.spawn: Spawn() init native/process.bas:50, fb.process.spawn: Success in AllocConsole() native/process.bas:105, fb.process.spawn: Creating child process with cmdline: ruby.exe c:\ruby\bin\mongrel_rails start -e development -p 3000 -a 0.0.0.0 -l log/mongrel.log -P log/mongrel.pid -c c:/informer_rails -t 0 -r public -n 1024 native/process.bas:121, fb.process.spawn: Closing handles. native/process.bas:136, fb.process.spawn: wait_code: 0 native/process.bas:147, fb.process.spawn: failed, the process terminate earlier. native/process.bas:156, fb.process.spawn: Spawn() done
_______________________________________________ Mongrel-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/mongrel-users
