[Zope] Zope lockup - thread exited without releasing global lock?

Brad Clements bkc@murkworks.com
Fri, 9 Mar 2001 22:33:04 -0500


More info on my periodic Zope 2.2.2 lockup (RH7 running Zope supplied 
Python with gvib)

using gdb, all of the zope threads are waiting to acquire the global lock, 
except for two threads.

The first thread is waiting for a pid to finish (in waitpid) (must be the 
process manager)

The other thread always seems to be something like this:

(gdb) where
#0  0x4008de75 in __sigsuspend (set=0x8695104)
    at ../sysdeps/unix/sysv/linux/sigsuspend.c:45
#1  0x400347e9 in __pthread_wait_for_restart_signal (self=0x4003e360)
    at pthread.c:901
#2  0x40036ad9 in __pthread_alt_lock (lock=0x40183720, self=0x0)
    at restart.h:34
#3  0x40032b26 in __pthread_mutex_lock (mutex=0x40183710) at mutex.c:120
#4  0x400dee48 in __libc_free (mem=0x86e0488) at malloc.c:3052
#5  0x4003234b in pthread_exited (pid=20510) at manager.c:707
#6  0x40032709 in pthread_reap_children () at manager.c:787
#7  0x40031a28 in __pthread_manager (arg=0x13) at manager.c:158


Note that in this case, the current pid is 20509. I see 
pthread_exited(pid=20510)  

Does this mean that 20510 quit, and 20590 was waiting on it?

In any case, I suspect that the thread is somehow exit'ing without 
releasing the global lock, but I can't really be entirely sure. Anyone have 
any suggestions on how I can track this down?



Brad Clements,                bkc@murkworks.com   (315)268-1000
http://www.murkworks.com                          (315)268-9812 Fax
netmeeting: ils://ils.murkworks.com               AOL-IM: BKClements