[Mailman-Users] getting a lot of qrunner errors

Jon Carnes jonc at haht.com
Tue Oct 30 20:16:05 CET 2001


> 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





More information about the Mailman-Users mailing list