Session and Internal server Error.

Hi, Im developing an application in Rails 2.02. Everything seems to work fine but the problems begin when I try to put some data in the session.

I have a model in proyect/models:

class Result   attr_accessor :names, :urls, :images   def initialize     @names = Array.new     @urls = Array.new     @images = Array.new   end end

Controller: @variable = Result.new #code that fills up the values in the result arrays.   session[:result] = @result

I fill these attributes from a controller. At the end, if I try to put the variable into the session I get the msg:

Status: 500 Internal Server Error Content-Type: text/html 500 Internal Server Error

Any ideas? thanks!

Hi, Im developing an application in Rails 2.02. Everything seems to work fine but the problems begin when I try to put some data in the session.

I have a model in proyect/models:

class Result attr_accessor :names, :urls, :images def initialize    @names = Array.new    @urls = Array.new    @images = Array.new end end

Controller: @variable = Result.new #code that fills up the values in the result arrays. session[:result] = @result

I fill these attributes from a controller. At the end, if I try to put the variable into the session I get the msg:

There should be a full stack trace in your log files. Are you putting anything unserializable in your session?

Fred

This is the trace of the log

Rendering /Library/Ruby/Gems/1.8/gems/actionpack-2.0.2/lib/ action_controller/templates/rescues/layout.erb (internal_server_error) /!\ FAILSAFE /!\ Mon Dec 24 14:19:02 +0100 2007   Status: 500 Internal Server Error   CGI::Session::CookieStore::CookieOverflow     /Library/Ruby/Gems/1.8/gems/actionpack-2.0.2/lib/action_controller/ session/cookie_store.rb:112:in `close'

Is it too big what I'm trying to store in the session?

In your snippet there's this comment:

    #code that fills up the values in the result arrays.

I guess the resulting cookie value after you populate the inner arrays (think whole object tree marshalled + Base64 encoding + two dashes + digest) is > 4K.

Do you really need such an object in the session. If yes then you'd need to switch to a different storage.

-- fxn

Thanks. I didn't know that you could only store 4Kb in size in the session. I guess that I will use a database to store it then. Thanks for your fast reply!