Michael Guterl <[email protected]> wrote: > Our Rails app has started raising exceptions (caught by hoptoad > thankfully) and I can only imagine they're related to unicorn. I only > *think* the errors are occurring on the request after we deploy, which > upgrades the Unicorn process. I say this because the errors are > coming from many different actions, but I haven't been able to > reproduce. > > After the most recent batch of errors, I upgraded from 0.95.1 to > 0.95.3, but we have not deployed again. > > ThreadError: stopping only thread note: use sleep to stop forever > > /usr/local/lib/ruby/1.8/monitor.rb:285:in `stop' > > /usr/local/lib/ruby/1.8/monitor.rb:285:in `mon_acquire' > > /usr/local/lib/ruby/1.8/monitor.rb:214:in `mon_enter' > > /usr/local/lib/ruby/1.8/monitor.rb:240:in `synchronize' > > /usr/local/lib/ruby/1.8/logger.rb:496:in `write' > > /usr/local/lib/ruby/1.8/logger.rb:326:in `add' > > /usr/local/lib/ruby/1.8/logger.rb:374:in `info' > > /home/deploy/public_html/rm/releases/20100107153636/vendor/plugins/newrelic_rpm/lib/new_relic/agent/agent.rb:46:in > `ensure_worker_thread_started'
Hi Michael, It looks like there's a background thread with the NewRelic plugin... With "preload_app true", then any threads spawned in the master will die in workers. This is true for Ruby 1.8 green threads by design. With 1.9, it's not even to share native POSIX threads between processes. So in your after_fork hook, you need to restart threads inside each worker. -- Eric Wong _______________________________________________ Unicorn mailing list - [email protected] http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying
