Open Bug 1712674 Opened 3 years ago Updated 2 years ago

Add stack-walking recovery using BP in DoMozStackWalkThread

Categories

(Core :: mozglue, task)

Unspecified
Windows
task

Tracking

()

REOPENED

People

(Reporter: mozbugz, Unassigned)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file)

Spawned from https://phabricator.services.mozilla.com/D113269#3762061 and following comments, it seems possible to recover from some RtlLookupFunctionEntry() failures by trying to use the CONTEXT::Rbp register to find the caller's registers.

BP may contain the stack address where the caller's BP was pushed after the function call, in which case it's possible to carefully unwind from it.

This can get past JIT code, so there is no need to give up in this case.

Assignee: nobody → gsquelart
Status: NEW → ASSIGNED
Pushed by gsquelart@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/49f8a4acd649 If RtlLookupFunctionEntry fails, attempt to unwind from BP - r=glandium
Blocks: 1715467
Status: ASSIGNED → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → 91 Branch

Backed out changeset 49f8a4acd649 (Bug 1712674) for stack walking crashes on older Windows versions (Bug 1715633).
Backout link: https://hg.mozilla.org/integration/autoland/rev/3ee20501e5d618a8444079e9509c06794bfcc46f

Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Target Milestone: 91 Branch → ---

Sorry I didn't get to finish it.

Assignee: mozbugz → nobody
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: