Closed
Bug 498395
Opened 15 years ago
Closed 15 years ago
"Assertion failure: !(pn->pn_dflags & flag), at ../jsparse.h"
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: gkw, Assigned: jorendorff)
References
Details
(Keywords: assertion, regression, testcase, Whiteboard: fixed-in-tracemonkey)
Attachments
(1 file)
(deleted),
patch
|
brendan
:
review+
mrbkap
:
review+
|
Details | Diff | Splinter Review |
eval("\
function(){\
for(\
let[x]=[]\
(\"\",function(){ x=[] })\
in w\
)\
l}\
")
Assertion failure: !(pn->pn_dflags & flag), at ../jsparse.h:661
$ hg identify && hg log | head
a08e2e4571d6 tip
changeset: 25972:a08e2e4571d6
Flags: blocking1.9.1?
Reporter | ||
Comment 1•15 years ago
|
||
autoBisect shows this is probably related to bug 452498 :
The first bad revision is:
changeset: 26784:2cf0bbe3772a
user: Brendan Eich
date: Sun Apr 05 21:17:22 2009 -0700
summary: upvar2, aka the big one take 2 (452498, r=mrbkap).
Blocks: upvar2
Keywords: regression
Assignee | ||
Comment 2•15 years ago
|
||
The eval is irrelevant:
function f() {
for (let x = function(){ x = 0; } in w)
;
}
Assertion failure: !(pn->pn_dflags & flag), at ../jsparse.h:661
Updated•15 years ago
|
Flags: wanted1.9.1+
Flags: blocking1.9.1?
Flags: blocking1.9.1-
Assignee | ||
Comment 4•15 years ago
|
||
Thanks sayrer.
Waldo and I are looking at this. It involves RebindLets, which adjusts use-lists, apparently causing a definition to have an assignment in its use-list without setting the PND_ASSIGNED flag on that assignment.
If that's all there is to this bug, I can fix, but I don't know why this code is doing what it's doing, or if other LinkUseToDef users might have the same bug.
Assignee | ||
Comment 5•15 years ago
|
||
I'm fairly confident that this much, at least, is needed, and it does fix the bug narrowly defined.
See JSDefinition::isFunArg and JSDefinition::isAssigned, both of which call test(), which asserts that if the definition lacks the PND_FUNARG/PND_ASSIGNED flag, then no use has it.
I don't know who should review this patch other than Brendan.
Assignee: general → jorendorff
Attachment #383324 -
Flags: review?(mrbkap)
Updated•15 years ago
|
Attachment #383324 -
Flags: review+
Comment 6•15 years ago
|
||
Comment on attachment 383324 [details] [diff] [review]
v1
Blake reviewed the patch that introduced this code, so he's a candidate. But I'm in and out like lightning today.
There are three other places that preserve ASSIGNED | FUNARG in that order, so please use it here. There ought to be a method to common this expression, but that can wait for a followup bug (feel free to file; I'll do it when time allows otherwise).
r=me with this reordering of | terms. Thanks,
/be
Updated•15 years ago
|
Attachment #383324 -
Flags: review?(mrbkap) → review+
Assignee | ||
Comment 7•15 years ago
|
||
Whiteboard: fixed-in-tracemonkey
Comment 8•15 years ago
|
||
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Reporter | ||
Updated•15 years ago
|
Flags: in-testsuite?
Updated•12 years ago
|
Group: core-security
You need to log in
before you can comment on or make changes to this bug.
Description
•