> using: mailman 2.0.6 > > Everything seemed to work fine (for weeks), till I got these errors: > > logs/error: > > Oct 30 14:44:58 2001 qrunner(3684): Traceback (most recent call last): > Oct 30 14:44:58 2001 qrunner(3684): File > "/usr/local/mailman/cron/qrunner", line 282, in ? > Oct 30 14:44:58 2001 qrunner(3684): kids = main(lock) > Oct 30 14:44:58 2001 qrunner(3684): File > "/usr/local/mailman/cron/qrunner", line 202, in main > Oct 30 14:44:58 2001 qrunner(3684): os.unlink(root+'.db') > Oct 30 14:44:58 2001 qrunner(3684): OSError : [Errno 2] No such file or > directory: > '/usr/local/mailman/qfiles/ac70488999dddaa6a224570774c18abd9c7a6be4.db' > > > logs/qrunner: > Oct 30 14:44:58 2001 (3684) Unlinking orphaned .db file: > /usr/local/mailman/qfiles/ac70488999dddaa6a224570774c18abd9c7a6be4.db > > > What's happening here? > How to fix this? > I don't know what the fix is, but here is some more information straight from the code: # If the .db file has no corresponding .msg file, we might as well # remove the .db file, since there's little we can do about it. if not os.path.exists(root+'.msg'): syslog('qrunner', 'Unlinking orphaned .db file: %s.db' % root) os.unlink(root+'.db') # just trigger off the .msg files continue
Something happened to delete a message in transit (machine went down, nfs error, file system error, etc...). If I'm reading this correctly, then qrunner processes a message by writing it to a file ___.msg and writing the mailing list info out to ____.db. Then it opens the ____.db file and sends the email contained in ___.msg out to all the folks in the database. Qrunner, doing an initial sweep of the ~mailman/qfiles directory found the ___.db file, but did not find the ___.msg file. This could occur if: - The ___.msg file was deleted after Mailman finished processing the message, but something stopped the ___.db file from being deleted immediately afterwards (and this new scan found it, declared it an orphan, and then deleted it) - The ___.msg file was deleted or overwritten by some other process, before Mailman finished processing the message, hence the ___.db file was left behind, and discovered the next time qrunner kicked off. - The ___.db file is being created, but not the ___.msg file, or its taking too long to create the ___.msg file, and after that process times out, the next qrunner process finds it, declares it an orphan, and deletes it... Jon Carnes ------------------------------------------------------ Mailman-Users maillist - [EMAIL PROTECTED] http://mail.python.org/mailman/listinfo/mailman-users