[Mailman-Users] Corrupted 'pending.pck' causing Mailman to crash?

Bob Franklin r.c.franklin at reading.ac.uk
Mon Jan 12 12:46:11 CET 2004


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
      more = self._dopipeline(mlist, msg, msgdata, pipeline)
    File "/opt/RDGmailmn/Mailman/Queue/IncomingRunner.py", line 153, in
      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
      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

More information about the Mailman-Users mailing list