Mike Judge
2011-Jun-15 18:24 UTC
3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
Mod_passenger is failing with: uninitialized constant Rack::Session::Abstract::SessionHash. A few blog entries report that adding edge rack fixes this (on past pre-releases of rails 3.1), but doesn''t seem to be working for me. My Project Gemfile: source ''http://rubygems.org'' gem ''rails'', ''3.1.0.rc4'' # Supposedly, if you''re running edge or pre-release rails, # you have to include edge rack: http://ruby.ryanbigg.com/post/2105213615/uninitialized-constant gem "rack", :git => "git://github.com/rack/rack.git" [snip] This is a brand new project. We''re using the latest passenger-common package on ubuntu paired with nginx. I also tried loading rack 1.3.0 instead of edge rack, but that didn''t make a difference. Neither did loading rack before rails. -- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
mumf83
2011-Jun-16 14:34 UTC
Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
Am getting this problem as well and tried what you''ve done, which also didn''t work. Have you managed to get this working yet? On Jun 15, 7:24 pm, Mike Judge <mikelovesrob...@gmail.com> wrote:> Mod_passenger is failing with: uninitialized constant > Rack::Session::Abstract::SessionHash. A few blog entries report that > adding edge rack fixes this (on past pre-releases of rails 3.1), but > doesn''t seem to be working for me. > > My Project Gemfile: > > source ''http://rubygems.org'' > > gem ''rails'', ''3.1.0.rc4'' > > # Supposedly, if you''re running edge or pre-release rails, > # you have to include edge rack:http://ruby.ryanbigg.com/post/2105213615/uninitialized-constant > gem "rack", :git => "git://github.com/rack/rack.git" > > [snip] > > This is a brand new project. We''re using the latest passenger-common > package on ubuntu paired with nginx. > > I also tried loading rack 1.3.0 instead of edge rack, but that didn''t > make a difference. Neither did loading rack before rails.-- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
Mike Judge
2011-Jun-16 16:28 UTC
Re: Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
No, unfortunately. I killed the project and started up a 3.0.8 stable one instead. It''s running fine on the same server. On Thu, Jun 16, 2011 at 7:34 AM, mumf83 <peter@petermumford.com> wrote:> Am getting this problem as well and tried what you''ve done, which also > didn''t work. > > Have you managed to get this working yet? > > > On Jun 15, 7:24 pm, Mike Judge <mikelovesrob...@gmail.com> wrote: > > Mod_passenger is failing with: uninitialized constant > > Rack::Session::Abstract::SessionHash. A few blog entries report that > > adding edge rack fixes this (on past pre-releases of rails 3.1), but > > doesn''t seem to be working for me. > > > > My Project Gemfile: > > > > source ''http://rubygems.org'' > > > > gem ''rails'', ''3.1.0.rc4'' > > > > # Supposedly, if you''re running edge or pre-release rails, > > # you have to include edge rack: > http://ruby.ryanbigg.com/post/2105213615/uninitialized-constant > > gem "rack", :git => "git://github.com/rack/rack.git" > > > > [snip] > > > > This is a brand new project. We''re using the latest passenger-common > > package on ubuntu paired with nginx. > > > > I also tried loading rack 1.3.0 instead of edge rack, but that didn''t > > make a difference. Neither did loading rack before rails. > > -- > 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 rubyonrails-core@googlegroups.com. > To unsubscribe from this group, send email to > rubyonrails-core+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-core?hl=en. > >-- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
Christos Zisopoulos
2011-Jun-16 22:17 UTC
Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
Ryan Bigg
2011-Jun-16 23:44 UTC
Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
This, kids, is why you never ever ever ever ever ever EVER rely on Ubuntu to not somehow fuck up your Ruby experience. Please use RVM to install and manage your Ruby things, not Ubuntu''s broken package manager. http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/ On 17/06/2011, at 8:17, Christos Zisopoulos <christos@me.com> wrote:> 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 rubyonrails-core@googlegroups.com. > To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en. >-- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
Mike Judge
2011-Jun-17 00:18 UTC
Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
Hey Christos, Thanks for your time and effort. You''re absolutely right. I didn''t realize a packaged version of rack was installed on the server. require ''rubygems''; require ''rack''; Rack.release => "1.1" - Mike On Thu, Jun 16, 2011 at 3:17 PM, Christos Zisopoulos <christos@me.com>wrote:> 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 rubyonrails-core@googlegroups.com. > To unsubscribe from this group, send email to > rubyonrails-core+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-core?hl=en. > >-- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
kristian
2011-Jun-17 03:19 UTC
Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
IMO never ever I would use RVM on a ubuntu server eveything should come through the ubuntu package manager (broken or not) including security updates. and I run ruby on ubuntu happily without RVM after I found out how to avoid ''sudo'' with bundler. - Kristian On Fri, Jun 17, 2011 at 5:14 AM, Ryan Bigg <radarlistener@gmail.com> wrote:> This, kids, is why you never ever ever ever ever ever EVER rely on Ubuntu to not somehow fuck up your Ruby experience. > > Please use RVM to install and manage your Ruby things, not Ubuntu''s broken package manager. > > http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/ > > > > On 17/06/2011, at 8:17, Christos Zisopoulos <christos@me.com> wrote: > >> 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 rubyonrails-core@googlegroups.com. >> To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. >> For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en. >> > > -- > 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 rubyonrails-core@googlegroups.com. > To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en. > >-- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
Ben Mills
2011-Jun-17 04:33 UTC
Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
Please explain why you wouldn''t use RVM on an Ubuntu server. Package managers in general have proven unreliable for being in charge of any Ruby. They''re often out of date and thus lack many of the released fixes (security or otherwise) and, as was mentioned before, they almost always have busted dependencies. On Jun 16, 2011, at 9:19 PM, kristian wrote:> IMO never ever I would use RVM on a ubuntu server eveything should > come through the ubuntu package manager (broken or not) including > security updates. > > and I run ruby on ubuntu happily without RVM after I found out how to > avoid ''sudo'' with bundler. > > - Kristian > > > On Fri, Jun 17, 2011 at 5:14 AM, Ryan Bigg <radarlistener@gmail.com> wrote: >> This, kids, is why you never ever ever ever ever ever EVER rely on Ubuntu to not somehow fuck up your Ruby experience. >> >> Please use RVM to install and manage your Ruby things, not Ubuntu''s broken package manager. >> >> http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/ >> >> >> >> On 17/06/2011, at 8:17, Christos Zisopoulos <christos@me.com> wrote: >> >>> 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 rubyonrails-core@googlegroups.com. >>> To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. >>> For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en. >>> >> >> -- >> 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 rubyonrails-core@googlegroups.com. >> To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. >> For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en. >> >> > > -- > 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 rubyonrails-core@googlegroups.com. > To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en. >-- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
kristian
2011-Jun-17 05:04 UTC
Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
let''s start somewhere: on a ubuntu server I would setup a daily security update with APT - so I do not need to worry too much about security on the ubuntu site. next you should get some idea when a security update needs a reboot, i.e. being on the mailing list of ubuntu security should help here. ad RVM: I just would not know how to use RVM with mod_passenger and alike. normal rubygems which are needed by the application like rails, you bundle them anyways. the remaining part is ruby itself and maybe the the rack gem which comes with passenger (to stay with the example of that thread). so then RVM is needed only for ruby and ONE gem. RVM does NOT come via APT - and thus it is a package I need to monitor for "security" manually. so in short for server level APT is responsible for a updated and secure system and for the application it is the basically "bundler" and the developer. personally I use jruby a lot and run my application on jetty. there I have exactly the same distinction between server and application. in that case there is really no space for RVM: a war file bundles jruby itself or I install jruby on the servlet engine for the whole war container. my point of view is also influenced by a setup of a school I helped two years back: * ldap posix authentication * nfs fileserver for the home directory the only software which was allowed there came through APT because we needed to install that software on all ~50 workstations. the usual mantra I read over and over in the web "sudo gem install XZY" does not work here. even if the admin did it on one machine, the next day you used another machine where the gem was not install. bundler was annoying until I found a config where it install is it nicely like "gem install --user-install XYZ" in user space. sreading ubuntu package system is broken - that is a strong statement. I would say ubuntu package system is not compatible with "rubygems package system" and therefore there are interferences in both directions. hope that gives some inside into my state of mind ;-) - Kristian On Fri, Jun 17, 2011 at 10:03 AM, Ben Mills <ben@unfiniti.com> wrote:> Please explain why you wouldn''t use RVM on an Ubuntu server. > > Package managers in general have proven unreliable for being in charge of any Ruby. They''re often out of date and thus lack many of the released fixes (security or otherwise) and, as was mentioned before, they almost always have busted dependencies. > > > > > On Jun 16, 2011, at 9:19 PM, kristian wrote: > >> IMO never ever I would use RVM on a ubuntu server eveything should >> come through the ubuntu package manager (broken or not) including >> security updates. >> >> and I run ruby on ubuntu happily without RVM after I found out how to >> avoid ''sudo'' with bundler. >> >> - Kristian >> >> >> On Fri, Jun 17, 2011 at 5:14 AM, Ryan Bigg <radarlistener@gmail.com> wrote: >>> This, kids, is why you never ever ever ever ever ever EVER rely on Ubuntu to not somehow fuck up your Ruby experience. >>> >>> Please use RVM to install and manage your Ruby things, not Ubuntu''s broken package manager. >>> >>> http://ryanbigg.com/2010/12/ubuntu-ruby-rvm-rails-and-you/ >>> >>> >>> >>> On 17/06/2011, at 8:17, Christos Zisopoulos <christos@me.com> wrote: >>> >>>> 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 rubyonrails-core@googlegroups.com. >>>> To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. >>>> For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en. >>>> >>> >>> -- >>> 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 rubyonrails-core@googlegroups.com. >>> To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. >>> For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en. >>> >>> >> >> -- >> 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 rubyonrails-core@googlegroups.com. >> To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. >> For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en. >> > > -- > 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 rubyonrails-core@googlegroups.com. > To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en. > >-- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
JAZ
2011-Jun-17 07:06 UTC
Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
On Fri, Jun 17, 2011 at 6:04 AM, kristian <m.kristian@web.de> wrote:> ad RVM: > I just would not know how to use RVM with mod_passenger and alike.That is simple. I can help if something is not clear. Thanks to RVM you can have isolated Ruby versions and even gem sets inside the same Ruby version. For instance I have to use Ruby 1.8 for one old application and 1.9.2 for new ones. Because Passenger still does not work with many different Ruby interpreters (but it will!) I use proxy from Nginx to standalone Passenger 3 server which works in isolated environment (Ruby Enterprise + Rails 2.x gem set). I do not even waste any TCP port because Nginx can use unix proxy to standalone Passenger 3 server. For others Ruby/Rack applications I use Nginx with embed Passenger. Thanks to RVM I have isolated Ruby environments and access to the latest Ruby version. You cannot do this with Linux package system.> normal rubygems which are needed by the application like rails, you > bundle them anyways.This is only when you use just one Rails and Ruby version. What if your codebase grows and you would like to use newer Ruby? You can''t, if you upgrade some old staff may stop working.> the remaining part is ruby itself and maybe the the rack gem which > comes with passenger (to stay with the example of that thread). so > then RVM is needed only for ruby and ONE gem.As I said. RVM is not for one Ruby. It is for many ones. I sue RVM for Ruby 1.9.2, REE and JRuby. Three different and isolated environments. And Inside 1.9.2 I have two gem sets, one for standard Rails 3.x and another one for Rails 3.1 beta. And thanks to RVM I can be sure that I can switch from one to another without any mess in gems and dependencies.> RVM does NOT come via APT - and thus it is a package I need to monitor > for "security" manually.And this is good. Debian packages are (usually) old and permanently out of date. I want to access to the latest RVM and latest Rubies. So, shortly, why RVM? 1) Isolated environments for any Ruby implementation (Ruby 1.8, 1.9, REE, JRuby, MagLev etc) 2) Isolated gem sets inside the same Ruby environment 3) The latest Ruby versions -- JZ -- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
mumf83
2011-Jun-17 10:01 UTC
Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
Hey Christos, Can you explain what we need to do to are application to get it working with rack 1.3? Mine is also saying 1.1 when I check the version of rack via irb. On Jun 16, 11:17 pm, Christos Zisopoulos <chris...@me.com> wrote:> 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
Rodrigo Rosenfeld Rosas
2011-Jun-17 10:24 UTC
Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
Honestly, I always see Ubuntu Server as a joke. I imagine it like "Windows XP Server"... You should really be using Debian as a server, since Ubuntu is not reliable enough for a server anyway (I know by bad experience on Ubuntu servers in Locaweb)... Em 17-06-2011 00:19, kristian escreveu:> IMO never ever I would use RVM on a ubuntu server eveything should > come through the ubuntu package manager (broken or not) including > security updates. > > and I run ruby on ubuntu happily without RVM after I found out how to > avoid ''sudo'' with bundler. > > - Kristian-- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
kristian
2011-Jun-17 12:10 UTC
Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
if I have the choice I would use debian as well. but I had a few observations - heroku runs http://devcenter.heroku.com/articles/stack debian (or ubuntu) with one or two (ree-1.8.7 + mri-1.92). for such a setup you just do not need RVM, the separation between those ruby''s I get from ruby itself: $HOME/.gem ├── jruby │ ├── 1.8 │ └── 1.9 ├── ruby ├── 1.8 └── 1.9.2 so unless you use ruby-edge on a production server then ruby from the OS should do. the actual problem with both debian and ubuntu is rubygems, just recently the one I had from ubuntu stopped working due to some updates on the rubygems.org server :-( since RVM manage rubygems as well this is definitely a plus for it. I wondered if you can really run mod_apache on apache with jruby - I appreciate any pointers to a howto for such a setup !!!! anyways with jruby you put the java world into the round: how does RVM handles the different JVMs (from ibm, sun, openjdk, jrocket) and its different versions ? - Kristian PS just a thought: never is never right. always is always wrong On Fri, Jun 17, 2011 at 3:54 PM, Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com> wrote:> Honestly, I always see Ubuntu Server as a joke. I imagine it like "Windows > XP Server"... You should really be using Debian as a server, since Ubuntu is > not reliable enough for a server anyway (I know by bad experience on Ubuntu > servers in Locaweb)... > > Em 17-06-2011 00:19, kristian escreveu: >> >> IMO never ever I would use RVM on a ubuntu server eveything should >> come through the ubuntu package manager (broken or not) including >> security updates. >> >> and I run ruby on ubuntu happily without RVM after I found out how to >> avoid ''sudo'' with bundler. >> >> - Kristian > > -- > 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 rubyonrails-core@googlegroups.com. > To unsubscribe from this group, send email to > rubyonrails-core+unsubscribe@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/rubyonrails-core?hl=en. > >-- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
Rodrigo Rosenfeld Rosas
2011-Jun-17 13:44 UTC
Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
Hi Kristian, First, I''m not sure if this is the correct list to discuss this issue... Then, I would advise you to take a look at these instructions I used to set up Gitorious using Debian (or Ubuntu) packaged Ruby using Opscode Chef: https://github.com/rosenfeld/gitorious-cookbooks You should avoid installing rubygems from apt and use "tar zxf" instead for installing it. Than you can choose which Rubygems version you prefer to work with. Hope that helps, Rodrigo. Em 17-06-2011 09:10, kristian escreveu:> if I have the choice I would use debian as well. > > but I had a few observations - heroku runs > http://devcenter.heroku.com/articles/stack debian (or ubuntu) with one > or two (ree-1.8.7 + mri-1.92). > > for such a setup you just do not need RVM, the separation between > those ruby''s I get from ruby itself: > > $HOME/.gem > ├── jruby > │ ├── 1.8 > │ └── 1.9 > ├── ruby > ├── 1.8 > └── 1.9.2 > > so unless you use ruby-edge on a production server then ruby from the > OS should do. > > the actual problem with both debian and ubuntu is rubygems, just > recently the one I had from ubuntu stopped working due to some updates > on the rubygems.org server :-( > > since RVM manage rubygems as well this is definitely a plus for it. > > I wondered if you can really run mod_apache on apache with jruby - I > appreciate any pointers to a howto for such a setup !!!! > > anyways with jruby you put the java world into the round: how does RVM > handles the different JVMs (from ibm, sun, openjdk, jrocket) and its > different versions ? > > - Kristian > > PS just a thought: > never is never right. always is always wrong > > On Fri, Jun 17, 2011 at 3:54 PM, Rodrigo Rosenfeld Rosas > <rr.rosas@gmail.com> wrote: >> Honestly, I always see Ubuntu Server as a joke. I imagine it like "Windows >> XP Server"... You should really be using Debian as a server, since Ubuntu is >> not reliable enough for a server anyway (I know by bad experience on Ubuntu >> servers in Locaweb)... >> >> Em 17-06-2011 00:19, kristian escreveu: >>> IMO never ever I would use RVM on a ubuntu server eveything should >>> come through the ubuntu package manager (broken or not) including >>> security updates. >>> >>> and I run ruby on ubuntu happily without RVM after I found out how to >>> avoid ''sudo'' with bundler. >>> >>> - Kristian >>-- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.
Christos Zisopoulos
2011-Jun-17 16:11 UTC
Re: Re: 3.1.0rc4 - Uninitialized constant Rack::Session::Abstract::SessionHash
Basically you need to uninstall mod-passenger an librack-ruby using apt. I did: apt-get remove --purge librack-ruby apt-get remove --purge libapache2-mod-passenger ...and ignored any warnings about dependacies. Then, I installed mod-passenger as a ruby gem: gem install passenger Your milage may vary, but this is what got me back to a ''healthy'' ubuntu installation. -christos On 17 Jun 2011, at 12:01, mumf83 wrote:> Hey Christos, > > Can you explain what we need to do to are application to get it > working with rack 1.3? Mine is also saying 1.1 when I check the > version of rack via irb. > > On Jun 16, 11:17 pm, Christos Zisopoulos <chris...@me.com> wrote: >> 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 rubyonrails-core@googlegroups.com. > To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en. >-- 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 rubyonrails-core@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-core+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-core?hl=en.