[Mongrel] Mongrel .pids disappearing?
runner at berkeley.edu
Wed Sep 3 19:47:20 EDT 2008
I've been experiencing this exact same problem for months. Still
haven't figured out what the cause is.
I'm on solaris 10 x86
Christopher Opena wrote:
> Hello everyone, new to the list :)
> Strange problem with Mongrels that we're having in a few cases...the
> Mongrels start up fine, but as part of a long Capistrano deploy +
> database we will normally cycle them - normally no issues there. In
> those edge cases, we've seen that the mongrel .pids have just up and
> disappeared while running, so when shutting them down we get the error
> message that the .pids do not exist. Normally not a problem, except
> that when restarting them (and thereby needing to create a new pid),
> the log comes back with the error message:
> ** Daemonized, any open files are closed. Look at log/mongrel.4102.pid
> and log/mongrel.4102.log for info.
> ** Starting Mongrel listening at 127.0.0.1:4102 <http://127.0.0.1:9002/>
> `initialize_without_backlog': Address already in use - bind(2)
> Logging into the server over ssh and executing 'sudo /usr/sbin/lsof
> -i:4102' reveals that indeed a mongrel process is running without a
> .pid. From what I can see there is no log rotation, cron job, or
> similar activity on the box that would be deleting the pids. In fact,
> some of the 6 .pids are there while others are not. The pattern also
> changes with regard to which ones are missing, which is mildly
> Box is CentOS 5.1 if that helps. I also noted that someone was having
> this issue before and was cured by running the MySQL gem after seeing
> MySQL connections going stale / dying on their server, but we're
> already running the MySQL gem and are not seeing those errors in the
> Mongrel log.
> In fact, looking at the last successful start just before the error
> shown above, there are no other errors. In other words, Mongrel
> starts up daemonized without an issue or any errors in the log, and
> then some time later (in this case, 2 weeks), trying to stop them
> generates a nonexistent .pid error. The subsequent start attempt
> generates the 'Address already in use' message, which forces us to log
> in and actually kill the processes before we can start up again.
> Processes without .pids don't seem to be using more or less memory
> than usual.
> We are stopping and starting the mongrels with the following bash script:
> mongrel_rails cluster::start -C $MONGREL_CONF
> mongrel_rails cluster::stop -C $MONGREL_CONF
> Mongrel version is 1.0.1 (as described above), and MySQL gem is 2.7.
> Has anyone seen a similar issue, and if so did you figure out the root
> cause? I'm a bit at a loss with the mongrel logs not giving any
> information nor the system giving any inidication that it deleted the
> .pid files. Any help is greatly appreciated.
> Mongrel-users mailing list
> Mongrel-users at rubyforge.org
More information about the Mongrel-users