Closed Bug 524061 Opened 15 years ago Closed 15 years ago

TM: "Assertion failure: isNumber(*p) == (t == TT_DOUBLE), at ../jstracer.cpp" with recursion

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: gkw, Assigned: dvander)

References

Details

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

Attachments

(1 file)

(function f(gvxbfu, b) {
    if (gvxbfu.length == b) {
        return (<x></x>.(b))
    }
    var c = gvxbfu[b]
    a = f(gvxbfu,b+1)
    return((
        function g(d,e){
            return d.length == e ? 0 : d[e]+g(d,e+1)
        })
        ([,Infinity,c,Infinity,Infinity,c,c],0)
    )
})([,String,new String,,,,this],0)

asserts js debug shell with -j on TM tip at Assertion failure: isNumber(*p) == (t == TT_DOUBLE), at ../jstracer.cpp:3399

I suspect this is due to tracerecursion bug 459301..
Assignee: general → dvander
Okay, this is sort of related to bug 521447. Part of the complication in that patch was making sure we never use the tracker for so-called "slurp fail" exits. I left the tracker code in though, which was a mistake.
Attached patch fixSplinter Review
This patch does three things:
 1. Stops using the tracker entirely for slurp-fail exits.
 2. Removes the special case from import() for only importing rvals.
 3. Uses canonical "vp" for jsval pointer instead of "v" in SlotMap.
Attachment #408058 - Flags: review?(gal)
Comment on attachment 408058 [details] [diff] [review]
fix

I remember complaining about the slurp code in there before, so good riddance.
Attachment #408058 - Flags: review?(gal) → review+
http://hg.mozilla.org/mozilla-central/rev/e18bbc8cb527
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Bug in removed tracer code, setting in-testsuite- flag.
Flags: in-testsuite-
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: