Closed
Bug 421624
Opened 17 years ago
Closed 14 years ago
Infinite recursion with E4X causes "out of memory" instead of catchable "stack overflow", take 2
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: jruderman, Unassigned)
Details
(Keywords: testcase)
try {
(function f() f(<a><b/></a>))();
} catch(e) {
print("Caught: " + e);
}
Result: "out of memory".
Expected: "Caught: InternalError: script stack space quota is exhausted".
Changing the E4X object to the simpler "<a/>" makes the bug go away.
This seems pretty similar to bug 394941, but the testcase there still works correctly.
| Reporter | ||
Comment 1•17 years ago
|
||
Now I get "Caught: InternalError: too much recursion" with the testcase in comment 0. But with the following testcase, I still get a straight oom:
try {
x = <y/>;
for (j=0;j<20;++j) { print(j); x.z = x; }
} catch(e) {
print("Caught: " + e);
}
i.js:3: out of memory
Comment 2•14 years ago
|
||
With a current js shell, I still get "Caught: InternalError: too much recursion" with the testcase for comment 0. However, the testcase in comment #1 now runs fine with no OOM.
Comment 3•14 years ago
|
||
Same results in a debug shell. Comment 1 is a heckuva ball buster testcase.
Status: NEW → RESOLVED
Closed: 14 years ago
Flags: in-testsuite?
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•