marshal data too short - when user id = 51

When a session is created ( disk based not active record ) and the id of the user record is 21 I get marshal data too short. I am not the only one by the looks of this http://wiki.rubyonrails.org/rails/pages/MarshalDataTooShort.

The application is running on Windows with a SQL Server backend.

The suggested workaround is to use ActiveRecord based sessions and the WIKI does have a patch but it is dated 2004.

Any ideas ? Anyone else seen this ?

Regards

Lee

Just noticed my subject was wrong but I can confirm it is user 21.

I get that under certain circumstances. For certain requests I create an array of objects that needs to persist for several subsequent requests. I put it in the session like this:

session[:mappable_items] = AccountApplication.make_mappable_items_array(@account_applications)

If that array is large enough I get the marshal data too short error, and subsequently the error 500 message. I had assumed that the session would actually hold only a pointer to the array, but the fact that the size of the array changes the behavior implies that that's not the case. My Ruby skills and Rails skills are poor, so I've assumed it's my problem, not Rails or Ruby.