Whenever someone sends a moderated message to one of our lists, the
message appears to disappear into a blackhole. On closer inspection, our
Exim log is showing the message being fed into Mailman; in mailman's
'error' log, we're seeing:
Jan 12 10:45:55 2004 (25594) Uncaught runner exception: invalid load
key, 'f'.
Jan 12 10:45:55 2004 (25594) Traceback (most recent call last):
File "/opt/RDGmailmn/Mailman/Queue/Runner.py", line 105, in _oneloop
self._onefile(msg, msgdata)
File "/opt/RDGmailmn/Mailman/Queue/Runner.py", line 155, in _onefile
keepqueued = self._dispose(mlist, msg, msgdata)
File "/opt/RDGmailmn/Mailman/Queue/IncomingRunner.py", line 130, in
_dispose
more = self._dopipeline(mlist, msg, msgdata, pipeline)
File "/opt/RDGmailmn/Mailman/Queue/IncomingRunner.py", line 153, in
_dopipeline
sys.modules[modname].process(mlist, msg, msgdata)
File "/opt/RDGmailmn/Mailman/Handlers/Hold.py", line 181, in process
MessageTooBig(bodylen, mlist.max_message_size))
File "/opt/RDGmailmn/Mailman/Handlers/Hold.py", line 226, in
hold_for_approval
cookie = Pending.new(Pending.HELD_MESSAGE, id)
File "/opt/RDGmailmn/Mailman/Pending.py", line 64, in new
db = _load()
File "/opt/RDGmailmn/Mailman/Pending.py", line 121, in _load
return cPickle.load(fp)
UnpicklingError: invalid load key, 'f'.
Looking in the in 'data' directory, the pending messages are appearing in
there as 'heldmsg-LISTNAME-NUMBER.pck' files but the 'pending.pck' file
(which appears to be what is being loaded at line 121 of Pending.py')
hasn't been updated for several days (12:26, 08-Jan-2004) - the
first error was logged at 12:42 on the same day and was in response to
someone confirming a subscription (I don't know if this was the thing
that caused it or the first thing that failed following it).
I'm guessing there's a corruption in the 'pending.pck' file and Mailman is
bombing out whenever it needs to be updated.
Is there a way I can find out what has caused this and rebuild the
'pending.pck' file from the stuff in the 'data' directory?
For reference: Mailman 2.1.1, Python 2.1.3, Apache 1.3.26, Exim 3.36 and
Solaris 8.
Thanks in advance,
- Bob
--
Bob Franklin <r.c.franklin at reading.ac.uk> +44 (0)118 378 7147
Systems and Communications, IT Services, The University of Reading, UK