Open Bug 1270279 Opened 8 years ago Updated 2 years ago

Crashes caused by bad indirect calls are not unwound properly

Categories

(Toolkit :: Crash Reporting, defect)

defect

Tracking

()

People

(Reporter: jrmuizel, Unassigned)

References

Details

In the following crash:
https://crash-stats.mozilla.com/report/index/af696fd0-d495-45dd-b4a6-97d902160420

We give have 0th frame of:

 { "frame": 0, "offset": "0x0", "registers": { "eax": "0x00000000", "ebp": "0x21f8f7dc", "ebx": "0x213858f0", "ecx": "0xffffffff", "edi": "0x00389ee8", "edx": "0x151c0508", "efl": "0x00010286", "eip": "0x00000000", "esi": "0x21f8f9a8", "esp": "0x21f8f7b8" }, "trust": "context" }

and 1st frame of:

 { "frame": 1, "missing_symbols": true, "module": "igdumdim32.dll", "module_offset": "0x227d8c", "offset": "0x6bec7d8c", "trust": "frame_pointer" }

However there should be a frame inbetween. The caller did:

   call $eax

which stored the address of the actual first frame on the stack. The unwind code ignores this and looks directly to the frame pointer.

Visual studio correctly unwinds this first frame.
Blocks: 1266220
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.