Closed Bug 677367 Opened 9 years ago Closed 9 years ago

[jsdbg2] Assertion failure: !fp->isEvalFrame(), at jsinterpinlines.h:276

Categories

(Core :: JavaScript Engine, defect, critical)

Other Branch
x86_64
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla9

People

(Reporter: decoder, Assigned: luke)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase, Whiteboard: [inbound])

Attachments

(1 file)

The following code asserts on jsdbg2 branch (revision 82545b1e4129, options -j -m -d):


var g = newGlobal('new-compartment');
var dbg = new Debugger(g);
dbg.onDebuggerStatement = function (frame) {
    var code = "assertEq(c, 'ok');\n";
    assertEq(frame.evalWithBindings("eval(s)", {s: code, a: 1234}).return, undefined);
};
g.eval("function first() { return second(); }");
g.eval("function second() { return eval('third()'); }");
g.eval("function third() { debugger; }");
g.evaluate("first();");
Reduced a bit:

var g = newGlobal('new-compartment');
var dbg = new Debugger(g);
dbg.onDebuggerStatement = function (frame) {
    frame.eval("eval('0')");
};
g.eval("(function () { debugger; })();");
This happens in m-i too, with -d:

function f() {}
trap(f, 0, 'eval("2+2")');
f();
Attached patch fix for m-iSplinter Review
Sorry about ignoring your vote; I already had the patch :)

The heavyweight assert was removed since evalInFrame let's you put an eval frame inside a non-heavyweight function.
Assignee: general → luke
Status: NEW → ASSIGNED
Attachment #552259 - Flags: review?(jorendorff)
Comment on attachment 552259 [details] [diff] [review]
fix for m-i

Great!
Attachment #552259 - Flags: review?(jorendorff) → review+
http://hg.mozilla.org/mozilla-central/rev/2e2e0dc4654c
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla9
A testcase for this bug was automatically identified at js/src/jit-test/tests/basic/testBug677367.js.
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.