Created
January 29, 2016 01:49
-
-
Save stephen-soltesz/45116d5f775bdbc8067a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
bash-4.1# gdb python | |
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-75.el6) | |
... | |
[snip] | |
... | |
Reading symbols from /usr/bin/python...Reading symbols from /usr/lib/debug/usr/bin/python2.6.debug...done. | |
done. | |
(gdb) attach 12168 | |
Attaching to program: /usr/bin/python, process 12168 | |
Reading symbols from /usr/lib/libpython2.6.so.1.0...Reading symbols from /usr/lib/debug/usr/lib/libpython2.6.so.1.0.debug...done. | |
done. | |
... | |
[snip] | |
... | |
(gdb) info threads | |
3 Thread 0xb7574b70 (LWP 12171) 0x00b3f424 in __kernel_vsyscall () | |
* 2 Thread 0xb69ffb70 (LWP 23478) 0x00e15c82 in PyEval_EvalFrameEx (f= | |
Frame 0xb5e01424, for file /home/iupui_npad/build/DiagServer.py, line 341, in handle (self=<DiagRequestHandler(wfile=<_fileobject at remote 0x81790ec>, request=<_socketobject at remote 0x8175e64>, server=<DiagServer(RequestHandlerClass=<classobj at remote 0x817b0ec>, server_address=('::', 8001, 0, 0), _BaseServer__shutdown_request=False, _BaseServer__is_shut_down=<_Event(_Verbose__verbose=False, _Event__flag=False, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0xb770d360>, acquire=<built-in method acquire of thread.lock object at remote 0xb770d360>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0xb770d360>) at remote 0x817aa6c>) at remote 0x817aa8c>, socket=<_socketobject at remote 0x8175e2c>) at remote 0x817aaac>, connection=<...>, rfile=<_fileobject at remote 0x81795ec>, client_address=('::ffff:113.240.250.155', 64839, 0, 0)) at remote 0x817adcc>, xargs=[], handshake=False, line='\r\n', cmd=[]), throwflag=0) at Python/ceval.c:2156 | |
1 Thread 0xb771c6c0 (LWP 12168) 0x00b3f424 in __kernel_vsyscall () | |
(gdb) thread apply all py-list | |
Thread 3 (Thread 0xb7574b70 (LWP 12171)): | |
386 | |
387 | |
388 # Kill off misbehaving tests | |
389 def watchdog(serv): | |
390 while True: | |
>391 time.sleep(WATCHDOG_TIME/5) | |
392 serv.test_list_cv.acquire() | |
393 try: | |
394 if len(serv.test_list) > 0: | |
395 test = serv.test_list[0] | |
396 if test.kill_test != None and time.time() - test.test_start_time > WATCHDOG_TIME: | |
Thread 2 (Thread 0xb69ffb70 (LWP 23478)): | |
336 xargs=[] | |
337 try: | |
338 stats.requests += 1 | |
339 handshake = False | |
340 line = self.rfile.readline() | |
>341 while line != "": | |
342 cmd = line.split() | |
343 if len(cmd) < 1: | |
344 continue | |
345 | |
346 if not handshake: | |
Thread 1 (Thread 0xb771c6c0 (LWP 12168)): | |
150 | |
151 def _eintr_retry(func, *args): | |
152 """restart a system call interrupted by EINTR""" | |
153 while True: | |
154 try: | |
>155 return func(*args) | |
156 except (OSError, select.error) as e: | |
157 if e.args[0] != errno.EINTR: | |
158 raise | |
159 | |
160 class BaseServer: | |
(gdb) thread 2 | |
[Switching to thread 2 (Thread 0xb69ffb70 (LWP 23478))]#0 0x00e15c82 in PyEval_EvalFrameEx (f= | |
Frame 0xb5e01424, for file /home/iupui_npad/build/DiagServer.py, line 341, in handle (self=<DiagRequestHandler(wfile=<_fileobject at remote 0x81790ec>, request=<_socketobject at remote 0x8175e64>, server=<DiagServer(RequestHandlerClass=<classobj at remote 0x817b0ec>, server_address=('::', 8001, 0, 0), _BaseServer__shutdown_request=False, _BaseServer__is_shut_down=<_Event(_Verbose__verbose=False, _Event__flag=False, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0xb770d360>, acquire=<built-in method acquire of thread.lock object at remote 0xb770d360>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0xb770d360>) at remote 0x817aa6c>) at remote 0x817aa8c>, socket=<_socketobject at remote 0x8175e2c>) at remote 0x817aaac>, connection=<...>, rfile=<_fileobject at remote 0x81795ec>, client_address=('::ffff:113.240.250.155', 64839, 0, 0)) at remote 0x817adcc>, xargs=[], handshake=False, line='\r\n', cmd=[]), throwflag=0) at Python/ceval.c:2156 | |
2156 Py_DECREF(v); | |
(gdb) py-bt | |
... | |
[snip] | |
... | |
(gdb) py-locals | |
self = <DiagRequestHandler(wfile=<_fileobject at remote 0x81790ec>, request=<_socketobject at remote 0x8175e64>, server=<DiagServer(RequestHandlerClass=<classobj at remote 0x817b0ec>, server_address=('::', 8001, 0, 0), _BaseServer__shutdown_request=False, _BaseServer__is_shut_down=<_Event(_Verbose__verbose=False, _Event__flag=False, _Event__cond=<_Condition(_Verbose__verbose=False, _Condition__lock=<thread.lock at remote 0xb770d360>, acquire=<built-in method acquire of thread.lock object at remote 0xb770d360>, _Condition__waiters=[], release=<built-in method release of thread.lock object at remote 0xb770d360>) at remote 0x817aa6c>) at remote 0x817aa8c>, socket=<_socketobject at remote 0x8175e2c>) at remote 0x817aaac>, connection=<...>, rfile=<_fileobject at remote 0x81795ec>, client_address=('::ffff:113.240.250.155', 64839, 0, 0)) at remote 0x817adcc> | |
xargs = [] | |
handshake = False | |
line = '\r\n' | |
cmd = [] | |
(gdb) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment