aboutsummaryrefslogtreecommitdiff
path: root/src/client/mac/handler/exception_handler.cc
Commit message (Collapse)AuthorAgeFilesLines
* Update linksOrgad Shaneh2016-11-181-2/+2
| | | | | | | | | | code.google.com is obsolete. Fix all broken markdown links while at it. Change-Id: I6a337bf4b84eacd5f5c749a4ee61331553279009 Reviewed-on: https://chromium-review.googlesource.com/411800 Reviewed-by: Mike Frysinger <vapier@chromium.org>
* Don't call _exit() on iOS.Justin Cohen2016-10-131-0/+5
| | | | | | | | | | | | | Calling _exit() is something iOS inherited from Mac OS X Breakpad, and isn't necessary on iOS. This is necessary because recently iOS has started re-launching the application if breakpad catches a startup crash and calls exit during startup. BUG=chromium:645146 Change-Id: Ibb5a681282a886259424655aa8506a80a1fd4f4c Reviewed-on: https://chromium-review.googlesource.com/397058 Reviewed-by: Mark Mentovai <mark@chromium.org>
* Use PAGE_MAX_SIZE. PAGE_SIZE is now a variable size.qsr@chromium.org2014-06-061-1/+5
| | | | | | | | | | | | | | | | This fixes exception_handler.cc:77:8: error: fields must have a constant size: 'variable length array in structure' extension will never be supported char protected_buffer[PAGE_SIZE] __attribute__((aligned(PAGE_SIZE))); BUG=None TEST=breakpad builds on ios8 R=mark@chromium.org Review URL: https://breakpad.appspot.com/9654002 Patch from Justin Cohen <justincohen@chromium.org>. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1338 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Make ARM64 detection consistent in chromium.mark@chromium.org2014-04-011-2/+2
| | | | | | | | | | | | | | This is to uniform ARM64 detection code in chromium. Use only __aarch64__ and don't look for __arm64__ at all. Patch by Primiano Tucci <primiano@chromium.org> BUG=chromium:354405, chromium:358092 Review URL: https://breakpad.appspot.com/1304002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1293 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Generate minidumps for 64-bit ARM apps on iOS.mark@chromium.org2013-11-211-11/+13
| | | | | | | | | | | | | | | Adds an ARM64-specific definition of MDRawContext and support for writing out a minidump when running on ARM64. Additionally, extends the iOS minidump generator for NSExceptions to work on ARM64 as well as ARM. Patch by Colin Blundell <blundell@chromium.org> BUG=542 Review URL: https://breakpad.appspot.com/664002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1235 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Enable the SIGABRT handler on desktop OS Xted.mielczarek@gmail.com2013-08-141-2/+0
| | | | | | R=mark at https://breakpad.appspot.com/618002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1205 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix missing result check in Mac exception handlerted.mielczarek@gmail.com2013-04-181-3/+7
| | | | | | Patch by Georg Fritzsche <georg.fritzsche@googlemail.com>, R=ted at https://breakpad.appspot.com/554003/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1152 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Make OOP mac crashreporting exit after writing dumpted.mielczarek@gmail.com2013-03-061-1/+4
| | | | | | R=mark at https://breakpad.appspot.com/538002/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1127 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow the Mac and iOS Breakpad clients to build without exceptions when the ↵mark@chromium.org2012-12-111-1/+14
| | | | | | | | | | | | C++ standard library is not provided by libstdc++. libc++, for example, does not provide its own try and catch replacement macros when exceptions are disabled. BUG=509 Review URL: https://breakpad.appspot.com/503002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1089 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a bunch of small nits.thestig@chromium.org2012-09-261-52/+50
| | | | | | Review URL: https://breakpad.appspot.com/463004 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1051 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Getting context information from the kernel when catching a SIGABRT on iOS.qsr@chromium.org2012-08-201-3/+6
| | | | | | | | | Until now, the context information was the current one when receiving a SIGABRT. This is mainly wrong because the signal handler start in a new context. This instead use the context passed to the signal handler. Review URL: https://breakpad.appspot.com/435002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1015 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Unprotect the allocator before trying to create a minidump from a signal.qsr@chromium.org2012-05-141-5/+13
| | | | | | | | | It is impossible to write a minidump with memory protected. This means that before this change, no minidump were created when a signal was caught, instead the application froze. Review URL: https://breakpad.appspot.com/389002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@964 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix one more -Wnull-conversion warning.mark@chromium.org2012-03-301-1/+2
| | | | | | | | | Patch by Nico Weber <thakis@chromium.org> Review URL: https://breakpad.appspot.com/370001/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@939 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix -Wnull-conversion warnings in breakpad.mark@chromium.org2012-03-301-1/+1
| | | | | | | | | Patch by Nico Weber <thakis@chromium.org> Review URL: https://breakpad.appspot.com/367001/ git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@938 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add high level API for breakpad on iOS.qsr@chromium.org2012-03-131-7/+9
| | | | | | | | | | | The new API allows to automatically upload repports to the crash server when the application restarts. This change also: - Correct a bug on the test for correct alignment of the abrt signal handler - Add user friendly information on crashes for SIGABRT and NSException Review URL: https://breakpad.appspot.com/361001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@935 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Change iOS implementation to not use exc_serverqsr@chromium.org2012-03-091-86/+89
| | | | | | | | | | | Instead of using exc_server, the message is parsed directly, and the minidump is created, then the app is killed. Moreover, the only catch exception is exception_raise. This patch remove all rereference to exception_raise_state and exception_raise_state_identity. Review URL: https://breakpad.appspot.com/358001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@934 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add SIGABRT handler for mac and iOS.qsr@chromium.org2012-03-091-5/+61
| | | | | | | | SIGABRT were not handled while in process. This change add a signal handler to handle this. Review URL: https://breakpad.appspot.com/360001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@933 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Removing breakpad_exc_server and all references.qsr@chromium.org2012-03-081-77/+2
| | | | | | | This was aimed at replacing exc_server, but was not used. Review URL: https://breakpad.appspot.com/357001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@930 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Correct various compilation warnings.qsr@chromium.org2012-03-071-10/+11
| | | | | | | | | | - Cast result of _dyld_image_count to prevent compilation warning: The 2 int in both side of the ? operator should have the same type. - Remove unused variable for return values. - Remove unused NSUserDefaults. Review URL: https://breakpad.appspot.com/354001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@929 4c0a9323-5329-0410-9bdc-e9ce6186880e
* #ifdef cpu specific code.qsr@chromium.org2011-10-071-0/+13
| | | | | | Review URL: http://breakpad.appspot.com/307002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@848 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix a Breakpad crash during teardown when USE_PROTECTED_ALLOCATIONS is inmark@chromium.org2011-08-261-0/+8
| | | | | | | | | | | | effect. BUG=none TEST=Apple Crash Reporter logs from processes in which Breakpad handles the crash should point the finger at the actual crash source, not the Breakpad thread's attempt to write to unwritable memory. Review URL: http://breakpad.appspot.com/301001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@828 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Rename duplicate argument names to make it compile with CLang.ted.mielczarek2011-01-251-8/+8
| | | | | | P=rafael.espindola R=ted at http://breakpad.appspot.com/248001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@765 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow writing on-request minidumps with an exception streamted.mielczarek@gmail.com2010-12-151-26/+49
| | | | | | R=mark at http://breakpad.appspot.com/172001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@745 4c0a9323-5329-0410-9bdc-e9ce6186880e
* issue 334 - Fix a race condition between ExceptionHandler::Teardown and ↵ted.mielczarek@gmail.com2010-12-151-4/+11
| | | | | | | | ExceptionHandler::WaitForMessage on OS X R=mark at http://breakpad.appspot.com/165001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@744 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Allow dumping live processes on OS Xted.mielczarek@gmail.com2010-08-131-0/+32
| | | | | | R=mark at http://breakpad.appspot.com/148001/show git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@647 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Implement CrashGeneration{Client,Server} for OOP dump generation on OS X, ↵ted.mielczarek@gmail.com2010-08-131-3/+19
| | | | | | | | enable OOP dump generation in ExceptionHandler R=mark at http://breakpad.appspot.com/146001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@646 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Review: http://breakpad.appspot.com/136001dmaclach2010-07-281-2/+3
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@633 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Forward exceptions in child processes to Apple's Crash Reporternealsid2009-11-181-0/+3
| | | | | | | | | | http://breakpad.appspot.com/38001/show R=mmentovai, jeremy A=nealsid git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@429 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Always export catch_exception_raise.mmentovai2009-11-111-1/+4
| | | | | | | | | Patch by Jeremy Moskovich <jeremy@chromium.org> Code review URL: http://breakpad.appspot.com/37001 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@428 4c0a9323-5329-0410-9bdc-e9ce6186880e
* issue 323 - OS X exception handler / minidump generator should set exception ↵ted.mielczarek2009-06-121-6/+13
| | | | | | address correctly for EXC_BAD_ACCESS . r=nealsid at http://breakpad.appspot.com/15002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@350 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Open sourcing the Breakpad framework from Google. nealsid2009-04-011-1/+0
| | | | | | | | | A=many, many people R=nealsid, jeremy moskovich(from Chromium project) git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@322 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Undo suspend/resume feature since it was meant as a workaround to a bug in ↵nealsid2008-10-271-46/+20
| | | | | | how we handled child process exceptions. Currently we don't return to the kernel when we take an exception from a child process, causing a hang. Now we return KERN_FAILURE, indicating to the kernel to move on to the host-level exception handler(usually Crash Reporter) git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@292 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 181: Add version info for Mac OS X modules. Found by iterating over ↵nealsid2008-10-221-36/+66
| | | | | | load commands until I found LC_ID_DYLIB. Also modified crash_report to generate version number. Also added suspend/resume capability to exception handler, necessary because exception handling can behave strangely across fork() calls. Also added fix for filtering out functions with no line number information, and for filtering out some multiple inheritance glue the compiler generates. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@291 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Now we provide our own implementation of the MIG function exc_server, as ↵nealsid2008-07-111-0/+71
| | | | | | | | | | | | recommended by Apple. See http://groups.google.com/group/google-breakpad-dev/browse_thread/thread/8b363b1f8a404714 For more information git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@282 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 209: Reviewer waylonisladderbreaker2007-09-191-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@208 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue203 : reviewed by Waylonisladderbreaker2007-08-291-7/+24
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@206 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 202: reviewed by Waylonisladderbreaker2007-08-271-0/+30
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@205 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 161: reviewer Waylonisladderbreaker2007-05-071-2/+2
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@160 4c0a9323-5329-0410-9bdc-e9ce6186880e
* missed header renames from Issue 152ted.mielczarek2007-05-041-1/+1
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@155 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 152 - Patch by Dave Camp, Reviewer Chris Rogersted.mielczarek2007-05-031-1/+2
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@152 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Issue 159: reviewer Waylonisladderbreaker2007-05-021-30/+68
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@151 4c0a9323-5329-0410-9bdc-e9ce6186880e
* fixes for issue 128: reviewed by Waylonisladderbreaker2007-03-081-0/+46
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@124 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Rename Airbag to Breakpad.mmentovai2007-02-141-2/+2
| | | | git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@122 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Fix bug with mach-o walker not properly walking universal binary (Issue #125)waylonis2007-02-071-43/+29
| | | | | | | | | Fix exception handler so that it will properly forward exceptions (Issue #126) r=mmentovai git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@119 4c0a9323-5329-0410-9bdc-e9ce6186880e
* - Fixes the bug with a fork()'d child's exception being caught in the parent ↵waylonis2007-02-051-30/+62
| | | | | | | | | | | | | | | process - Only looks for EXC_MASK_BAD_ACCESS, EXC_MASK_BAD_INSTRUCTION, and EXC_MASK_ARITHMETIC exceptions - Adds try/catch blocks around "new" for bad_alloc - Uses map.find() rather than map[] notation so as not to create extraneous objects - Creates the exception watching thread as detached r=mmentovai git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@117 4c0a9323-5329-0410-9bdc-e9ce6186880e
* Add Mac exception handler and generator. Fixes issue #69. Reviewed by ↵waylonis2006-12-201-0/+497
mmentovai. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@98 4c0a9323-5329-0410-9bdc-e9ce6186880e