Hello Mike,

On 15 Jun 2011, at 20:24, Mike Judge wrote:

> Mod_passenger is failing with: uninitialized constant
> Rack::Session::Abstract::SessionHash.

The same issue has been driving mad all day today but I think I've finally 
cracked it. 

Are you by any chance using Ubuntu with passenger installed as a package? If 
so, you might notice a rack 1.1 Ubuntu package by doing 'dpkg -l |grep rack'.

You might ALSO notice that rack 1.1 and passenger are installed in 
'/usr/lib/ruby/1.8', that is to say alongside Ruby's StdLib, and not in 
GEM_HOME '/usr/lib/ruby/gems/1.8/gems/' which is where they should be.

What happens is that passenger correctly assumes that your Rails app is a 
normal Rack app, and proceeds to load config.ru using rack 1.1 that the Ruby 
interpreter loads during its startup alongside StdLib.

Rubygems however, reports to bundler that rack 1.3 is indeed available in 
GEM_HOME, because it is, and as such bundler doesn't complain about the fact 
that 1.1 is loaded but 1.3 is reported as available. 

Rails 3.1.rc4, BTW, requires rack 1.3, not master.

You can check which version of rack is reported in irb for the user you run 
passenger under...

  $ irb
  irb> require 'rubygems'; require 'rack'; Rack.release
  "1.3" 

I bet it doesn't say "1.3" in your case.

DISCLAIMER: 95% of my conclusion is a result of my investigation and subsequent 
solution of my problem. The remaining 5%, about how bundler and Rubygems get 
their knickers in a twist because of the Ubuntu packaging 'guidelines', is an 
extrapolation. I didn't spend any time with the debugger stepping through 
Bundler and Rubygems source; I am not that patient.

Finally, I know this issue is not Rails-core specific, but my reply might help 
other people who come upon this thread...

-christos

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.

Reply via email to