gohome1984 / google-breakpad

Automatically exported from code.google.com/p/google-breakpad
0 stars 0 forks source link

Catch SIGABRT on Mac? #343

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
http://crbug.com/26883

An assertion in the C++ standard library is calling abort(), which results
in SIGABRT.  At least in 10.6, Crash Reporter is picking these up as EXC_CRASH.

Original issue reported on code.google.com by mark@chromium.org on 6 Nov 2009 at 5:58

GoogleCodeExporter commented 9 years ago
EXC_CRASH is generated differently from the other exception types, and trying 
to 
intercept it gets things really angry.  EXC_CRASH comes from the kernel in 
response to 
certain sorts of abnormal process terminations (like, apparently, SIGABRT-based 
abort).  
It appears that it would be more proper in this case for the handler to catch 
(and 
possibly re-raise) SIGABRT than to try to catch the Mach exception.  I don't 
think we 
actually want to catch EXC_CRASH.

Original comment by mark@chromium.org on 6 Nov 2009 at 8:52

GoogleCodeExporter commented 9 years ago
This causes Breakpad to miss some types of crashes in C++ programs.  Stack 
buffer overflow checks and pure virtual function calls both crash using abort().

https://bugzilla.mozilla.org/show_bug.cgi?id=717758

Original comment by jruder...@gmail.com on 28 Apr 2013 at 10:22

GoogleCodeExporter commented 9 years ago
I started working on this a while ago but didn't finish it. The iOS port added 
code for this, but it needs to be fleshed out for x86.

Original comment by ted.mielczarek on 29 Apr 2013 at 11:49

GoogleCodeExporter commented 9 years ago
Patch up: https://breakpad.appspot.com/618002

Original comment by ted.mielczarek on 14 Aug 2013 at 11:33

GoogleCodeExporter commented 9 years ago
Landed in r1205.

Original comment by ted.mielczarek on 14 Aug 2013 at 5:24