4.19. I get "Could not acquire qrunner lock" in ~mailman/logs/qrunner...
qrunner is a little program that processes the queued list mail, i.e. sends it to your MTA. It is invoked by cron, usually once a minute. Before it starts up, it checks for a lock file in ~mailman/locks, because only one qrunner may run at a time (otherwise, messages might be sent out more than once or there could even be deadlocks).
If there is none, it assumes that no other qrunner is running, creates a lock for itself and begins to work through the files in the queue (~mailman/qfiles). If there is a lock, it aborts and prints said error message.
There are two possible reasons for this to happen:
(1) The queue is large, or sending the mail takes long, so the old qrunner has not yet finished when cron starts a new one. This is normal behaviour.
(2) A qrunner has crashed, and was not able to remove the lock it had acquired, or qrunner is choking on some message forever. This is a problem, because no list mail will be delivered until you clean up.
Marc Merlin suggested on mailman-users to check if a qrunner is active, for example by doing "ps aux|grep qrunner". (But this of course often finds its own grep process! Better is to use the "pidof" command.)
If no, you can safely delete the qrunner lock file in ~mailman/locks/ by hand. If yes, he recommends to do a "strace -f -p <process-id of qrunner>" to see what it's doing and whether it is stuck with a certain message. If so, remove the offending message from the queue, kill qrunner and remove the lock.
This should rarely if ever happen with Mailman releases > 2.0.9. If you run into this problem frequently, you should probably ask for assistance on the mailman-users list.
Last changed on Fri Jan 25 00:14:35 2008 by jidanni
Converted from the Mailman FAQ Wizard
This is one of many Frequently Asked Questions.