gdb unwinder can't unwind when newest frame is in JIT code
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
People
(Reporter: tromey, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
|
12.13 KB,
patch
|
Details | Diff | Splinter Review |
Comment 1•10 years ago
|
||
| Reporter | ||
Comment 2•10 years ago
|
||
| Reporter | ||
Comment 3•7 years ago
|
||
:nbp pointed out https://searchfox.org/mozilla-central/rev/7adb490485eff0783071a3e132005bceeb337461/js/src/jit/ProcessExecutableMemory.cpp#617 on irc.
<nbp> tromey: a JIT code is in the range ::execMemory.base_ to
::execMemory.base_ + ProcessExecutableMemory::MaxCodePages
| Reporter | ||
Comment 4•7 years ago
|
||
I suspect that using execMemory would let us remove ExecutableAllocator.py entirely.
Comment 5•7 years ago
|
||
(In reply to Tom Tromey :tromey from comment #4)
I suspect that using
execMemorywould let us removeExecutableAllocator.pyentirely.
Yes.
| Reporter | ||
Comment 6•7 years ago
|
||
This patch implements the basic idea, but in order to finish this bug
I think we need a second patch that searches the stack for the frame
descriptor. This could be done by looking for the two words and applying
some sanity checks: whether the one word decodes sanely, and whether the
return address corresponds to something that makes sense (either a JIT
address or something known to gdb).
Updated•3 years ago
|
Description
•