mperham / rack-fiber_pool

Rack middleware to execute each request in a Fiber
MIT License
244 stars 24 forks source link

Passenger compatibility #4

Closed fbjork closed 13 years ago

fbjork commented 13 years ago

Is it possible to get this to work with Passenger? We're using passenger in development for our projects and would like to stick if possible.

Here's the stack trace i'm getting with Passenger 3.0:

[ pid=1294 thr=0x7fff70f0bc00 file=ext/apache2/Hooks.cpp:816 time=2010-11-05 19:55:29.493 ]: The backend application (process 1383) did not send a valid HTTP response; instead, it sent nothing at all. It is possible that it has crashed; please check whether there are crashing bugs in this application. [ pid=1383 thr=2151906120 file=utils.rb:176 time=2010-11-05 19:55:29.493 ]: *\ Exception NoMethodError in application (undefined method call' for nil:NilClass) (process 1383, thread #<Thread:0x0000010086f690>): from /Users/fredrik/.rvm/gems/ruby-1.9.2-p0/gems/activesupport-3.0.1/lib/active_support/whiny_nil.rb:48:inmethod_missing' from /Users/fredrik/.rvm/gems/ruby-1.9.2-p0/gems/rack-fiber_pool-0.9.0/lib/rack/fiber_pool.rb:17:in block in call' from /Users/fredrik/.rvm/gems/ruby-1.9.2-p0/gems/rack-fiber_pool-0.9.0/lib/fiber_pool.rb:48:incall' from /Users/fredrik/.rvm/gems/ruby-1.9.2-p0/gems/rack-fiber_pool-0.9.0/lib/fiber_pool.rb:48:in block (3 levels) in initialize' from /Users/fredrik/.rvm/gems/ruby-1.9.2-p0/gems/rack-fiber_pool-0.9.0/lib/fiber_pool.rb:47:inloop' from /Users/fredrik/.rvm/gems/ruby-1.9.2-p0/gems/rack-fiber_pool-0.9.0/lib/fiber_pool.rb:47:in `block (2 levels) in initialize'

mperham commented 13 years ago

This is an issue on Passenger's side, not rack-fiber_pool's. Passenger needs to support the same async.callback object that Thin puts in the Rack request environment to signal the response is complete.