Closed Bug 698944 Opened 13 years ago Closed 13 years ago

"Assertion failure: [infer failure] Missing type in object [0x1019004c0] (index): int,"

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
critical

Tracking

()

RESOLVED DUPLICATE of bug 700501
Tracking Status
firefox7 - unaffected
firefox8 - unaffected
firefox9 - unaffected
firefox10 - unaffected

People

(Reporter: gkw, Unassigned)

References

Details

(Keywords: assertion, testcase, Whiteboard: [sg:critical] js-triage-needed)

o = __proto__
arguments.__proto__ = null
gc()
function f() {
    Object.keys(o)[2]
}
f()
Function("for each(w in[0]){w}")()

asserts js debug shell on JM changeset f951e9151626 with -m, -a and -n at Assertion failure: [infer failure] Missing type in object [0x1019004c0] (index): int,

Changing "0" to "true" in the last line results in:

Assertion failure: [infer failure] Missing type in object [0x101900140] (index): bool,

just like this testcase:

try {
    r
} catch (e) {}
function f(o) {
    o.__proto__ = null
}
f(arguments)
gc()
function g() {
    props = Object.getOwnPropertyNames([])
    props[1]
}
g()
Function("for each(z in[true]){s}")()


Locking s-s because these failures tend to be bad. Assuming sg:critical unless otherwise shown.

This was found using a combination of jsfunfuzz and jandem's method fuzzer.

Related to bug 685321 ?
Since this is TI related I'm marking 8 and earlier unaffected, if that's not the case please say so.
Summary: TI: "Assertion failure: [infer failure] Missing type in object [0x1019004c0] (index): int," → "Assertion failure: [infer failure] Missing type in object [0x1019004c0] (index): int,"
This does not affect either Firefox 9 or 10; it is a bug that is currently only on the JaegerMonkey branch, which is being used for object shrinking rather than TI (Gary and Christian, you shouldn't put TI: in bugs filed against the JM branch).
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → DUPLICATE
Group: core-security
You need to log in before you can comment on or make changes to this bug.