Closed Bug 560098 Opened 15 years ago Closed 15 years ago

TM: "Assertion failure: invalid RECURSIVE_MISMATCH exit, at ../jsrecursion.cpp" or "Assertion failure: uint32(unboxed) <= 1, at ../jsbuiltins.cpp"

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: gkw, Assigned: luke)

References

Details

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

Attachments

(1 file, 1 obsolete file)

Function("\ for each(let w in [(5), false, Number, false]) {\ (function f(zzzzzz) {\ return zzzzzz.length == 0 ? 0 : zzzzzz[0] + f(zzzzzz.slice(1))\ })([, [], [], w, , ])\ }\ ")() asserts js debug shell on TM tip with -j at Assertion failure: invalid RECURSIVE_MISMATCH exit, at ../jsrecursion.cpp:142 while a variant: Function("\ for each(let w in [(void 0), (void 0), false, false, false, false, false, \ undefined, undefined, false, (void 0), undefined]) {\ (function f(zzzzzz) {\ return zzzzzz.length == 0 ? 0 : zzzzzz[0] + f(zzzzzz.slice(1))\ })([w, , w, w, [], []])\ }\ ")() asserts js debug shell on TM tip with -j at Assertion failure: uint32(unboxed) <= 1, at ../jsbuiltins.cpp:323
autoBisect shows that this is probably related to bug 552586: The first bad revision is: changeset: 39512:3f09b480b148 user: Luke Wagner date: Thu Mar 18 12:12:06 2010 -0700 summary: Bug 552586 - split JSVAL_SPECIAL into TT_SPECIAL and TT_VOID (r=dvander)
Blocks: 552586
OS: Linux → All
Hardware: x86 → All
Attached patch patch (obsolete) — Splinter Review
Ah, I should have remembered that we do a hole-to-undefined fixup which, before my patch, stayed TT_SPECIAL but now changes from TT_SPECIAL to TT_VOID. The patch includes a more direct test case for the error. Also, I think this patch removes the only use of the special (no pun intended) JSVAL_HOLE_FLAG/JSVAL_VOID invariant. If the basic patch looks good to David, I think I can remove all the related comments and static asserts and number the special values contiguously.
Assignee: general → lw
Status: NEW → ASSIGNED
Attachment #439864 - Flags: review?(dvander)
oops
Attachment #439864 - Attachment is obsolete: true
Attachment #439865 - Flags: review?(dvander)
Attachment #439864 - Flags: review?(dvander)
Attachment #439865 - Flags: review?(dvander) → review+
Whiteboard: fixed-in-tracemonkey
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
A testcase for this bug was automatically identified at js/src/jit-test/tests/basic/testBug560098.js.
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: