We had an issue with a failed disk on our Mailman server recently. As a
result, some of our lists' config.pck and config.pck.last files were
corrupted. I have restored files from older backups or dropped and
recreated the lists.
All of the Mailman admin web pages and user web pages appear to work at
The issue I have is that at least one list is not automatically updating
its archive when new posts come in. I have verified by sending posts to
other lists that their archives are updated at that time.
If I run "arch --wipe <list> <path to list mbox file>", the list archive
is re-built successfully and includes the latest posts that have come
in. New posts to this list are being appended to the .mbox file.
Here is the section of error messages that are showing up in the
Aug 10 22:56:54 2008 (23548) Uncaught runner exception: invalid load
Aug 10 22:56:54 2008 (23548) Traceback (most recent call last):
~ File "/home/mailman/Mailman/Queue/Runner.py", line 111, in _oneloop
~ self._onefile(msg, msgdata)
~ File "/home/mailman/Mailman/Queue/Runner.py", line 167, in _onefile
~ keepqueued = self._dispose(mlist, msg, msgdata)
~ File "/home/mailman/Mailman/Queue/IncomingRunner.py", line 130, in
~ more = self._dopipeline(mlist, msg, msgdata, pipeline)
~ File "/home/mailman/Mailman/Queue/IncomingRunner.py", line 153, in
~ sys.modules[modname].process(mlist, msg, msgdata)
~ File "/home/mailman/Mailman/Handlers/Moderate.py", line 109, in process
~ Hold.hold_for_approval(mlist, msg, msgdata, Hold.NonMemberPost)
~ File "/home/mailman/Mailman/Handlers/Hold.py", line 218, in
~ id = mlist.HoldMessage(msg, reason, msgdata)
~ File "/home/mailman/Mailman/ListAdmin.py", line 186, in HoldMessage
~ File "/home/mailman/Mailman/ListAdmin.py", line 86, in __opendb
~ self.__db = cPickle.load(fp)
UnpicklingError: invalid load key, '^_'.
Aug 10 22:56:54 2008 (23548) SHUNTING:
If I run "check_db --all", I get no error messages. If I run "check_db
- --all --verbose", the only errors I get are about missing config.db and
config.db.last files, which I believe are not required.
Is there an easy way to add some debugging statements to the
Mailman/ListAdmin.py code to see what file (assuming it is one of the
.pck ones) is generating the error message?
Any suggestions as to how to determine what file might be corrupt and
hopefully how to fix it?