[Zope-dev] ZEO Client nonresponsive

Jan-Wijbrand Kolman jw@infrae.com
Mon, 14 Apr 2003 12:51:24 +0200


Dieter Maurer,


> What did it tell you? Where have the processes been waiting?
> 
> You will need a very recent GDB (5.2 or newer) to debug
> multi-threaded processes with GDB.

I include the output of a gdb session at the end of this mail.

It is not very informative (to me at least). It could very well be 
though, that it is me doing something wrong here. I don't have any 
experience we gdb apart from following this howto...

Do you have more ways to get gdb more informative? Do you need more 
details?

> I would really like when we were able to understand this behaviour....

Me too :-)


regards, and thx for your reply!
jw

-- 
Jan-Wijbrand Kolman
jw@infrae.com




~# gdb python2.1
GNU gdb 5.3-debian
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and 
you are welcome to change it and/or distribute copies of it under 
certain conditions. Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for 
details. This GDB was configured as "i386-linux"...(no debugging 
symbols found)...

(gdb) attach 19132
Attaching to program: /usr/bin/python2.1, process 19132
Reading symbols from /lib/libpthread.so.0...(no debugging symbols 
found)...done.
[New Thread 16384 (LWP 19104)]
[New Thread 32769 (LWP 19105)]
[New Thread 16386 (LWP 19106)]
[New Thread 65539 (LWP 19132)]
[New Thread 81924 (LWP 19133)]
[New Thread 98309 (LWP 19134)]
[New Thread 114694 (LWP 19135)]
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libdl.so.2...(no debugging symbols 
found)...done.
Loaded symbols for /lib/libdl.so.2
<snip lotsa output>

(gdb) info threads
   7 Thread 114694 (LWP 19135)  0x40151b1e in select () from 
/lib/libc.so.6
   6 Thread 98309 (LWP 19134)  0x40151b1e in select () from /lib/libc.so.6
   5 Thread 81924 (LWP 19133)  0x40151b1e in select () from /lib/libc.so.6
   4 Thread 65539 (LWP 19132)  0x40151b1e in select () from /lib/libc.so.6
   3 Thread 16386 (LWP 19106)  0x40151b1e in select () from /lib/libc.so.6
   2 Thread 32769 (LWP 19105)  0x401502c0 in poll () from /lib/libc.so.6
   1 Thread 16384 (LWP 19104)  0x40151b1e in select () from /lib/libc.so.6

(gdb) thread 2
[Switching to thread 2 (Thread 32769 (LWP 19105))]#0  0x401502c0 in 
poll () from /lib/libc.so.6

(gdb) call PyRun_SimpleString("import sys, traceback; 
sys.stderr=open('/tmp/tb','w',0); traceback.print_stack()")

Program received signal SIGABRT, Aborted.
0x400baa51 in kill () from /lib/libc.so.6
The program being debugged was signaled while in a function called 
from GDB.
GDB remains in the frame where the signal was received.
To change this behavior use "set unwindonsignal on"
Evaluation of the expression containing the function 
(PyRun_SimpleString) will be abandoned.

(gdb) info threads
   7 Thread 114694 (LWP 19135)  0x40151b1e in select () from 
/lib/libc.so.6
   6 Thread 98309 (LWP 19134)  0x40151b1e in select () from /lib/libc.so.6
   5 Thread 81924 (LWP 19133)  0x40151b1e in select () from /lib/libc.so.6
   4 Thread 65539 (LWP 19132)  0x40151b1e in select () from /lib/libc.so.6
   3 Thread 16386 (LWP 19106)  0x40151b1e in select () from /lib/libc.so.6
* 2 Thread 32769 (LWP 19105)  0x400baa51 in kill () from /lib/libc.so.6
   1 Thread 16384 (LWP 19104)  0x40151b1e in select () from /lib/libc.so.6

(gdb) thread 7
[Switching to thread 7 (Thread 114694 (LWP 19135))]#0  0x40151b1e in 
select () from /lib/libc.so.6
(gdb) call PyRun_SimpleString("import sys, traceback; 
sys.stderr=open('/tmp/tb','w',0); traceback.print_stack()")

Program received signal SIGABRT, Aborted.
[Switching to Thread 32769 (LWP 19105)]
0x400baa51 in kill () from /lib/libc.so.6
The program being debugged was signaled while in a function called 
from GDB.
GDB remains in the frame where the signal was received.
To change this behavior use "set unwindonsignal on"
Evaluation of the expression containing the function 
(PyRun_SimpleString) will be abandoned.
(gdb)

Program received signal SIGSEGV, Segmentation fault.
0x400bba61 in abort () from /lib/libc.so.6
The program being debugged was signaled while in a function called 
from GDB.
GDB remains in the frame where the signal was received.
To change this behavior use "set unwindonsignal on"
Evaluation of the expression containing the function 
(PyRun_SimpleString) will be abandoned.

(gdb) info threads
   7 Thread 114694 (LWP 19135)  0x400baae2 in sigsuspend () from 
/lib/libc.so.6
   6 Thread 98309 (LWP 19134)  0x40151b1e in select () from /lib/libc.so.6
   5 Thread 81924 (LWP 19133)  0x40151b1e in select () from /lib/libc.so.6
   4 Thread 65539 (LWP 19132)  0x40151b1e in select () from /lib/libc.so.6
   3 Thread 16386 (LWP 19106)  0x40151b1e in select () from /lib/libc.so.6
* 2 Thread 32769 (LWP 19105)  0x400bba61 in abort () from /lib/libc.so.6
   1 Thread 16384 (LWP 19104)  0x40151b1e in select () from /lib/libc.so.6

(gdb) info threads
* 7 Thread 114694 (LWP 19135)  0x400baae2 in sigsuspend () from 
/lib/libc.so.6
   6 Thread 98309 (LWP 19134)  0x40151b1e in select () from /lib/libc.so.6
   5 Thread 81924 (LWP 19133)  0x40151b1e in select () from /lib/libc.so.6
   4 Thread 65539 (LWP 19132)  0x40151b1e in select () from /lib/libc.so.6
   3 Thread 16386 (LWP 19106)  0x40151b1e in select () from /lib/libc.so.6
   2 Thread 32769 (LWP 19105)  0x400bba61 in abort () from /lib/libc.so.6
   1 Thread 16384 (LWP 19104)  0x40151b1e in select () from /lib/libc.so.6