Ticket #18 (closed bug: fixed)

Opened 5 months ago

Last modified 3 weeks ago

mongrel_service failing to kill mongrel process when stopping

Reported by: evanweaver Assigned to: luislavena
Priority: minor Milestone: 1.2
Component: MongrelService Keywords:
Cc:

Description

We've noticed that on our Win32 (XP) Continuous Integration box, the mongrel_service occasionally fails to kill the ruby.exe process when it shuts down. The initial error we see is: "Error in my_thread_global_end(): 1 threads didn't exit" The service itself does stop, but leaves the ruby.exe process running.

Once this has happened, subsequent net start/stop requests can throw the following error (although not always): "System error 1067 has occurred" and the serviced may report a 'did not start' error, however the application is still being served from the old ruby.exe process and so tests run (although the application remains at the previously loaded version).

There are some posts in the PHP forums suggesting that this is a MySql? driver issue, (we are using MySql? 5.0.45). But I thought it might be worth posting here in case there is a timing problem in the way in which the mongrel_service shuts down the mongrel.

Forgive me if this is not well phrased, I'm personally not very familiar with Ruby or Mongrel.

Change History

(follow-up: ↓ 2 ) 03/19/08 07:49:12 changed by neongrau

i'm having the same issue on a 2003 server but there is no mysql involved. the box is running with a mssql database.

currently i'm digging through logs to try and find the problem.

only thing i was able to find was some out-of-memory error caused by the ferret gem. which looks like a perfect candidate as a cause for this problem.

(in reply to: ↑ 1 ) 03/19/08 09:15:03 changed by luislavena

  • status changed from new to assigned.

Replying to neongrau:

i'm having the same issue on a 2003 server but there is no mysql involved. the box is running with a mssql database. currently i'm digging through logs to try and find the problem. only thing i was able to find was some out-of-memory error caused by the ferret gem. which looks like a perfect candidate as a cause for this problem.

Thank you for the information!

As I confirmed a few weeks back, the main issue with this are the stalled connection Ruby interpreter left open.

The mongrel_service executable is trying to close it and failed in the wait process.

I'll test a few more scenarios now this this information and hope fix came with a fix soon :-)

Thank you again.

05/22/08 01:02:19 changed by evanweaver

  • status changed from assigned to closed.
  • resolution set to wontfix.

05/22/08 01:08:21 changed by luislavena

  • status changed from closed to reopened.
  • resolution deleted.

Actually this was fixed in stable_1-2 a few weeks back (r1012).

05/22/08 01:08:46 changed by luislavena

  • status changed from reopened to closed.
  • resolution set to fixed.

Fixed in r1012.