[Zope] DeadlockDebugger revisited

Dieter Maurer dieter at handshake.de
Fri Jun 16 14:35:30 EDT 2006


Matthew X. Economou wrote at 2006-6-16 09:10 -0400:
>I thought a recent operating system upgrade (FreeBSD 5.4 to 6.1) fixed
>my problems with Zope.  Unfortunately, once I re-compiled Python et al
>(to remove dependencies on the old libraries), my problems with Zope
>deadlocking recurred.  I tried to use a combination of tools to try to
>discover the root cause of this problem, but nothing seems to work.
>What am I missing, and what else can I try?

Your description seems to match an error case, I have seen
under Python 2.3.4 with Linux 2.4 kernel:

  When a SIGSEGV occurs, then Zope's main thread (the ZServer thread) dies
  (and Zope therefore stops responding) but the other threads
  remain alive and keep all sockets open.

The primary culprit was Python, although the Linux thread implementation
had to help to expose the bug in this way.


I had thought that the problem were fixed in Python 2.3.5 (which you
use). Thus, maybe, your problem is different from the one
outlined above. Use OS means to check in what state the various
Zope threads are and whether the primary thread still exists.


If this is not the problem cause, you can attach your
Zope process with "gdb" and analyse the state -- especially
that of the main thread. There is a howto around how to do that.


-- 
Dieter


More information about the Zope mailing list