[Mongrel] Monrel Woes on Solaris x86

Steven Hansen runner at berkeley.edu
Thu Nov 16 16:11:01 EST 2006


I need some help... please be gentle :-)

Solaris-X86, ruby-1.8.4, Apache-2.2.0, Mongrel-, MySql-4.1.10a

I am using the typical setup with apache proxying request to mongrel
with mod_proxy_balancer. Currently, I am only running a single
instance of mongrel behind the proxy.

I am also using the following gems with this app:
capistrano (1.2.0)
daemons (1.0.2)
gem_plugin (0.2.1)
mongrel (,
mysql (2.7)
needle (1.3.0)
rails (1.1.6)
ruby-net-ldap (0.0.4)

NOTE: My MySql server is running on a different machine than Mongrel.

The problem, is that after a period of inactivity Mongrel just stops 
I believe the problem has to do with MySql as mentioned in the FAQ.  
I've confirmed
this--I think--by creating a dummy app that doesn't use MySql for any of 
the page
requests. In this instance, after long periods of inactivity Mongrel 
works without any

1) After 20 minutes of inactivity, I try to load the page in the 
browser.  The browser
just hangs and eventually times out.  I then ssh'd to the machine and 
did a (curl localhost:50042),
mongrel does not respond. I can see that mongrel is still running if I 
to a (ps -A).
Running (top) shows that mongrel is consuming around 34M of memory and 
using no .01% CPU.
I'm running mongrel in development mode, yet no entries are making it to 
I'm also running mongrel in debug_mode and no entries are being added to 
any of the
log files in the mongrel_debug directory.

BTW, I am running mongrel on port 50042 because this is the port I've 
been given permission to
run Mongrel on.

2) After hitting mongrel with a bunch of (curl locahost:50042) calls, I did
(lsof -i -P | grep CLOSE_WAIT) and here is the output:

mongrel_r  5522     agile    6u  IPv4 0xffffffffa02b8e00      0t617  TCP 
localhost:50042->localhost:51299 (CLOSE_WAIT)
curl      20784     agile    4u  IPv4 0xffffffffb1083200        0t0  TCP 
webfarm-dev.Berkeley.EDU:51330->webfarm-dev.Berkeley.EDU:80 (CLOSE_WAIT)
curl      20785     agile    4u  IPv4 0xffffffffb9477a00        0t0  TCP 
webfarm-dev.Berkeley.EDU:51333->webfarm-dev.Berkeley.EDU:80 (CLOSE_WAIT)
curl      20788     agile    4u  IPv4 0xffffffffb1025c00        0t0  TCP 
webfarm-dev.Berkeley.EDU:51339->webfarm-dev.Berkeley.EDU:80 (CLOSE_WAIT)
curl      20798     agile    4u  IPv4 0xffffffffa02b9a00        0t0  TCP 
webfarm-dev.Berkeley.EDU:51345->webfarm-dev.Berkeley.EDU:80 (CLOSE_WAIT)
curl      20799     agile    4u  IPv4 0xffffffffb945be00        0t0  TCP 
webfarm-dev.Berkeley.EDU:51348->webfarm-dev.Berkeley.EDU:80 (CLOSE_WAIT)
curl      20805     agile    4u  IPv4 0xffffffffb0d7ae00        0t0  TCP 
webfarm-dev.Berkeley.EDU:51357->webfarm-dev.Berkeley.EDU:80 (CLOSE_WAIT)

NOTE: I do not have access to the root account, my user name is 
"agile".  I'm not even sure what (lsof)
is telling me here, so if someone could give me a hint, or point me to a 
url with a good overview, that
would be killer.

3) After checking the logs (which show nothing) and running (lsof) I 
tried to shut mongrel down with
(mongrel_rails mongrel::stop -p pids/mongrel.pid

I get the response "Sending TERM to Mongrel at PID 5522...Done."  
However, when I check the log directory
the mongrel.pid file is still there and (ps -A) verifies that mongrel is 
still running.  I called the
shutdown method 4 more times and on the 4th try mongrel finally stops.  
I then checked the monrel.log
file and found the following:

"Thu Nov 16 09:21:00 PST 2006: Reaping 1 threads for slow workers 
because of 'shutdown'
 Thread #<Thread:0x8d54f50 run> is too old, killing.
 Waiting for 1 requests to finish, could take 60 seconds."

4) I tried adding "ActiveRecord::Base.verification_timeout = "14400" to 
my rails
environment.rb file, as per the FAQ, this had no effect.

I'm not really sure where to go from here.  Like I said, I have a strong 
suspicion that MySql
is the culprit, but I'm not sure how to fix the problem.  If anyone 
could give me some advice
on what to try next, I would really appreciate it.


More information about the Mongrel-users mailing list