Bug 1704034 Comment 0 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

Sometimes the reason for a crash is not part of Windows' `EXCEPTION_*` error codes but rather comes from [`NTSTATUS`](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/596a1078-e883-4972-9bbc-49e60bebca55). Additionally since bug 1692309 we're surfacing the contents of the last recorded error in the threads where it's non-null which is also an `NTSTATUS` value. We should print them out the actual names of those values.

This requires three things:
- Update the list of `NTSTATUS` values [which is outdated](https://searchfox.org/mozilla-central/rev/5a8487d8e9dd114289083800f723d9c56c9a8003/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_win32.h#135-2251)
- Use the name of the value for the crash reason if it is an `NTSTATUS` code
- Use the name of the value instead of the raw hexadecimal value for the content of the `GetLastError()` value
- Remove from the `MDExceptionCodeWin` enum the values that don't have corresponding macros in `minwinbase.h`, these will use the status codes instead to avoid confusion. Also correct the existing names because at least one is inconsistent with the Windows SDK headers.
Sometimes the reason for a crash is not part of Windows' `EXCEPTION_*` error codes but rather comes from [`NTSTATUS`](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-erref/596a1078-e883-4972-9bbc-49e60bebca55). Additionally since bug 1692309 we're surfacing the contents of the last recorded error in the threads where it's non-null which is also an `NTSTATUS` value. We should print them out the actual names of those values.

This requires three things:
- Update the list of `NTSTATUS` values [which is outdated](https://searchfox.org/mozilla-central/rev/5a8487d8e9dd114289083800f723d9c56c9a8003/toolkit/crashreporter/google-breakpad/src/google_breakpad/common/minidump_exception_win32.h#135-2251)
- Use the name of the value for the crash reason if it is an `NTSTATUS` code
- Remove from the `MDExceptionCodeWin` enum the values that don't have corresponding macros in `minwinbase.h`, these will use the status codes instead to avoid confusion. Also correct the existing names because at least one is inconsistent with the Windows SDK headers.

Edit: the change that affects `GetLastError()` values should only happen in Socorro's stack walker

Back to Bug 1704034 Comment 0