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

Reply via email to