neverblock
neverblock copied to clipboard
Error causing the thin to die when using with neverblock
Occasionally with a very low frequency (once every 2-3 months). The thin process die with following exception in Neverblock code
/usr/local/ruby/lib/ruby/gems/1.8/gems/neverblock-0.1.6.1/lib/never_block/pool/fiber_pool.rb:38:in `initialize': undefined method `call' for nil:NilClass (NoMethodError)
from /usr/local/ruby/lib/ruby/gems/1.8/gems/neverblock-0.1.6.1/lib/never_block/pool/fiber_pool.rb:37:in `loop'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/neverblock-0.1.6.1/lib/never_block/pool/fiber_pool.rb:37:in `initialize'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/neverblock-0.1.6.1/lib/never_block.rb:19:in `initialize'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/neverblock-0.1.6.1/lib/never_block.rb:19:in `new'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/neverblock-0.1.6.1/lib/never_block.rb:19:in `initialize'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/neverblock-0.1.6.1/lib/never_block/pool/fiber_pool.rb:36:in `new'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/neverblock-0.1.6.1/lib/never_block/pool/fiber_pool.rb:36:in `initialize'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/neverblock-0.1.6.1/lib/never_block/pool/fiber_pool.rb:35:in `times'
... 12 levels...
from /usr/local/ruby/lib/ruby/gems/1.8/gems/thin-1.0.0/lib/thin/runner.rb:139:in `run!'
from /usr/local/ruby/lib/ruby/gems/1.8/gems/thin-1.0.0/bin/thin:6
from /usr/local/ruby/lib/ruby/gems/1.8/bin/thin:19:in `load'
from /usr/local/ruby/lib/ruby/gems/1.8/bin/thin:19
>> Exiting!
Apparently, a fiber was resumed in the wrong place, is this code using the Neverblock socket features?