Bug #4478
Passenger file serving broken with 2.6
| Status: | Closed | Start date: | 08/05/2010 | |
|---|---|---|---|---|
| Priority: | High | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | fileserving | |||
| Target version: | 2.6.1 | |||
| Affected Puppet version: | 2.6.1rc1 | Branch: | http://github.com/masterzen/puppet/tree/tickets/2.6.x/4478 | |
| Keywords: | ||||
| Votes: | 0 |
Description
Several passenger users reported that some version (including 2.2.15) were crashing while serving streamed files in 2.6 with the following stack trace:
[Thu Jul 29 18:03:00 2010] [error] [client 136.168.1.4] Premature end of script headers: preamble
[ pid=28460 file=ext/apache2/Hooks.cpp:735 time=2010-07-29 18:03:00.77 ]:
The backend application (process 30417) didn't send a valid HTTP response. It might have crashed during the middle of sending an HTTP response, so please check whether there are crashing problems in your application. This is the data that it sent: [Content-Type]
*** Exception NoMethodError in PhusionPassenger::Rack::ApplicationSpawner (undefined method `each' for 3238:Fixnum) (process 30417):
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/request_handler.rb:100:in `process_request'
from /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/utils.rb:278:in `each'
from /usr/local/lib/ruby/gems/1.8/gems/rack-1.1.0/lib/rack/utils.rb:277:in `each'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/request_handler.rb:96:in `process_request'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:120:in `run'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:65:in `spawn_application'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/utils.rb:252:in `safe_fork'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:58:in `spawn_application'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:41:in `spawn_application'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:150:in `spawn_application'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:278:in `handle_spawn_application'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `__send__'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
from /usr/local/lib/ruby/gems/1.8/gems/passenger-2.2.15/bin/passenger-spawn-server:61
The issue is that passenger needs http header values to be strings, but we send the Content-Length as an int.
Related issues
History
Updated by Brice Figureau almost 2 years ago
- Branch set to http://github.com/masterzen/puppet/tree/tickets/2.6.x/4478
Patch confirmed to fix* the problem available at: http://github.com/masterzen/puppet/tree/tickets/2.6.x/4478
http://projects.reductivelabs.com/issues/4319#note-11
Updated by Markus Roberts almost 2 years ago
- Status changed from In Topic Branch Pending Review to Closed
commit:8e31b528e139a2940d6932ab80375bb5eebfbe29 Passenger needs HTTP headers values to be string