Alan Milligan wrote at 2006-4-3 12:05 +1000:
... #36 0xa86a19b0 in ?? () #37 0xa86a19ac in ?? () #38 0xb7a07583 in ?? () from /opt/zope2.8/lib/python/Acquisition/_Acquisition.so #39 0xb7a83660 in ?? () #40 0x00000000 in ?? ()
I must confess that I'm quite puzzled that the main thread is also blocked - DeadlockDebugger's publish magic is not being invoked, concurring with strace.
Looks as if your Python were compiled without debugging symbols. You will get much better tracebacks (easier to understand), when you rebuild your Python with debugging symbols. The following GDB macros can be used to help in the analysis. "pfr" can be called in frames "eval_frame" to learn about the Python frame. def ps x/s ({PyStringObject}$arg0)->ob_sval end def pfr ps f->f_code->co_filename ps f->f_code->co_name #p f->f_lineno lineno end define lineno set $__co = f->f_code set $__lasti = f->f_lasti set $__sz = ((PyStringObject *)$__co->co_lnotab)->ob_size/2 set $__p = (unsigned char *)((PyStringObject *)$__co->co_lnotab)->ob_sval set $__li = $__co->co_firstlineno set $__ad = 0 while ($__sz-1 >= 0) set $__sz = $__sz - 1 set $__ad = $__ad + *$__p set $__p = $__p + 1 if ($__ad > $__lasti) # break -- interpreted as "breakpoint" set $__sz = -1 end if ($__sz >= 0) set $__li = $__li + *$__p set $__p = $__p + 1 end end printf "%d\n", $__li end -- Dieter