nathan.mealey-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
2007-Nov-29 18:04 UTC
Sessions Not Working In Production Mode
I am completely stumped by this problem, and would welcome any suggestions people could provide. My application uses active-record-based sessions. In development mode, the app works fine with sessions, no problems. But in production mode, the process works for a while (a few hours, maybe more), but at a certain point the session mechanism stop working. It looks like the system stops storing new session info. Instead, it appears to continually (with each step in a controller) create a new session object, and delete the old one, erasing previous data and so preventing anyone from really logging in. When this happens, sessions in development mode (using Webrick, Mongrel, or Lighttpd) are still working fine. If I restart the production webserver, the sessions process works again, for a while. But then the same problem resurfaces. The production server is Mongrel being proxied by Apache. I''ve experienced this same problem running Lighttpd proxied via Apache. The application uses the reverse_proxy_fix plugin. Thanks for any help! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Nathan, We are experiencing a similar, but different problem. Our problem that the application creates one and only one session and all users share the same session. Rails seems not to be creating new sessions for separate requests. This also does not happen in development, only production. We are hosted at Engine Yard and are using Rfacebook. We are pulling our hair out trying to understand the problem. Have you received any information? -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Elliott Blatt wrote: I am having the same issue with rfacebook. I am debugging it currently and will share any feedback. It seems highly probable that there is a bug in rfacebook .98 Please let me know if you have learned anything since your last post. Thanks, John -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
I think I have figured this out. Looks like there is a bug in rfacebook .98: session_extensions.rb original code: def session_id_available?(request) # :nodoc: # TODO: we should probably be checking the fb_sig for validity here (template method needed) # ...we can only do this if we can grab the equivalent of a params hash return (lookup_request_parameter(request, "fb_sig_in_canvas") or lookup_request_parameter(request, "fb_sig_is_ajax")) end The problem is lookup_request_parameter returns "" (not nil) if it does not find the param, so this is returning true even when fb_sig_in_canvas and fb_sig_is_ajax are not present. Here''s the fix I jammed in -- don''t know if this has unintended consequences, but it did immediately solve the session reuse bug: def session_id_available?(request) # :nodoc: # TODO: we should probably be checking the fb_sig for validity here (template method needed) # ...we can only do this if we can grab the equivalent of a params hash # TODO mwk 2.18.2008 These return "" even if the parameter is not found -- is this really the right test? fb_sic = lookup_request_parameter(request, "fb_sig_in_canvas") fb_sia = lookup_request_parameter(request, "fb_sig_is_ajax") #return (lookup_request_parameter(request, "fb_sig_in_canvas") or lookup_request_parameter(request, "fb_sig_is_ajax")) return ((fb_sic and (fb_sic.length > 0)) or (fb_sia and (fb_sia.length > 0))) # TODO mwk end Mike On Feb 11, 1:17 pm, John Honovich <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> Elliott Blatt wrote: > > I am having the same issue with rfacebook. I am debugging it currently > and will share any feedback. > > It seems highly probable that there is a bug in rfacebook .98 > > Please let me know if you have learned anything since your last post. > > Thanks, > > John > -- > Posted viahttp://www.ruby-forum.com/.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi Mike, I tried your fix but my application just ran in an infinite loop. I am running this on Mongrel 1.1.2. The following two messages keep getting logged. The only paramater that changes in each cycle is the authorization token. Processing WelcomeController#index (for 127.0.0.1 at 2008-02-18 21:04:36) [GET] Session ID: 877ec39dd76d084fffbd9e135bbd3723 Parameters: {"action"=>"index", "controller"=>"welcome"} ** RFACEBOOK INFO: Redirecting to login for external app ** RFACEBOOK INFO: iframe redirect to http://www.facebook.com/login.php?v=1.0&api_key Filter chain halted as [#<ActionController::Filters::ClassMethods::SymbolFilter:0x474c5e4 @filter=:require_facebook_login>] returned_false. Completed in 0.00010 (10000 reqs/sec) | Rendering: 0.00000 (0%) | 200 OK [http://localhost/fbfavor/] ** RFACEBOOK INFO: using default Rails sessions (since we didn''t find an fb_sig_session_key in the environment) ** RFACEBOOK INFO: using default Rails sessions (since we didn''t find an fb_sig_session_key in the environment) Processing WelcomeController#index (for 127.0.0.1 at 2008-02-18 21:04:41) [GET] Session ID: 12655f67461b21da0aa26b5573797394 Parameters: {"action"=>"index", "auth_token"=>"fbd2c38fdfda676d6f519724e5a03479", "controller"=>"welcome"} ** RFACEBOOK INFO: attempting to activate a new Facebook session from auth_token ** RFACEBOOK(GEM) - RFacebook::FacebookSession#remote_call - auth.getSession({:auth_token=>"fbd2c38fdfda676d6f519724e5a03479"}) - making remote call ** RFACEBOOK INFO: Regular redirect_to ** RFACEBOOK INFO: Regular redirect_to Redirected to http://localhost:3000/fbfavor/ ** RFACEBOOK(GEM) - RFacebook::FacebookSession#remote_call - users.getInfo({:uids=>"761540841", :fields=>["first_name", "last_name"]}) - making remote call ) - making remote call ** RFACEBOOK INFO: persisting Facebook session information into Rails session Completed in 5.82800 (0 reqs/sec) | 302 Found [http://localhost/fbfavor/welcome/index?auth_token=fbd2c38fdfda676d6f519724e5a03479] ] ** RFACEBOOK INFO: using default Rails sessions (since we didn''t find an fb_sig_session_key in the environment) ** RFACEBOOK INFO: using default Rails sessions (since we didn''t find an fb_sig_session_key in the environment) If anyone sees similar issues, please share. Thanks, John -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hello, FYI: rfacebook has a dedicated Google Group @ groups.google.com/group/ rfacebook that includes all the core developer as its subscribers. It''s all the "official" rfacebook forum/mailing list if you want get anything fixed or contribute your patches. Cheers. -- Gerald Bauer -- http://rubybook.wordpress.com --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Thanks John. I tried your solution and it works! Thanks a lot! -Krates -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hey guys, I found a solution to this problem. It''s fixed in the rfacebo version of rfacebook (the branch that supports facebook and bebo simultaneously) but it needs to be moved to trunk as well. If you want to modify it yourself on your local copy to test here''s the diff: Index: rfacebo/plugin/rfacebook/lib/session_extensions.rb ==================================================================--- rfacebo/plugin/rfacebook/lib/session_extensions.rb (revision 80) +++ rfacebo/plugin/rfacebook/lib/session_extensions.rb (working copy) @@ -145,7 +145,7 @@ def session_id_available?(request) # :nodoc: # TODO: we should probably be checking the fb_sig for validity here (template method needed) # ...we can only do this if we can grab the equivalent of a params hash - return (lookup_request_parameter(request, "fb_sig_in_canvas") or lookup_request_parameter(request, "fb_sig_is_ajax")) + return (!lookup_request_parameter(request, "fb_sig_in_canvas").blank? or !lookup_request_parameter(request, "fb_sig_is_ajax").blank?) end end Best regards, -Michael On Feb 11, 1:17 pm, John Honovich <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> Elliott Blatt wrote: > > I am having the same issue with rfacebook. I am debugging it currently > and will share any feedback. > > It seems highly probable that there is a bug in rfacebook .98 > > Please let me know if you have learned anything since your last post. > > Thanks, > > John > -- > Posted viahttp://www.ruby-forum.com/.--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Reasonably Related Threads
- Facebooker support for iframe apps
- [PATCH] helper to create fb css stylized table
- Setting :canvas => false for URL generation doesn''t always work?
- Facebooker updates
- 20-Minute Quick Start Guide for RFacebook - 10 Easy Steps to Create a Facebook App Using Rails