Bug #4173

Puppet 2.6 master does not work with passenger 2.2.15

Added by Jeff McCune almost 2 years ago. Updated almost 2 years ago.

Status:Rejected Start date:07/07/2010
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:passenger
Target version:-
Affected Puppet version:0.25.5 Branch:
Keywords:
Votes: 0

Description

Overview: Passenger version 2.2.15 is the most recently released version at the time of this issue. When configured against the puppet 2.6 development master branch, an Exception is thrown in the request/response cycle.

Expected Behavior: A given puppet release should inter-operate with the most current available version of Passenger.

Actual Behavior: The imminent release of 2.6 does not work with the most current available version of Passenger.

Impact Data: Many member of the puppet community use the passenger module loaded into Apache or nginx. These community members are not able to upgrade passenger to take advantage of other bug fixes and security patches.

Detail:

The rack configuration file (config.ru) used is:

config.ru

$:.unshift(‘/opt/puppetlabs/facter/lib’) $:.unshift(‘/opt/puppetlabs/puppet/lib’) $0 = “puppetmasterd” require ‘puppet’ ARGV << “—rack” require ‘puppet/application/master’ run Puppet::Application[:master].run

The exception resulting from a connecting puppet agent is:

[Tue Jul 06 21:12:02 2010] [error] [client 192.168.100.148] Premature end of script headers: hyel.puppetlabs.lan

The backend application (process 1705) 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. *** Exception TypeError in PhusionPassenger::Rack::ApplicationSpawner (can’t convert Array into String) (process 1705):

    from /usr/lib/ruby/gems/1.8/gems/rack-1.2.1/lib/rack/utils.rb:138:in `union'
    from /usr/lib/ruby/gems/1.8/gems/rack-1.2.1/lib/rack/utils.rb:138
    from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
    from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from /usr/lib/ruby/gems/1.8/gems/rack-1.2.1/lib/rack/request.rb:1
    from /opt/puppetlabs/puppet/lib/puppet/network/http/rack.rb:35:in `call'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/request_handler.rb:92:in `process_request'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:120:in `run'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:65:in `spawn_application'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/utils.rb:252:in `safe_fork'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:58:in `spawn_application'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:41:in `spawn_application'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:150:in `spawn_application'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:278:in `handle_spawn_application'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `__send__'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/bin/passenger-spawn-server:61
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:41:in `spawn_application'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:150:in `spawn_application'  
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:278:in `handle_spawn_application'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `__send__'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
    from /usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/bin/passenger-spawn-server:61

This is related to other issues reported in the community:

  • http://groups.google.com/group/puppet-users/browse_thread/thread/1e008d536e8418d4

History

Updated by James Turnbull almost 2 years ago

  • Status changed from Unreviewed to Accepted
  • Target version set to 2.6.0
  • Affected Puppet version changed from development to 2.6alpha1

Updated by Markus Roberts almost 2 years ago

  • Status changed from Accepted to Rejected
  • Target version deleted (2.6.0)
  • Affected Puppet version changed from 2.6alpha1 to 0.25.5

This is a ruby / rack / passenger compatibility problem; there’s nothing we can reasonably do beyond endorsing the advice on the list, which is to use compatible versions.

Also available in: Atom PDF