[Mailman-Users] more prune_arch errors

Mark Sapiro mark at msapiro.net
Thu Sep 27 03:52:13 CEST 2012


Con Wieland wrote:

>The mbox variable changed seemed to take care of that error.


Actually, it didn't. That change was totally wrong, my bad.


>Now after running for about 4 hours I get this
>
> ./prune_arch -l mgsa-l -d 1095 -bpnv
>Traceback (most recent call last):
>  File "./prune_arch", line 191, in ?
>    main()
>  File "./prune_arch", line 173, in main
>    os.umask(omask)
>UnboundLocalError: local variable 'omask' referenced before assignment


I think it ran for 4 hours because the list was left locked by the
previous failure and at least part of that time, it was waiting for
the list lock to expire. I don't know how that would have happened
though because the list should have been unlocked in the finally:
clause of the try: in which the error occurred.

The above error is because of the incorrect change of line 144 from

            mbox = Mailbox.Mailbox(mboxf)

to

            mbox = Mailbox.mbox(mboxf)

This threw an exception because of the erroneous change.

I have changed the script again to move the

        omask = os.umask(2)

line ahead of the try: finally: to protect against the above error and
to restore the

            mbox = Mailbox.Mailbox(mboxf)

line.

I also added a test for an unparseable message being returned as a null
string by Mailman's Mailbox class which was the cause of the

    mdate = msg['date'] and mktime_tz(parsedate_tz(msg['date']))
TypeError: string indices must be integers

exception.

The current script is at <http://www.msapiro.net/scripts/prune_arch>
and <http://fog.ccsf.cc.ca.us/~msapiro/scripts/prune_arch>.

See the FAQ at <http://wiki.list.org/x/noA9> and remove the stale locks
for the mgsa-l list.

Then, before running prune_arch again, try checking the
archives/private/mgsa-l.mbox/mgsa-l.mbox file for unescaped From_
lines with bin/cleanarch and fix any problems.

This may or may not fix the unparseable message issue, but now the
script should just report it and continue.

-- 
Mark Sapiro <mark at msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan



More information about the Mailman-Users mailing list