[Bf-committers] Crash Handler

Doug Gale doug65536 at gmail.com
Sun Jul 21 21:33:19 CEST 2013


In GDB you can use handle SIGSEGV stop.
In visual studio, you can go to the Exceptions... dialog and check 
"thrown" on everything to catch exceptions at the faulting instruction.
In CDB/WinDBG/KD you can do sxe av.

I think it is a very bad idea to catch segment faults. I was working on 
blender earlier (in a debugger) and blender just vanished. I didn't know 
a signal handler had been added to blender.

Swallowing the exception and exiting is very bad behavior. For normal 
users, it is far more confusing for the application to just 
spontaneously disappear than if it crashed properly. A savvy user could 
potentially hook up a debugger and get call stacks. In windows, the 
event log would record the application crash and possibly save a mini-dump.

Exiting in a debug build is just an annoyance, requiring the developer 
to take steps to configure the debugger to stop instead of the blender 
window disappearing.

-Doug

On 07/21/2013 03:06 PM, Brecht Van Lommel wrote:
> On Mac/Linux you can still use gdb as usual as far as I can tell, the
> crash handler doesn't override anything there. Probably something
> needs to be fixed on Windows to make blender_crash_handler pass on the
> SIGSEGV to the debugger?
>
> On Sun, Jul 21, 2013 at 10:26 AM, Jason Wilkins
> <jason.a.wilkins at gmail.com> wrote:
>> I'm probably out of the loop on this, so I apologize if I'm working from
>> old information.
>>
>> I just spent some time scratching my head because my debugger wasn't
>> catching segmentation faults (Blender was just disappearing).
>>
>> Seems that Blender how registers a SIGSEG handler, but this feature seems
>> incomplete compared to what a debugger or and operating system provide at
>> this time.  I understand that this probably meant to be a user facing
>> feature, but at this time, even the "Blender has stopped working" in
>> Windows message is more useful than what Blender does now.
>>
>> Perhaps this feature should be disabled until it is more complete?
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers



More information about the Bf-committers mailing list