Closed Bug 573171 Opened 14 years ago Closed 14 years ago

tracing+fatvals: Mochitest fails to finish: dom/tests/mochitest/ajax/jquery

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dmandelin, Assigned: dmandelin)

References

Details

See summary. Error message is:

8 INFO TEST-PASS | /tests/dom/tests/mochitest/ajax/jquery/test_jQuery.html | core module: Basic requirements
JavaScript error: , line 0: uncaught exception: [Exception... "Could not convert JavaScript argument arg 0 [nsIDOMHTMLDivElement.appendChild]"  nsresult: "0x80570009 (NS_ERROR_XPC_BAD_CONVERT_JS)"  location: "JS frame :: http://mochi.test:8888/tests/dom/tests/mochitest/ajax/jquery/dist/jquery.js :: anonymous :: line 238"  data: no]
WARNING: NS_ENSURE_SUCCESS(rv, 0) failed with result 0x8000FFFF: file c:/builds/fv-d/content/base/src/../../../../../sources/fatval/content/base/src/nsContentUtils.cpp, line 2718
This array copy loop in jquery.js near line 1166 was behaving incorrectly on trace:

    while ( elem = second[ i++ ] )
        first[ pos++ ] = elem;

The array |first| ended up filled with values tagged as doubles, even though |elem| was a DOM node on all iterations. This may be due to an underlying bug in initOrSetPropertyByName in the tracer, which I have noted for future investigation.

But while looking at this, I noticed that |pos| was initialized from first.length, but ended up as a double in the interpreter. After I changed that to be an int32 instead, the test worked, so I'm fixing this that way for now.

http://hg.mozilla.org/users/lwagner_mozilla.com/fatval/rev/ccf84af8708d
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.