[Mailman-Users] Can't lock a list [repeat]

Richard Barrett r.barrett at openinfo.co.uk
Fri Sep 24 18:53:28 CEST 2004


On 23 Sep 2004, at 20:41, Dwight A. Ernest wrote:

> Environment: mm 2.1.5, python 2.2.3, rhel es3 u2
>
> (I've searched FAQ for this, in vain...)
>
> On a list (called reach-l), which has a very large archive mbox, I just
> tried to do
>
> 	$prefix/bin/arch --wipe reach-l
>
> It got several hundred messages in and then blew up with a segmentation
> fault. Reading a bit deeper, I see that perhaps I should have specified
> some reasonable -s and -e values to limit the memory usage, but
> hindsight is 20:20.
>
> Since then, I've been unable to get a lock on the list. When I try, 
> e.g,
>
> 	$prefix/bin/arch -s 1 -e 499 --wipe reach-l
>
> ...it just hangs. When I interrupt (^C), I see:
>
> Traceback (most recent call last):
>    File "/var/mailman/bin/arch", line 189, in ?
>      main()
>    File "/var/mailman/bin/arch", line 141, in main
>      mlist = MailList(listname)
>    File "/var/mailman/Mailman/MailList.py", line 126, in __init__
>      self.Lock()
>    File "/var/mailman/Mailman/MailList.py", line 159, in Lock
>      self.__lock.lock(timeout)
>    File "/var/mailman/Mailman/LockFile.py", line 312, in lock
>      self.__sleep()
>    File "/var/mailman/Mailman/LockFile.py", line 496, in __sleep
>      time.sleep(interval)
> KeyboardInterrupt
>
> ...which I believe I can reproduce in its most simple case with this:
>
> [mailman at lists reach-l]$ /var/mailman/bin/withlist reach-l
> Loading list reach-l (unlocked)
> The variable `m' is the reach-l MailList instance
>>>> m.Lock()
>
> [it just hangs until I ^C, then:]
>
> Traceback (most recent call last):
>    File "<console>", line 1, in ?
>    File "/var/mailman/Mailman/MailList.py", line 159, in Lock
>      self.__lock.lock(timeout)
>    File "/var/mailman/Mailman/LockFile.py", line 312, in lock
>      self.__sleep()
>    File "/var/mailman/Mailman/LockFile.py", line 496, in __sleep
>      time.sleep(interval)
> KeyboardInterrupt
>>>> m.Unlock()
>>>>
> Finalizing
> [mailman at lists reach-l]$
>
> How can I clean things up for this list such that service code that
> wants to, can get a lock on the list?

Look in the $prefix/locks/ directory for stale locks associated with 
the list concerned.




More information about the Mailman-Users mailing list