Closed Bug 677371 Opened 13 years ago Closed 13 years ago

[jsdbg2] Assertion failure: throwing, at jscntxt.h:1274

Categories

(Core :: JavaScript Engine, defect)

Other Branch
x86_64
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: decoder, Assigned: jorendorff)

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

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


var g = newGlobal('new-compartment');
g.parent = this;
g.eval("new Debugger(parent).onExceptionUnwind = function () {};");
var g = newGlobal('new-compartment');
g.eval("function f(n) { if (n) f(n - 1); debugger; }");
var dbg = new Debugger(g);
dbg.onDebuggerStatement = function (frame) {
    if (hits === 1) { }
};
g.f(20);
Attached patch v1Splinter Review
A self-inflicto.
Assignee: general → jorendorff
Attachment #551608 - Flags: review?(jimb)
Comment on attachment 551608 [details] [diff] [review]
v1

Review of attachment 551608 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/jit-test/tests/debug/onExceptionUnwind-07.js
@@ +5,5 @@
> +var hits = 0;
> +dbg.onExceptionUnwind = function (frame, value) { hits = 'BAD'; };
> +dbg.onDebuggerStatement = function (frame) {
> +    if (hits++ === 0)
> +	assertEq(frame.eval("debugger;"), null);

I figured out that 'eval("debugger;")' will return undefined, but it might be more obvious if this were 'eval("debugger; 2")'.
Attachment #551608 - Flags: review?(jimb) → review+
frame.eval returns a completion value; the test asserts that the completion value is null, indicating an uncatchable error.

http://hg.mozilla.org/users/jblandy_mozilla.com/jsdbg2/rev/48e43edc8834
http://hg.mozilla.org/mozilla-central/rev/48e43edc8834
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: