[Python-Dev] Trap SIGSEGV and SIGFPE

Benjamin Peterson musiccomposition at gmail.com
Wed Dec 10 19:42:56 CET 2008


On Wed, Dec 10, 2008 at 12:37 PM, Victor Stinner
<victor.stinner at haypocalc.com> wrote:
> Oh, I forgot the issue URL:
>   http://bugs.python.org/issue3999
>
> I also attached an example of catching segfaults.
>
>> > I published a new version of my fault handler: it installs an handler for
>> > signals SIGFPE and SIGSEGV. Using it, it's possible to catch them and
>> > continue the execution of your Python program. Example:
>>
>> This will of course leave the program in an undefined state.  It is
>> very likely to crash again, emit garbage, hang, or otherwise be
>> useless.
>
> Recover after a segfault is dangerous, but my first goal was to get the Python
> backtrace instead just one line: "Segmentation fault". It helps a lot for
> debug!

Exactly! That's why it doesn't belong in the Python core. We can't
guarantee anything about its affects or encourage it.

>
> I didn't try on real world application, but with a small script the program
> continues its execution without any problem.

But as you say, it would be used on real world programs!



-- 
Cheers,
Benjamin Peterson
"There's nothing quite as beautiful as an oboe... except a chicken
stuck in a vacuum cleaner."


More information about the Python-Dev mailing list