[Pkg-mailman-hackers] Bug#355637: mailman: Stale lock files break administrative web interface

Lionel Elie Mamane lionel at mamane.lu
Wed Mar 8 07:55:06 UTC 2006


On Tue, Mar 07, 2006 at 11:20:10AM -0800, Shannon C. Dealy wrote:
> On Tue, 7 Mar 2006, Lionel Elie Mamane wrote:
>> thank you for your bug report.

>>On Mon, Mar 06, 2006 at 12:55:44PM -0800, Shannon Dealy wrote:

>>> Under some circumstances, list specific stale lock files are left
>>> (...) At the very least restarting mailman should cleanup these
>>> stale lock files,

As a mitigating measure, I can at least clean those locks early in the
boot process on a reboot. (Before any httpd gets run, but after full
filesystems are mounted.)

>>> in particular what I assume  is the master lock: listname.lock and
>>> probably  the actual  source of  my problems.   A  better solution
>>> would   probably  include   actually  checking   the   lock  files
>>> periodically to make sure they are still valid.

>> Yes.

>> You may be hit by something like
>> http://mail.python.org/pipermail/mailman-developers/2006-January/018506.html

> Proper design of locking would normally imply the lock is
> automatically released when the thread terminates unless it is
> released earlier

As far as I understand, the situation is:

 The lock is released at the Python level at process exit time -
 whatever the reason for the exit is (end of control flow,
 SIGINT/SIGTERM, ...). This happens in a general end-of-process
 cleanup that may be lengthy under high system load. But Apache will
 not wait very long for that, and will send SIGKILL to a CGI that
 hasn't terminated 3s after a SIGTERM. The Mailman code, in some
 situations, thus overrides the general cleanup to do the shorter
 "release lock, exit process without cleanup" on SIGTERM. I tried to
 understand why it is not done on a more systematic basis (and if they
 would take patches to make it more systematic), but got no answer
 from them.

That ML post was about a specific instance where it is not done.

-- 
Lionel




More information about the Pkg-mailman-hackers mailing list