Closed
Bug 455691
Opened 16 years ago
Closed 16 years ago
TM: test_empty_body.js httpd.js test fails under JIT
Categories
(Core :: JavaScript Engine, defect, P1)
Tracking
()
VERIFIED
FIXED
mozilla1.9.1b1
People
(Reporter: sayrer, Unassigned)
Details
(Keywords: verified1.9.1)
Attachments
(1 file)
8.88 KB,
text/plain
|
Details |
I run it like this, from $OBJDIR/netwerk/test/httpserver:
%> TRACEMONKEY=verbose NATIVE_TOPSRCDIR="/Users/sayrer/dev/tracemonkey" TOPSRCDIR="/Users/sayrer/dev/tracemonkey" gdb ../../../dist/bin/xpcshell
...
(gdb) run -j -s -f /Users/sayrer/dev/tracemonkey/tools/test-harness/xpcshell-simple/head.js -f ../../../_tests/xpcshell-simple/test_necko/test/head_utils.js -f ../../../_tests/xpcshell-simple/test_necko/test/test_empty_body.js -f /Users/sayrer/dev/tracemonkey/tools/test-harness/xpcshell-simple/tail.js -f /Users/sayrer/dev/tracemonkey/tools/test-harness/xpcshell-simple/execute_test.js
I can get it to succeed under JIT by inserting print statements such that the loop near line 3529 is not traced.
Reporter | ||
Updated•16 years ago
|
Severity: normal → critical
Flags: blocking1.9.1+
Priority: -- → P1
Target Milestone: --- → mozilla1.9.1b1
Comment 1•16 years ago
|
||
which file is line 3529 relative to?
Reporter | ||
Comment 2•16 years ago
|
||
It is httpd.js, in nsHttpHeaders.enumerator.
Comment 3•16 years ago
|
||
Strange. Without my push/pop patch (which is waiting for review and is not yet committed) that loop shouldn't trace:
get enumerator()
{
var headers = [];
for (var i in this._headers)
{
var supports = new SupportsString();
supports.data = i;
headers.push(supports);
}
return new nsSimpleEnumerator(headers);
}
Reporter | ||
Comment 4•16 years ago
|
||
Here's a version that runs alone in xpcshell. The loop is at line 264. Note that it contains a print() call and an array.push, both of which should abort the trace. Curiously, uncommenting a print() call just below the loop close does abort the trace. See comments in attachment.
%> TRACEMONKEY=verbose ./xpcshell -j -f /Users/sayrer/Desktop/test_loop.js
Reporter | ||
Updated•16 years ago
|
Attachment #339073 -
Attachment mime type: application/x-javascript → text/plain
Reporter | ||
Comment 5•16 years ago
|
||
ok, so it looks like this exits trace to do the inner loop, and then re-enters. possible?
Reporter | ||
Comment 6•16 years ago
|
||
headers.enumerator returns undefined in _end(), which causes the test to throw an exception.
Comment 7•16 years ago
|
||
I assume this works now?
Reporter | ||
Comment 8•16 years ago
|
||
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 9•16 years ago
|
||
(In reply to comment #8)
> Fixed by http://hg.mozilla.org/tracemonkey/rev/034e02267810
Oops, wrong. Fixed by
http://hg.mozilla.org/tracemonkey/rev/3090e1560262
bug 453462.
Updated•16 years ago
|
Keywords: fixed1.9.1
Comment 11•16 years ago
|
||
v 1.9.1, 1.9.2
Status: RESOLVED → VERIFIED
Keywords: fixed1.9.1 → verified1.9.1
You need to log in
before you can comment on or make changes to this bug.
Description
•