TI: Assertion failure: offset < script->length, at ./jsanalyze.h:906

RESOLVED FIXED

Status

()

Core
JavaScript Engine
--
critical
RESOLVED FIXED
6 years ago
4 years ago

People

(Reporter: decoder, Unassigned)

Tracking

(Blocks: 2 bugs, {assertion, testcase})

Trunk
x86_64
Linux
assertion, testcase
Points:
---
Dependency tree / graph
Bug Flags:
in-testsuite +

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

6 years ago
The following testcase asserts on TI revision 693a36f402ee (run with -m -n -a),
tested on 64 bit:


new DoWhileObject;
function DoWhileObject(breakOut, breakIn, iterations, loops) {
    loops.prototype = new DoWhile;
    this.looping;
}
function DoWhile(object) {
    do {} while (object);
}
When calling back into the interpreter, InternalInterpret (invoked by the interpoline) used JSINTERP_SAFEPOINT to skip the script prologue, but this also could cause the interpreter to fail to finish the entry frame.  This adds a JSINTERP_REJOIN mode which satisfies InternalInterpret's requirements --- the interpreter can start anywhere within the entry frame, but must finish it before returning.

http://hg.mozilla.org/projects/jaegermonkey/rev/3cd8666e409f
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
(Reporter)

Updated

6 years ago
Blocks: 676763
(Reporter)

Comment 2

4 years ago
A testcase for this bug was automatically identified at js/src/jit-test/tests/jaeger/recompile/bug657288.js.
Flags: in-testsuite+
You need to log in before you can comment on or make changes to this bug.