Closed Bug 1692312 Opened 3 years ago Closed 3 years ago

Display the contents of the GetLastError() value when showing Windows crashes that contain it

Categories

(Socorro :: Webapp, task, P2)

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: gsvelto, Assigned: willkg)

References

Details

Attachments

(1 file)

This bug is for the front-end change required to display the data we'll extract in bug 1692309. I'll add more details once that's implemented but it's going to be an optional field with a hex value and a string that gets extracted by the stack walker.

Blocks: 1688271

With issue #16 fixed in the stack walker this can be implemented. The change in the stackwalker will cause it to include a new value in each thread called last_error_value which represents the equivalent of calling GetLastError() on that thread in Windows. The value is optional and if not present it's either because it's not supported (macOS/Linux) or because it's zero (meaning no previous operation has failed).

It would be nice to see the value in the "Details" tab if present in the crashing thread. This is just a numerical value for now. It can be translated into a set of names on Windows but I'll leave that to a follow-up bug because we need to somehow "port" the mappings into Socorro (or the stackwalker).

For crash reports that were processed with the updated minidump-stackwalk, it'll show up in the Raw Data and Minidumps tab in the minidump-stackwalk output.

For example, here's a crash report I kicked off last last week that I reprocessed that shows it now: bp-b7ef714d-623d-4494-a938-2d1e60210312

Is that sufficient? Do we want this showing up in some other capacity in the report view?

Assignee: nobody → willkg
Status: NEW → ASSIGNED
Flags: needinfo?(gsvelto)
Priority: -- → P2

It would be nice if we could show a line in the "Details" tab with the content of the value in the crashing thread if it is non-zero. Note that the last_value_error entry for that would be found inside the threads array, not within the crashing_thread one.

A description for that field would be something like: "The error that would have been returned by GetLastError() if it had been called in the crashing thread".

Flags: needinfo?(gsvelto)

I can do that. I'll try to do this in the next week or two.

Example crash report that has a last_error_value in the crashing thread (18): bp-b1faea94-fd90-4711-babe-e44dc0210326

(In reply to Will Kahn-Greene [:willkg] ET needinfo? me from comment #5)

Example crash report that has a last_error_value in the crashing thread (18): bp-b1faea94-fd90-4711-babe-e44dc0210326

That's a perfect sample. it's an OOM crash and the error value is 0x5af which Windows translates as ERROR_COMMITMENT_LIMIT. A 100% exquisitely Windows-ish failure.

I deployed this to prod just now in bug #1703541. Marking as FIXED.

Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: