After my server panicked and rebooted itself, when this cron runs: /usr/lib/mailman/cron/gate_new I get this error message:
Traceback (most recent call last): File "/usr/lib/mailman/cron/gate_news", line 284, in ? main() File "/usr/lib/mailman/cron/gate_news", line 264, in main process_lists(lock) File "/usr/lib/mailman/cron/gate_news", line 199, in process_lists mlist = MailList.MailList(listname, lock=0) File "/usr/lib/mailman/Mailman/MailList.py", line 128, in __init__ self.Load() File "/usr/lib/mailman/Mailman/MailList.py", line 608, in Load raise Errors.MMCorruptListDatabaseError, e Mailman.Errors.MMCorruptListDatabaseError: [Errno 2] No such file or directory: '/var/lib/mailman/lists/jid/config.db.last'
The config files exist for this list:
[root@jidmail init.d]# cd /var/lib/mailman/lists/jid/ [root@jidmail jid]# ls config.pck config.pck.last pending.pck request.pck
From what I read on the internet about this issue, this lists config files are now hosed and I should replace them from the last known good backup.
Is this correct ?
james
james edwards wrote:
After my server panicked and rebooted itself, when this cron runs: /usr/lib/mailman/cron/gate_new I get this error message:
Traceback (most recent call last): File "/usr/lib/mailman/cron/gate_news", line 284, in ? main() File "/usr/lib/mailman/cron/gate_news", line 264, in main process_lists(lock) File "/usr/lib/mailman/cron/gate_news", line 199, in process_lists mlist = MailList.MailList(listname, lock=0) File "/usr/lib/mailman/Mailman/MailList.py", line 128, in __init__ self.Load() File "/usr/lib/mailman/Mailman/MailList.py", line 608, in Load raise Errors.MMCorruptListDatabaseError, e Mailman.Errors.MMCorruptListDatabaseError: [Errno 2] No such file or directory: '/var/lib/mailman/lists/jid/config.db.last'
The config files exist for this list:
[root@jidmail init.d]# cd /var/lib/mailman/lists/jid/ [root@jidmail jid]# ls config.pck config.pck.last pending.pck request.pck
First, the reference to No such file or directory: '/var/lib/mailman/lists/jid/config.db.last' is misleading. When an attempt is made to instantiate a list via MailList.MailList(), MailList attempts to load the list data from a config file. It tries the 2.1.x file config.pck, the 2.1.x backup config.pick.last, the 2.0.x file config.db and the 2.0.x backup config.db.last in that order, and if it is unable to load the list from any of them, it reports only the last error.
The real error is as you say, both the config.pck and the config.pck.last are corrupt.
From what I read on the internet about this issue, this lists config files are now hosed and I should replace them from the last known good backup.
Is this correct ?
Is it only gate_news that gets this error? Are there errors like this in the error log from other processes. What happens if you go to the web listinfo overview for example. Does it get the same error?
If everything that accesses the list gets this, then I hope you have a recent backup. If you don't, try 'bin/dumpdb' on both the config.pck and config.pck.last to see if you can at least get up to date info in text form.
If it's only gate_news that has the problem (unlikely, but we can hope), then I'm not sure what the issue is.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Mark,
Thanks for your help. Answers inline.
Is it only gate_news that gets this error? Are there errors like this in the error log from other processes. What happens if you go to the web listinfo overview for example. Does it get the same error?
Yep & only for one list.
If everything that accesses the list gets this, then I hope you have a
recent backup. If you don't, try 'bin/dumpdb' on both the config.pck and config.pck.last to see if you can at least get up to date info in text form.
A level 0 backup raan last night, so I can get the files from there.
Is there anything of use here:
[root@jidmail jid]# /usr/lib/mailman/bin/dumpdb -p config.pck.last [----- start pickle file -----] [----- end pickle file -----] [root@jidmail jid]# /usr/lib/mailman/bin/dumpdb -p config.pck [----- start pickle file -----] [----- end pickle file -----] [root@jidmail jid]# ls config.pck config.pck.last pending.pck request.pck [root@jidmail jid]# /usr/lib/mailman/bin/dumpdb -p pending.pck [----- start pickle file -----] <----- start object 1 -----> { 'c3e20eb8105c74b4b1356d965dd88523103cf608': ('H', 32), 'e01d88cc37e6f6bf1d546b28b38c413125beb229': ('H', 33), 'evictions': { 'c3e20eb8105c74b4b1356d965dd88523103cf608': 1143215294.351737, 'e01d88cc37e6f6bf1d546b28b38c413125beb229': 1143242143.3469989}, 'version': 2} [----- end pickle file -----] [root@jidmail jid]# /usr/lib/mailman/bin/dumpdb -p request.pck [----- start pickle file -----] <----- start object 1 -----> { 33: ( 1, ( 1142982943.3346181, 'xxxxj@xxxxxs.com', 'xxxxxxxxxxxxxxxx', 'Post by non-member to a members-only list', 'heldmsg-jid-33.pck', { '_parsemsg': True, 'lang': 'en', 'listname': 'jid', 'pipeline': [ 'Hold', 'MimeDel', 'Emergency', 'Tagger', 'CalcRecips', 'AvoidDuplicates', 'Cleanse', 'CookHeaders', 'ToDigest', 'ToArchive', 'ToUsenet', 'AfterDelivery', 'Acknowledge', 'ToOutgoing'], 'received_time': 1142982942.707638, 'rejection_notice': 'Non-members are not allowed to post messages to this list.', 'tolist': 1, 'version': 3})), 'version': (0, 1)} [----- end pickle file -----] [root@jidmail jid]#
James
james edwards wrote:
A level 0 backup raan last night, so I can get the files from there.
Good. :-)
Is there anything of use here:
[root@jidmail jid]# /usr/lib/mailman/bin/dumpdb -p config.pck.last [----- start pickle file -----] [----- end pickle file -----] [root@jidmail jid]# /usr/lib/mailman/bin/dumpdb -p config.pck [----- start pickle file -----] [----- end pickle file -----]
These say that there is no list object in the files. That is bad. It basically says the list shouldn't work at all.
[root@jidmail jid]# ls config.pck config.pck.last pending.pck request.pck [root@jidmail jid]# /usr/lib/mailman/bin/dumpdb -p pending.pck [----- start pickle file -----] <----- start object 1 -----> <snip> 'version': 2} [----- end pickle file -----] [root@jidmail jid]# /usr/lib/mailman/bin/dumpdb -p request.pck [----- start pickle file -----] <----- start object 1 -----> <snip> 'version': (0, 1)} [----- end pickle file -----]
These two look normal, but they aren't part of the problem. They relate just to held messages in this case. There is a minor discrepancy in that pending.pck shows two held messages (32 and 33) and request.pck shows only 33, but it also looks like part of the listing might be lost.
What happens if you go to the admin page for the list? Does that seem OK or what? If dumpdb is telling the truth, the list's admin pages should at most show default settings and no members. What are the sizes of config.pck and config.pck.last?
If you go to the list's admin pages and everything looks totally OK including the membership, make some innocuous change in settings and then look at "bin/dumpdb" of the config.pck again. It should display all the list attributes, membership, member options, etc.
Unless everything looks good including gate_news being OK, I'd restore the config.pck only from the backup.
-- Mark Sapiro <msapiro@value.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
What happens if you go to the admin page for the list? Does that seem OK or what? If dumpdb is telling the truth, the list's admin pages should at most show default settings and no members. What are the sizes of config.pck and config.pck.last?
Yep.
If you go to the list's admin pages and everything looks totally OK
including the membership, make some innocuous change in settings and then look at "bin/dumpdb" of the config.pck again. It should display all the list attributes, membership, member options, etc.
Unless everything looks good including gate_news being OK, I'd restore the config.pck only from the backup.
Restore is going well, too bad that partition is almost a terabyte as it took forever to blow out.
Mark, thanks again for your help in this.
--
James H. Edwards Network Systems Administrator Judicial Information Division jedwards@nmcourts.com
participants (2)
-
james edwards
-
Mark Sapiro