[Mailman-Users] Archiving failure
tim at maths.tcd.ie
tim at maths.tcd.ie
Sat Oct 28 16:58:01 CEST 2000
Our mailman system (running under FreeBSD) states (untruly) that every archives is empty,
because -- I think -- it fails to write out the required index.html files.
We get this (repeatedly) in ~mailman/logs/error
===============================================
Oct 28 15:40:07 2000 (47279) Archive file access failure:
/local/lib/mailman/archives/private/sf.mbox/sf.mbox (0, 'Error')
Oct 28 15:40:07 2000 (47279) Delivery exception: (0, 'Error')
Oct 28 15:40:07 2000 (47279) Traceback (innermost last):
File "/local/lib/mailman/Mailman/Handlers/HandlerAPI.py", line 82, in do_pipeline
func(mlist, msg, msgdata)
File "/local/lib/mailman/Mailman/Handlers/ToArchive.py", line 47, in process
mlist.ArchiveMail(msg, msgdata)
File "/local/lib/mailman/Mailman/Archiver/Archiver.py", line 189, in ArchiveMail
self.__archive_to_mbox(msg)
File "/local/lib/mailman/Mailman/Archiver/Archiver.py", line 160, in __archive_to_mbox
mbox.AppendMessage(post)
File "/local/lib/mailman/Mailman/Mailbox.py", line 41, in AppendMessage
self.fp.seek(-1, 2)
IOError: (0, 'Error')
===============================================
Looking at ~mailman/Mailman/Mailbox.py the offending line
seems to be the seek(-1,2) in the following,
which appears to be an (odd) way of testing if the file is empty.
===============================================
# msg should be an rfc822 message or a subclass.
def AppendMessage(self, msg):
# Check the last character of the file and write a newline if it isn't
# a newline (but not at the beginning of an empty file.
try:
self.fp.seek(-1, 2)
except IOError, e:
if e.errno <> errno.EINVAL: raise
# the file must be empty
else:
if self.fp.read(1) <> '\n':
self.fp.write('\n')
# seek to the last char of the mailbox
self.fp.seek(1, 2)
===============================================
I don't know anything about python --
maybe appearing in logs/error is not that bad?
Any suggestions of advice gratefully received.
More information about the Mailman-Users
mailing list