[Pkg-puppet-devel] Bug#594559: puppet master: downloaded plugins have zero size when using passenger

Sergio Gelato Sergio.Gelato at astro.su.se
Fri Aug 27 07:23:03 UTC 2010


Package: puppetmaster
Version: 2.6.0-2
Severity: important
Tags: patch fixed-upstream

When running puppet master under passenger, any plugins downloaded
through the pluginsync mechanism end up as zero-byte files on the client.

The server-side logs contain the following error and stack trace:

[Thu Aug 26 12:34:49 2010] [error] [client 192.168.166.90] Premature end of script headers: augeasversion.rb
[ pid=25898 file=ext/apache2/Hooks.cpp:713 time=2010-08-26 12:34:49.265 ]:
  The backend application (process 1295) 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 219:Fixnum) (process 1295):
        from /usr/lib/ruby/1.8/phusion_passenger/rack/request_handler.rb:100:in `process_request'
        from /usr/lib/ruby/1.8/phusion_passenger/rack/request_handler.rb:96:in `each'
        from /usr/lib/ruby/1.8/phusion_passenger/rack/request_handler.rb:96:in `process_request'
        from /usr/lib/ruby/1.8/phusion_passenger/abstract_request_handler.rb:207:in `main_loop'
        from /usr/lib/ruby/1.8/phusion_passenger/rack/application_spawner.rb:118:in `run'
        from /usr/lib/ruby/1.8/phusion_passenger/rack/application_spawner.rb:65:in `spawn_application'
        from /usr/lib/ruby/1.8/phusion_passenger/utils.rb:184:in `safe_fork'
        from /usr/lib/ruby/1.8/phusion_passenger/rack/application_spawner.rb:58:in `spawn_application'
        from /usr/lib/ruby/1.8/phusion_passenger/rack/application_spawner.rb:41:in `spawn_application'
        from /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:159:in `spawn_application'
        from /usr/lib/ruby/1.8/phusion_passenger/spawn_manager.rb:287:in `handle_spawn_application'
        from /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:352:in `__send__'
        from /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:352:in `main_loop'
        from /usr/lib/ruby/1.8/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
        from /usr/lib/phusion_passenger/passenger-spawn-server:61

After investigation, I found that the problem was recently fixed upstream:
http://github.com/reductivelabs/puppet/commit/8e31b528e139a2940d6932ab80375bb5eebfbe29

I independently came up with the exact same fix, which does solve the
problem in my environment. Cherrypicking this change is trivial, so I
warmly recommend it for inclusion in Debian squeeze.





More information about the Pkg-puppet-devel mailing list