TI: "Assertion failure: JSOp(*iterpc) == JSOP_ITER," or "Assertion failure: nop == JSOP_TRACE || nop == JSOP_NOTRACE," with trap

RESOLVED FIXED

Status

()

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

People

(Reporter: gkw, Unassigned)

Tracking

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

Trunk
x86
Linux
assertion, testcase
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Reporter)

Description

6 years ago
Created attachment 533328 [details]
dis() information, and stack

function f(){ for(y in x); }
dis(f)
trap(f, 5, '')
f()

asserts js debug shell on JM changeset 5d1cbc94bc42 with -d, -a and -n at Assertion failure: JSOp(*iterpc) == JSOP_ITER,
(Reporter)

Comment 1

6 years ago
Setting the third line to:

trap(f, 10, '')

results in a different assert:

Assertion failure: nop == JSOP_TRACE || nop == JSOP_NOTRACE,

(gdb) bt
#0  0xf7fdf430 in __kernel_vsyscall ()
#1  0xf7fb5ba0 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:42
#2  0x081ff2a9 in JS_Assert (s=0x8461f04 "nop == JSOP_TRACE || nop == JSOP_NOTRACE", file=0x8461c50 "/home/fuzz1/Desktop/jsfunfuzz-dbg-32-jm-69789-5d1cbc94bc42/compilePath/js/src/jsanalyze.cpp", ln=914)
    at /home/fuzz1/Desktop/jsfunfuzz-dbg-32-jm-69789-5d1cbc94bc42/compilePath/js/src/jsutil.cpp:89
#3  0x0837d2e9 in js::analyze::ScriptAnalysis::analyzeLifetimes (this=0x85298f8, cx=0x84eb1b8) at /home/fuzz1/Desktop/jsfunfuzz-dbg-32-jm-69789-5d1cbc94bc42/compilePath/js/src/jsanalyze.cpp:914
#4  0x0837d760 in js::analyze::ScriptAnalysis::analyzeSSA (this=0x85298f8, cx=0x84eb1b8) at /home/fuzz1/Desktop/jsfunfuzz-dbg-32-jm-69789-5d1cbc94bc42/compilePath/js/src/jsanalyze.cpp:1175
#5  0x0811770a in js::analyze::ScriptAnalysis::analyzeTypes (this=0x85298f8, cx=0x84eb1b8) at /home/fuzz1/Desktop/jsfunfuzz-dbg-32-jm-69789-5d1cbc94bc42/compilePath/js/src/jsinfer.cpp:3699
#6  0x0811cf50 in JSScript::typeSetThis (this=0x852aa88, cx=0x84eb1b8, type=1) at /home/fuzz1/Desktop/jsfunfuzz-dbg-32-jm-69789-5d1cbc94bc42/compilePath/js/src/jsinferinlines.h:704
#7  0x0811225a in js::types::TypeCompartment::dynamicCall (this=0x84ebb58, cx=0x84eb1b8, callee=0xf750d1e0, args=..., constructing=false)
    at /home/fuzz1/Desktop/jsfunfuzz-dbg-32-jm-69789-5d1cbc94bc42/compilePath/js/src/jsinfer.cpp:1780
#8  0x0812cb17 in JSContext::typeMonitorCall (this=0x84eb1b8, args=..., constructing=false) at /home/fuzz1/Desktop/jsfunfuzz-dbg-32-jm-69789-5d1cbc94bc42/compilePath/js/src/jsinferinlines.h:483
#9  0x0839f302 in js::Interpret (cx=0x84eb1b8, entryFrame=0xf76e4030, inlineCallCount=0, interpMode=js::JSINTERP_NORMAL)
    at /home/fuzz1/Desktop/jsfunfuzz-dbg-32-jm-69789-5d1cbc94bc42/compilePath/js/src/jsinterp.cpp:4682

/snip
Summary: TI: "Assertion failure: JSOp(*iterpc) == JSOP_ITER," with trap → TI: "Assertion failure: JSOp(*iterpc) == JSOP_ITER," or "Assertion failure: nop == JSOP_TRACE || nop == JSOP_NOTRACE," with trap
Fixed as part of bug 657975, both of these asserts are bogus.

http://hg.mozilla.org/projects/jaegermonkey/rev/176ee6b37ad0
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.