New submission from STINNER Victor <victor.stin...@haypocalc.com>: py-bt is too much verbose, I'm unable to read it.
Example: -------------------- $ gdb -args ./python -c 'import time, threading; threading.Thread(target=lambda:time.sleep(3)).start()' ... [New Thread 0x7ffff69d9700 (LWP 17193)] ^C Program received signal SIGINT, Interrupt. sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86 86 ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Aucun fichier ou dossier de ce type. in ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S (gdb) py-bt #6 Frame 0xc52620, for file /home/haypo/prog/HG/cpython/Lib/threading.py, line 237, in wait (self=<_Condition(release=<built-in method release of _thread.lock object at remote 0xc1f1e0>, acquire=<built-in method acquire of _thread.lock object at remote 0xc1f1e0>, _lock=<_thread.lock at remote 0xc1f1e0>, _waiters=[<_thread.lock at remote 0xafb590>], _verbose=False) at remote 0xc1cbe0>, timeout=None, waiter=<_thread.lock at remote 0xafb590>, saved_state=None) waiter.acquire() #10 Frame 0xbbb580, for file /home/haypo/prog/HG/cpython/Lib/threading.py, line 851, in join (self=<Thread(_target=<function at remote 0xbb5d30>, _block=<_Condition(release=<built-in method release of _thread.lock object at remote 0xc1f1e0>, acquire=<built-in method acquire of _thread.lock object at remote 0xc1f1e0>, _lock=<_thread.lock at remote 0xc1f1e0>, _waiters=[<_thread.lock at remote 0xafb590>], _verbose=False) at remote 0xc1cbe0>, _args=(), _initialized=True, _name='Thread-1', _daemonic=False, _kwargs={}, _stderr=<_io.TextIOWrapper at remote 0xac15a0>, _ident=140737330910976, _started=<_Event(_flag=True, _cond=<_Condition(release=<built-in method release of _thread.lock object at remote 0xad7e00>, acquire=<built-in method acquire of _thread.lock object at remote 0xad7e00>, _lock=<_thread.lock at remote 0xad7e00>, _waiters=[], _verbose=False) at remote 0xc1ce40>, _verbose=False) at remote 0xaec980>, _stopped=False, _verbose=False) at remote 0xc2fb70>, timeout=None) self._block.wait() #14 Frame 0xc42eb0, for file /home/haypo/prog/HG/cpython/Lib/threading.py, line 965, in _exitfunc (self=<_MainThread(_target=None, _block=<_Condition(release=<built-in method release of _thread.lock object at remote 0xc66290>, acquire=<built-in method acquire of _thread.lock object at remote 0xc66290>, _lock=<_thread.lock at remote 0xc66290>, _waiters=[], _verbose=False) at remote 0xc66110>, _args=(), _initialized=True, _name='MainThread', _daemonic=False, _kwargs={}, _stderr=<_io.TextIOWrapper at remote 0xac15a0>, _ident=140737353987840, _started=<_Event(_flag=True, _cond=<_Condition(release=<built-in method release of _thread.lock object at remote 0xc62fe0>, acquire=<built-in method acquire of _thread.lock object at remote 0xc62fe0>, _lock=<_thread.lock at remote 0xc62fe0>, _waiters=[], _verbose=False) at remote 0xc65d20>, _verbose=False) at remote 0xc65840>, _stopped=True, _verbose=False) at remote 0xc64c90>, t=<Thread(_target=<function at remote 0xbb5d30>, _block=<_Condit ion(release=<built-in method release o...(truncated) t.join() -------------------- Attached patch uses a syntax closer to classic Python tracebacks: -------------------- $ gdb -args ./python -c 'import time, threading; (gdb) run ... [New Thread 0x7ffff69d9700 (LWP 17193)] ^C Program received signal SIGINT, Interrupt. sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86 86 ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Aucun fichier ou dossier de ce type. in ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S (gdb) py-bt Traceback (most recent call first): File "/home/haypo/prog/HG/cpython/Lib/threading.py", line 237, in wait File "/home/haypo/prog/HG/cpython/Lib/threading.py", line 851, in join File "/home/haypo/prog/HG/cpython/Lib/threading.py", line 965, in _exitfunc (gdb) info threads 2 Thread 0x7ffff69d9700 (LWP 17193) 0x00007ffff72a0c73 in select () at ../sysdeps/unix/syscall-template.S:82 * 1 Thread 0x7ffff7fdb700 (LWP 17190) sem_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/sem_wait.S:86 (gdb) thread 2 [Switching to thread 2 (Thread 0x7ffff69d9700 (LWP 17193))]#0 0x00007ffff72a0c73 in select () at ../sysdeps/unix/syscall-template.S:82 82 ../sysdeps/unix/syscall-template.S: Aucun fichier ou dossier de ce type. in ../sysdeps/unix/syscall-template.S (gdb) py-bt Traceback (most recent call first): File "<string>", line 1, in <lambda> File "/home/haypo/prog/HG/cpython/Lib/threading.py", line 690, in run File "/home/haypo/prog/HG/cpython/Lib/threading.py", line 737, in _bootstrap_inner File "/home/haypo/prog/HG/cpython/Lib/threading.py", line 710, in _bootstrap -------------------- ---------- components: Demos and Tools files: gdb.patch keywords: patch messages: 135102 nosy: dmalcolm, haypo priority: normal severity: normal status: open title: libpython.py: nicer py-bt output versions: Python 3.3 Added file: http://bugs.python.org/file21878/gdb.patch _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue11996> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com