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