Closed
Bug 554580
Opened 15 years ago
Closed 15 years ago
JM: Crash [@ js_CloseIterator] or (64-bit) Crash [@ js_Invoke] or (64-bit) Crash [@ js_PutBlockObject] or (64-bit) Crash [@ js::jsl_LeaveBlock] or "Assertion failure: what do i do, at ../methodjit/Stubs.cpp"
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: gkw, Unassigned)
References
Details
(Keywords: assertion, regression, testcase)
for (var a = 0; a < 7; ++a) {
if (a == 1) {
Iterator()
}
}
assert js debug shell on JM tip with -m and -j at Assertion failure: what do i do, at ../methodjit/Stubs.cpp:3629
Awesome, I've been waiting for a test case on this.
| Reporter | ||
Comment 2•15 years ago
|
||
(function() {
for each(let a in [function() {}, Infinity]) {
new Array(a)
}
})()
crashes js opt shell with -m and -j on JM tip at js_CloseIterator
===
Function("\n\
for (a = 0; a < 3; a++) {\n\
if (a == 0) {} else {\n\
__defineSetter__(\"\",1)\n\
}\n\
}\n\
")()
crashes js opt shell with -m and -j on JM tip at js_Invoke (64-bit only)
===
(function() {
try {
(eval("\
function() {\
for each(let y in [0]) {\
for (var a = 0; a < 9; ++a) {\
if (a) {\
this.__defineGetter__(\"\",this)\
}\
}\
}\
}\
"))()
} catch(e) {}
})()
crashes js opt shell with -m and -j on JM tip at js_PutBlockObject (64-bit only)
| Reporter | ||
Updated•15 years ago
|
Summary: JM: "Assertion failure: what do i do, at ../methodjit/Stubs.cpp" → JM: Crash [@ js_CloseIterator] or (64-bit) Crash [@ js_Invoke] or (64-bit) Crash [@ js_PutBlockObject] or "Assertion failure: what do i do, at ../methodjit/Stubs.cpp"
| Reporter | ||
Comment 3•15 years ago
|
||
(function() {
(function g(m, n) {
if (m = n) {
return eval("x=this")
}
g(m, 1)[[]]
})()
})()
Function("\
for (let b in [0]) {\
for (var k = 0; k < 6; ++k) {\
if (k == 1) {\
print(x)\
}\
}\
}\
")()
crashes js opt shell with -m and -j on JM tip at js::jsl_LeaveBlock (64-bit)
OS: Linux → All
Hardware: x86 → All
Summary: JM: Crash [@ js_CloseIterator] or (64-bit) Crash [@ js_Invoke] or (64-bit) Crash [@ js_PutBlockObject] or "Assertion failure: what do i do, at ../methodjit/Stubs.cpp" → JM: Crash [@ js_CloseIterator] or (64-bit) Crash [@ js_Invoke] or (64-bit) Crash [@ js_PutBlockObject] or (64-bit) Crash [@ js::jsl_LeaveBlock] or "Assertion failure: what do i do, at ../methodjit/Stubs.cpp"
Awesome test cases. I think this patch covers everything, and closes the last major TODO of tracer integration.
http://hg.mozilla.org/users/danderson_mozilla.com/jaegermonkey/rev/d8ed909484f2
Test cases pushed with follow-up commits.
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Comment 5•12 years ago
|
||
A testcase for this bug was automatically identified at js/src/jit-test/tests/jaeger/bug554580-4.js.
Flags: in-testsuite+
You need to log in
before you can comment on or make changes to this bug.
Description
•