[Zope] DeadlockDebugger revisited

Dieter Maurer dieter at handshake.de
Wed Jun 21 17:28:40 EDT 2006


Matthew X. Economou wrote at 2006-6-18 11:53 -0400:
>I tried the whole gdb threads debugging thing, with the following (nil)
>results.  Any other ideas?  A lot of the instructions online seem to be
>Linux-centric, so I'm at a loss as how to proceed:
>
>(gdb) info threads
> ...
>  2 Thread 0x9064e00 (runnable)  0x0807b36f in PyType_IsSubtype ()
>  1 Thread 0x9a32200 (runnable)  0x08b53622 in ?? ()
>(gdb) thread 2
>[Switching to thread 2 (Thread 0x9064e00 (runnable))]#0  0x0807b36f in
>PyType_IsSubtype ()
>(gdb) call PyRun_SimpleString("import sys, traceback;
>sys.stderr=open('/tmp/tb','w',0); traceback.print_stack()")
>
>Program received signal SIGSEGV, Segmentation fault.

I fear that you can call Python functions in general only on
the current thread (the other's probably lack the GIL,
an essential requirement to execute Python code).

Moreover, it seems that your Python is build without
debugging symbols. Debugging symbols are almost
a must when you try to analyse problems at this level.
I would rebuild Python with debugging symbols (and, if possible,
without optimizations).



-- 
Dieter


More information about the Zope mailing list