Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Issue 1066243002: Accept non-fatal resource exceptions without generating crash reports (Closed)

Created:
5 years, 8 months ago by Mark Mentovai
Modified:
5 years, 8 months ago
Reviewers:
Robert Sesek
CC:
crashpad-dev_chromium.org
Base URL:
https://chromium.googlesource.com/crashpad/crashpad@master
Target Ref:
refs/heads/master
Project:
crashpad
Visibility:
Public.

Description

Accept non-fatal resource exceptions without generating crash reports. This adds IsExceptionNonfatalResource() and its test, and uses it in crashpad_handler. When non-fatal resource exceptions are encountered, no crash report is generated. crashpad_handler swallows these exceptions. Alternatively, it could allow them to be sent to the system’s host-level resource exception handler, normally com.apple.ReportCrash.root, which would allow them to be processed in the same way as when Crashpad is not in use. I’m not sure which option is better. I chose to swallow them because there doesn’t appear to be much value in letting com.apple.ReportCrash.root and spindump look at them. This also moves ExcCrashRecoverOriginalException() to the new file as a sibling of IsExceptionNonfatalResource(). This provides better organization. BUG=crashpad:35, chromium:474163, chromium:474326 TEST=crashpad_util_test ExceptionTypes.IsExceptionNonfatalResource R=rsesek@chromium.org Committed: https://chromium.googlesource.com/crashpad/crashpad/+/1baff4ff92fe1a1ead6b88b5f01633a4f0b6b51c

Patch Set 1 #

Patch Set 2 : --no-find-copies #

Patch Set 3 : Use pid_t instead of task_t #

Patch Set 4 : Swallow non-fatal EXC_RESOURCE #

Unified diffs Side-by-side diffs Delta from patch set Stats (+546 lines, -123 lines) Patch
M compat/compat.gyp View 1 chunk +2 lines, -0 lines 0 comments Download
A compat/mac/kern/exc_resource.h View 1 chunk +62 lines, -0 lines 0 comments Download
M compat/mac/mach-o/getsect.cc View 1 chunk +1 line, -1 line 0 comments Download
A compat/mac/sys/resource.h View 1 1 chunk +26 lines, -0 lines 0 comments Download
M handler/mac/crash_report_exception_handler.cc View 1 2 3 2 chunks +21 lines, -3 lines 0 comments Download
M snapshot/mac/exception_snapshot_mac.cc View 1 chunk +1 line, -1 line 0 comments Download
M tools/mac/catch_exception_tool.cc View 1 chunk +1 line, -0 lines 0 comments Download
M util/mach/exc_server_variants.h View 1 chunk +0 lines, -34 lines 0 comments Download
M util/mach/exc_server_variants.cc View 1 chunk +0 lines, -27 lines 0 comments Download
M util/mach/exc_server_variants_test.cc View 3 chunks +1 line, -57 lines 0 comments Download
M util/mach/exception_ports_test.cc View 1 chunk +1 line, -0 lines 0 comments Download
A util/mach/exception_types.h View 1 2 1 chunk +79 lines, -0 lines 0 comments Download
A util/mach/exception_types.cc View 1 2 1 chunk +208 lines, -0 lines 0 comments Download
A util/mach/exception_types_test.cc View 1 2 1 chunk +140 lines, -0 lines 0 comments Download
M util/util.gyp View 1 chunk +2 lines, -0 lines 0 comments Download
M util/util_test.gyp View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 6 (2 generated)
Mark Mentovai
5 years, 8 months ago (2015-04-07 22:38:56 UTC) #2
Robert Sesek
LGTM. Are you not handling EXC_GUARD the same way?
5 years, 8 months ago (2015-04-08 21:42:24 UTC) #4
Mark Mentovai
EXC_GUARD is always fatal.
5 years, 8 months ago (2015-04-08 21:42:48 UTC) #5
Mark Mentovai
5 years, 8 months ago (2015-04-08 21:46:14 UTC) #6
Message was sent while issue was closed.
Committed patchset #4 (id:80001) manually as
1baff4ff92fe1a1ead6b88b5f01633a4f0b6b51c (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698