I’ve written a RoR application that I would like to be able to deploy
widely, but I’m running into a rather peculiar problem with it.
First, some context. Here’s what I’ve got installed:
ruby 1.8.4 (2005-12-24) [i386-freebsd6]
In my application, I’m generating a home page for my own use, that has
some useful links plus schedule info and news. So, while there are other
in the app, mostly, my browser is sitting on one particular page all the
Because the page content changes over time, I have this statement in the
section of the .rhtml
causing the page to be reloaded every 10 minutes. I have this same page
a number of machines in my office, so each of them refreshes every 10
at staggered times.
I only have one plugin installed: acts_as_authenticated (most recent
the CHANGELOG is 1 Aug 2006. Freshly downloaded). This page
requires a username and password to access, and aaa is how I do that.
logged in, the page can be accessed as much as you like without
This arrangement works fine for days at a time, but every once in a
the whole thing spazzes out with this error:
TypeError (incompatible marshal file format (can’t be read)
format version 4.8 required; 47.117 given):
Once it spazzes, the server (lighttpd, running with fastCGI from a shell
“script/server” while I’m developing) is useless and must be restarted.
pages that were active when this happens get only garbage. Refreshing
gets more garbage. Killing and restarting the server fixes everything,
By lowering the time in the META directive, I can make it happen faster,
never consistently. It still takes the better part of a day to occur.
are no database writes happening here, so it should not be a contention
The only thing that I can think of is that I am logged in as the same
each machine, and somehow RoR is trying to update the same session file
each different session, and two or more sessions are colliding in this,
trashing the file. However, the fact that killing and restarting the
works (and doesn’t require relogin, just refresh), suggests that the
files are not trashed, so the problem is likely elsewhere.
Any thoughts? All constructive help is greatly appreciated!