Closed Bug 593559 Opened 9 years ago Closed 9 years ago

"Assertion failure: !argv[-1].isMagic()" with iter.throw

Categories

(Core :: JavaScript Engine, defect, critical)

x86_64
Linux
defect
Not set
critical

Tracking

()

RESOLVED FIXED
Tracking Status
blocking2.0 --- betaN+

People

(Reporter: jruderman, Assigned: luke)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, regression, testcase, Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file)

Testcase

var iter = (function () {yield})();
var t = iter.throw;
new t;

    Result

Assertion failure: !argv[-1].isMagic(), at jsinterp.cpp:301

    The first bad revision is

changeset:   52720:66c8ad02543b
user:        Luke Wagner <lw@mozilla.com>
date:        Mon Aug 16 12:35:04 2010 -0700
summary:     Bug 581263 - remove slow natives (r=waldo,mrbkap)
This predates bug 581263: JSFUN_CONSTRUCTOR (originally, JSFUN_FAST_CONSTRUCTOR) has the same value as JSPROP_READONLY.  Hence, generator_throw is being interpreted as a constructor when it only wants to be a readonly property.  A simple fix is to just use the recently-vacated JSFUN_FAST_NATIVE bit for JSFUN_CONSTRUCTOR, but I get the feeling this was supposed to work somehow... is something else amiss?
blocking2.0: --- → ?
Attached patch maybeSplinter Review
Assuming the answer to comment 1 is "this shouldn't have worked ever", the patch chooses a new bit for JSFUN_CONSTRUCTOR.
Assignee: general → lw
Status: NEW → ASSIGNED
Attachment #487144 - Flags: review?(brendan)
blocking2.0: ? → betaN+
Comment on attachment 487144 [details] [diff] [review]
maybe

Cool, I need this patch!

/be
Attachment #487144 - Flags: review?(brendan) → review+
Whiteboard: fixed-in-tracemonkey
http://hg.mozilla.org/mozilla-central/rev/279e8fdbc346
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
A testcase for this bug was automatically identified at js/src/jit-test/tests/basic/testBug593559.js.
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.