Closed Bug 746791 Opened 9 years ago Closed 9 years ago

"Assertion failure: js_CheckForStringIndex(ida->vector[n]) == ida->vector[n]," with e4x

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: gkw, Unassigned)

References

Details

(Keywords: assertion, regression, testcase, Whiteboard: js-triage-needed)

Attachments

(1 file, 1 obsolete file)

Attached file stack
g = evalcx("");
f = function () {};
Object.defineProperty(f, QName(1), {
    enumerable: 2
});
g.h = f;
for (v of g) {}

asserts js debug shell on m-c changeset cc3e893fbe1c without any CLI arguments at Assertion failure: js_CheckForStringIndex(ida->vector[n]) == ida->vector[n],

This looks somewhat different from bug 569024 and bug 695647.
autoBisect shows this is probably related to the following changeset:

The first bad revision is:
changeset:   86351:90ecec15f74b
user:        Jason Orendorff
date:        Tue Feb 07 12:57:16 2012 -0600
summary:     Bug 699565 - Part 1 - for-of loop basics. r=Waldo.
Blocks: 699565
Reproduced on 32-bit Mac js shells.
Keywords: regression
OS: Linux → All
Hardware: x86_64 → All
Seems fixed by bug 751331.

autoBisect shows this is probably related to the following changeset:

The first good revision is:
changeset:   93320:86d28b6fa4fc
user:        Brian Hackett
date:        Sun May 06 13:45:19 2012 -0700
summary:     Disallow non-canonical jsids, bug 751331. r=luke
Status: NEW → RESOLVED
Closed: 9 years ago
Flags: in-testsuite?
Resolution: --- → FIXED
Attached patch add testcase (obsolete) — Splinter Review
Luke, could you pls take a quick glance at this?

Anthony, in js/src/jit-test, I ran:

python jit_test.py <path to js shell> bug746791.js

(there is no need to input the relative path to the testcase, just the testcase name will do)

and got:

[   2|   0|   0|   2]    100% =======================================>|    0.1s
PASSED ALL


Without the |jit-test| comment line (or with an incorrect error expected) at the top, I got:

/Users/skywalker/trees/mozilla-inbound/js/src/jit-test/tests/basic/bug746791.js:8: TypeError: g is not iterable
Exit code: 3
[   0|   1|   0|   1]     50% ===================>                    |    0.1s/Users/skywalker/trees/mozilla-inbound/js/src/jit-test/tests/basic/bug746791.js:8: TypeError: g is not iterable
Exit code: 3
[   0|   2|   0|   2]    100% =======================================>|    0.2s
FAILURES:
    -m /Users/skywalker/trees/mozilla-inbound/js/src/jit-test/tests/basic/bug746791.js
    -m -n /Users/skywalker/trees/mozilla-inbound/js/src/jit-test/tests/basic/bug746791.js
TIMEOUTS:
Attachment #646340 - Flags: review?(luke)
This test has a QName; e4x is about to be turned off and we are removing/nerfing tests, iiuc, so perhaps we shouldn't add this test.
(In reply to Luke Wagner [:luke] from comment #5)
> This test has a QName; e4x is about to be turned off and we are
> removing/nerfing tests, iiuc, so perhaps we shouldn't add this test.

Good point, I was just trying to find a test as an example for Anthony.
Flags: in-testsuite? → in-testsuite-
Summary: "Assertion failure: js_CheckForStringIndex(ida->vector[n]) == ida->vector[n]," → "Assertion failure: js_CheckForStringIndex(ida->vector[n]) == ida->vector[n]," with e4x
Attachment #646340 - Attachment is obsolete: true
Attachment #646340 - Flags: review?(luke)
You need to log in before you can comment on or make changes to this bug.