
J.A. Terranson wrote:
We had a series of longer than battery outages on wednesday, and when we came back online, mailman refused to run. Heres the messages:
mailman# tail -f error Oct 30 02:28:06 2010 (11862) couldn't load config file /usr/mailman/lists/[listname]/config.pck.last 1778451844
Oct 30 02:28:06 2010 (11862) couldn't load config file /usr/mailman/lists/[listname]/config.db [Errno 2] No such file or directory: '/usr/mailman/lists/[listname]/config.db'
Oct 30 02:28:06 2010 (11862) couldn't load config file /usr/mailman/lists/[listname]/config.db.last [Errno 2] No such file or directory: '/usr/mailman/lists/[listname]/config.db.last'
Oct 30 02:28:06 2010 (11862) All [listname]B fallbacks were corrupt, giving up
Oct 30 02:28:06 2010 (11862) error opening list: [listname] [Errno 2] No such file or directory: '/usr/mailman/lists/[listname]/config.db.last'
Please tell me theres a reasonable recovery for this on 2.1.21 (plus a patch)?
2.1.12?
The recovery is to restore the corrupt /usr/mailman/lists/[listname]/config.pck from the most recent good backup.
Mailman does the best it can by trying to first write config.pck.tmp.<hostname>.<pid> and then removing config.pck.last, moving config.pck to config.pck.last and finally moving config.pck.tmp.<hostname>.<pid> to config.pck.
You could check for a /usr/mailman/lists/[listname]/config.pck.tmp.<hostname>.<pid> file and try moving that to /usr/mailman/lists/[listname]/config.pck if it exists, but even if it does, it may be bad too.
It appears that your system is caching disk writes to the extent that both the config.pck and config.pck.last were incompletely written when the power failed. You might look into that, and also consider setting
SYNC_AFTER_WRITE = Yes
in mm_cfg.py (see the documentation of this in Defaults.py).
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan