Add new exception code for OOM generated from Chromium.

See also https://codereview.chromium.org/2130293003/ for Chromium-side change and go/internal_cl_for_2130293003 for internal change.

BUG=chromium:614440
R=mark@chromium.org

Review URL: https://codereview.chromium.org/2160373002 .
This commit is contained in:
Will Harris 2016-07-19 14:41:53 -07:00
parent 5adeef6117
commit c99d374dde
2 changed files with 6 additions and 0 deletions

View file

@ -100,6 +100,9 @@ typedef enum {
/* STATUS_STACK_BUFFER_OVERRUN */ /* STATUS_STACK_BUFFER_OVERRUN */
MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION = 0xc0000374, MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION = 0xc0000374,
/* STATUS_HEAP_CORRUPTION */ /* STATUS_HEAP_CORRUPTION */
MD_EXCEPTION_OUT_OF_MEMORY = 0xe0000008,
/* Exception thrown by Chromium allocators to indicate OOM.
See base/process/memory.h in Chromium for rationale. */
MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION = 0xe06d7363 MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION = 0xe06d7363
/* Per http://support.microsoft.com/kb/185294, /* Per http://support.microsoft.com/kb/185294,
generated by Visual C++ compiler */ generated by Visual C++ compiler */

View file

@ -1186,6 +1186,9 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, uint64_t *address) {
case MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION: case MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION:
reason = "EXCEPTION_HEAP_CORRUPTION"; reason = "EXCEPTION_HEAP_CORRUPTION";
break; break;
case MD_EXCEPTION_OUT_OF_MEMORY:
reason = "Out of Memory";
break;
case MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION: case MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION:
reason = "Unhandled C++ Exception"; reason = "Unhandled C++ Exception";
break; break;