aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorWill Harris <wfh@chromium.org>2016-07-19 14:41:53 -0700
committerWill Harris <wfh@chromium.org>2016-07-19 14:41:53 -0700
commitc99d374dde62654a024840accfb357b2851daea0 (patch)
treedf31f2b3d665480c96b65a0d282ef125e7a0b951 /src
parentAdd process type to MicroDumpExtraInfo (diff)
downloadbreakpad-c99d374dde62654a024840accfb357b2851daea0.tar.xz
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 .
Diffstat (limited to 'src')
-rw-r--r--src/google_breakpad/common/minidump_exception_win32.h3
-rw-r--r--src/processor/minidump_processor.cc3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/google_breakpad/common/minidump_exception_win32.h b/src/google_breakpad/common/minidump_exception_win32.h
index e4cd59ed..6fa3fba4 100644
--- a/src/google_breakpad/common/minidump_exception_win32.h
+++ b/src/google_breakpad/common/minidump_exception_win32.h
@@ -100,6 +100,9 @@ typedef enum {
/* STATUS_STACK_BUFFER_OVERRUN */
MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION = 0xc0000374,
/* 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
/* Per http://support.microsoft.com/kb/185294,
generated by Visual C++ compiler */
diff --git a/src/processor/minidump_processor.cc b/src/processor/minidump_processor.cc
index 3ff19518..33b4a128 100644
--- a/src/processor/minidump_processor.cc
+++ b/src/processor/minidump_processor.cc
@@ -1186,6 +1186,9 @@ string MinidumpProcessor::GetCrashReason(Minidump *dump, uint64_t *address) {
case MD_EXCEPTION_CODE_WIN_HEAP_CORRUPTION:
reason = "EXCEPTION_HEAP_CORRUPTION";
break;
+ case MD_EXCEPTION_OUT_OF_MEMORY:
+ reason = "Out of Memory";
+ break;
case MD_EXCEPTION_CODE_WIN_UNHANDLED_CPP_EXCEPTION:
reason = "Unhandled C++ Exception";
break;