[Mongrel] Spinning mongrels and SIGUSR1

Ian C. Blenke ian at blenke.com
Wed Sep 20 18:26:23 EDT 2006

First off: Our clusters are LVS balanced Apache 2.2.3 + 
mod_proxy_balancer + gem mongrel / mongrel_cluster 0.2 + 
memcached / gem memcache_client + gem rails 1.1.6 on debian boxen, and a 
pgcluster backend.

On 2 of our deployed clusters, we are getting the "spinning mongrel" 
problem. As the clusters are very low volume right now, it takes days to 
collect a spinner, making it difficult to debug what the problem might be.

 From what I've been following on the list, the appropriate next 
debugging step is to send a SIGUSR1 signal to the spinning mongrel to 
get it to spit out what it thinks it is currently running.

All we get from this is the following:

`join': SIGUSR1 (SignalException)
from /usr/lib/ruby/gems/1.8/gems/mongrel- 
from /usr/lib/ruby/gems/1.8/gems/mongrel- 
/usr/lib/ruby/gems/1.8/gems/mongrel- `run'
from /usr/lib/ruby/gems/1.8/gems/mongrel-
from /usr/bin/mongrel_rails:18

And this is only when a mongrel responds to the SIGUSR1 signal. The same 
output everytime. About 10-20% of the time, a mongrel process won't 
respond to SIGUSR1, SIGHUP, or anything other than a SIGKILL.

In either case, what should my next step be?

The current plan is to run mongrel in debugging mode and beat the hell 
out of it, hoping to trigger the spinning response.

After (during?) this, I guess I'll strace / gdb it to death.

Any other suggestions?

- Ian C. Blenke <ian at blenke.com> http://ian.blenke.com/

More information about the Mongrel-users mailing list