This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients neologix, vstinner
Date 2011-07-01.19:48:47
SpamBayes Score 7.1874524e-07
Marked as misclassified No
Message-id <1309549728.18.0.719453770031.issue12469@psf.upfronthosting.co.za>
In-reply-to
Content
Debug session with gdb:
-----------------------------------------------
[vstinner@buildbot-freebsd ~/cpython]$ gdb -args ./python x.py 
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 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-marcel-freebsd"...run

(gdb) run
Starting program: /usr/home/vstinner/cpython/python x.py
warning: Unable to get location for thread creation breakpoint: generic error
[New LWP 100106]
[New Thread 0x81f8000 (LWP 100089)]

Program received signal SIGBUS, Bus error.
[Switching to Thread 0x81f8000 (LWP 100083)]
stack_overflow (min_sp=0xb97fe7f0, max_sp=0xc5ffe7f0, depth=0xbfbfe7f0)
    at ./Modules/faulthandler.c:870
870	    buffer[0] = 1;
(gdb) signal SIGBUS
Continuing with signal SIGBUS.
[New LWP 100083]

Program received signal SIGBUS, Bus error.
[Switching to LWP 100083]
0x2824df2a in signalcontext () from /lib/libc.so.6
(gdb) handle SIGBUS nostop
Signal        Stop	Print	Pass to program	Description
SIGBUS        No	Yes	Yes		Bus error
(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/home/vstinner/cpython/python x.py
warning: Unable to get location for thread creation breakpoint: generic error
[New LWP 100096]
[New Thread 0x81f8000 (LWP 100096)]

Program received signal SIGBUS, Bus error.
[New LWP 100096]

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
-----------------------------------------------

If I revert the commit, faulthandler is able to dump the traceback on a stack overflow. But if I create a thread (and wait until it exits), faulthandler signal handler (for SIGBUS) is no more called.
History
Date User Action Args
2011-07-01 19:48:48vstinnersetrecipients: + vstinner, neologix
2011-07-01 19:48:48vstinnersetmessageid: <1309549728.18.0.719453770031.issue12469@psf.upfronthosting.co.za>
2011-07-01 19:48:47vstinnerlinkissue12469 messages
2011-07-01 19:48:47vstinnercreate