[Python-Dev] Issue #8863 adds a new PYTHONNOFAULTHANDLER environment variable
Victor Stinner
victor.stinner at haypocalc.com
Sat Dec 18 01:55:36 CET 2010
Hi,
In 2008, I proposed a patch to raise a Python exception on SIGSEVG
signal. In some cases, it's possible to catch the exception, log it, and
continue the execution. But because in some cases, the Python internal
state is corrupted, the idea was rejected (see the issue #3999).
Someone asked me to display the Python backtrace on SIGSEGV, instead of
raising an exception. I implemented this idea in issue #8863. After 9
versions, I think that the patch is ready for inclusion. It catchs
SIGSEGV, SIGFPE, SIGBUS and SIGILL signals, and also display the Python
backtrace on fatal errors. Because some operating systems have their own
fault handler (eg. Ubuntu with apport), Dave Malcolm asked me to add an
option disable the Python handler. That's why I added the
PYTHONNOFAULTHANDLER environment variable (we all love long variable
names!). For an OS vendor, it looks like an environment variable is more
practical than a command line option. Eg. Mandriva sets
PYTHONDONTWRITEBYTECODE for the whole system.
Raymond Hettinger asked me on IRC to write an email about the new
environment variable, so here is the question: do you agree to add the
new variable?
Victor
More information about the Python-Dev
mailing list