[Mailman-Users] 2.0rc2 upgrade FAILS if lists have pending requests

Greg Connor gconnor at nekodojo.org
Sun Nov 12 09:35:44 CET 2000

"make update" and "make install" fail when there are pending requests.  

I got this message while updating from Mailman 1.1 to 2.0rc2

% make install
Updating mailing list:  poly-houston
- updating old private mbox file
    looks like you have a really recent CVS installation...
    you're either one brave soul, or you already ran me
- updating old public mbox file
Updating mailing list:  poly-under30
Traceback (innermost last):
  File "bin/update", line 350, in ?
    errors = main()
  File "bin/update", line 281, in main
    errors = errors + dolist(listname)
  File "bin/update", line 79, in dolist
    mlist = MailList.MailList(listname, lock=0)
  File "/home/mailman/Mailman/MailList.py", line 79, in __init__
  File "/home/mailman/Mailman/MailList.py", line 906, in Load
  File "/home/mailman/Mailman/MailList.py", line 917, in CheckVersion
    Update(self, stored_state)
  File "/home/mailman/Mailman/versions.py", line 54, in Update
  File "/home/mailman/Mailman/versions.py", line 247, in
    l.HoldMessage(msg, reason)
  File "/home/mailman/Mailman/ListAdmin.py", line 145, in HoldMessage
  File "/home/mailman/Mailman/ListAdmin.py", line 66, in __opendb
    assert self.Locked() and self.__filename

At this point, make install has failed while running update, and I have
running check_perms, and fixing some errors, but running update again
gives the 
same error.

My workaround:
I turned apache back on and I used the mailman/admindb form to respond
to all the pending requests.  (I tried this because the traceback says
"NewRequestsDatabase" so this made me think it could not convert
existing pending requests.  Also, other lists went through "Updating"
ok, and they didn't have pending requests.)

After clearing the requests, make update got a bit further (to the next
lists with pending requests) I cleared that one too, and the update was
able to complete on the third try.  

I'm discarding the requests, but I think one could approve at this point
too.  Most everything is installed, but since sendmail isn't running,
the message would probably just queue up for qrunner...

If anyone is interested in the details of what I did, I'm posting a log
of the second upgrade operation:

Suggested fix:
If possible, make it so that upgrading doesn't die if requests are
pending.  However, if the requests can't be converted, Mailman's install
should deal with this gracefully and tell the user what needs to be
done.  If this can't be resolved, I suggest a note in the release notes
telling peole that they have to clean out the administrative requests db
for ALL lists before doing the upgrade.  This is awkward because often
the person approving the message is not the same person who is
installing Mailman 2.

Greg Connor <gconnor at nekodojo.org>

More information about the Mailman-Users mailing list