Open
Bug 1290898
Opened 9 years ago
Updated 3 years ago
re-enable gdb spidermonkey unwinder by default
Categories
(Core :: JavaScript Engine, defect, P3)
Core
JavaScript Engine
Tracking
()
NEW
People
(Reporter: tromey, Unassigned)
References
(Depends on 1 open bug, Blocks 1 open bug)
Details
(Keywords: triage-deferred)
Bug 1259867 disabled the gdb spidermonkey unwinder by default.
However, now that rr supports qGetTLSAddr (https://github.com/mozilla/rr/issues/146),
it can maybe be re-enabled by default. (Or, if that fix
is insufficient, we can use this bug to record other problems.)
Updated•8 years ago
|
Keywords: triage-deferred
Priority: -- → P3
Comment 1•8 years ago
|
||
I'm finding if I enable the unwinder on trunk, I get the following:
Traceback (most recent call last):
File "/usr/share/gdb/python/gdb/__init__.py", line 104, in execute_unwinders
unwind_info = unwinder(pending_frame)
File "/home/mgaudet/mozilla-unified/js/src/gdb/mozilla/unwind.py", line 571, in __call__
return self.unwinder_state.unwind(pending_frame)
File "/home/mgaudet/mozilla-unified/js/src/gdb/mozilla/unwind.py", line 472, in unwind
if not self.is_jit_address(long(pc)):
File "/home/mgaudet/mozilla-unified/js/src/gdb/mozilla/unwind.py", line 342, in is_jit_address
execAllocators = [jitRuntime['execAlloc_'], jitRuntime['backedgeExecAlloc_']]
gdb.error: There is no member named execAlloc_.
Haven't looked much deeper into this, so not sure what's going on.
| Reporter | ||
Comment 2•7 years ago
|
||
It is broken in a new way now, see bug 1483323.
Enabling it by default seems difficult because there isn't a way to find
the frame descriptor if the newest frame is a JIT frame (there's some discussion
of this in bug 1483323 as well). However when frame pointers are available,
this could be done; see bug 1426134.
Comment 3•7 years ago
|
||
One possibility would be to detect if the gdb unwinder is running in rr and disable it only in that case (ideally with a brief explanation and a link to a Bugzilla bug). That would get us closer to this stuff Just Working.
Of course, if it's relatively easy to get it working under rr too, then we should just go with that instead of playing funny business with brand-detection.
| Reporter | ||
Comment 4•7 years ago
|
||
(In reply to Jim Porter (:squib) from comment #3)
> One possibility would be to detect if the gdb unwinder is running in rr and
> disable it only in that case (ideally with a brief explanation and a link to
> a Bugzilla bug). That would get us closer to this stuff Just Working.
>
> Of course, if it's relatively easy to get it working under rr too, then we
> should just go with that instead of playing funny business with
> brand-detection.
I don't think rr is a problem any more, since the TLS support went in there.
The main problem remains having to use a heuristic when JS is the newest frame.
Updated•3 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•