Closed
Bug 673705
Opened 13 years ago
Closed 13 years ago
TI: Assertion failure: until < var.lifetime->start, at jsanalyze.cpp:1250
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: jandem, Unassigned)
References
Details
(Keywords: assertion)
Attachments
(2 files, 2 obsolete files)
(deleted),
patch
|
bhackett1024
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
bhackett1024
:
review+
|
Details | Diff | Splinter Review |
--
function f() {
var x;
try {
} catch (e) {
} finally {
print(x);
}
}
f();
--
$ ./js -n -a test.js
Assertion failure: until < var.lifetime->start, at jsanalyze.cpp:1250
Revision 4fbb36c1c9a3, 32-bit OS X.
Comment 1•13 years ago
|
||
Oops! The assert should be |until <= var.lifetime->start|, since x was already ensured at the |finally| exception entry, which overlaps into the |catch|.
Comment 2•13 years ago
|
||
Attachment #547937 -
Attachment is obsolete: true
Attachment #547975 -
Flags: review?(bhackett1024)
Updated•13 years ago
|
Attachment #547975 -
Flags: review?(bhackett1024) → review+
Comment 3•13 years ago
|
||
Hmm, the new assertion is still tripping on some of the Mochitests. Shu, do you mind building a browser and looking into this?
Reporter | ||
Comment 4•13 years ago
|
||
This testcase still asserts at revision 62f32efb087c.
--
function f(x) {
try {
try {
} catch (e) {
}
} finally {
}
g(x);
}
f();
--
$ ./js -n -a test.js
Assertion failure: until <= var.lifetime->start, at jsanalyze.cpp:1250
Comment 5•13 years ago
|
||
ensureVariable shouldn't ensure variables that are already ensured. If variable is already ensured, should assert that it's to an even earlier point, since we walk the bytecode stream backwards.
Comment 6•13 years ago
|
||
accidentally included unrelated changes
Attachment #548515 -
Attachment is obsolete: true
Updated•13 years ago
|
Attachment #548516 -
Flags: review+
Comment 7•13 years ago
|
||
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•