Closed Bug 876654 Opened 12 years ago Closed 12 years ago

[jsdbg2] Assertion failure: kind == CrossCompartmentKey::DebuggerScript || kind == CrossCompartmentKey::DebuggerObject || kind == CrossCompartmentKey::DebuggerEnvironment, at jsgc.cpp:3241

Categories

(Core :: JavaScript Engine, defect)

x86
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla24

People

(Reporter: decoder, Assigned: jonco)

Details

(Keywords: assertion, testcase)

Attachments

(2 files)

The following testcase asserts on mozilla-central revision c190422547ed (run with --ion-eager): gczeal(9, 2) let g = newGlobal('new-compartment'); let dbg = new Debugger(g); dbg.onNewScript = function (script) { var text = script.source.text; } g.eval("function f() { function g() {} }"); assertEq(count, 6);
The GC needs updating in light of the new DebuggerSource object introduced by bug 637572.
Attached patch Proposed fixSplinter Review
The assertion in JSCompartment::findOutgoingEdges() needs to be updated now DebuggerSource objects have been added. Debugger::findCompartmentEdges() was already updated to add edges for these CCWs in one direction. With the assertion updated JSCompartment::findOutgoingEdges() will add them in the other direction and everything will be fine.
Assignee: general → jcoppeard
Status: NEW → ASSIGNED
Attachment #758486 - Flags: review?(terrence)
Comment on attachment 758486 [details] [diff] [review] Proposed fix Review of attachment 758486 [details] [diff] [review]: ----------------------------------------------------------------- r=me
Attachment #758486 - Flags: review?(terrence) → review+
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: