Closed
Bug 1180049
Opened 9 years ago
Closed 9 years ago
Crash [@ js::TemporaryTypeSet::convertDoubleElements] with OOM
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla42
Tracking | Status | |
---|---|---|
firefox42 | --- | fixed |
People
(Reporter: decoder, Assigned: jandem)
Details
(Keywords: crash, regression, testcase, Whiteboard: [jsbugmon:update])
Crash Data
Attachments
(1 file)
1.09 KB,
patch
|
bhackett1024
:
review+
|
Details | Diff | Splinter Review |
The following testcase crashes on mozilla-central revision f5e3bacfb60e (build with --enable-optimize --enable-posix-nspr-emulation --enable-valgrind --enable-gczeal --disable-tests --enable-debug, run with --fuzzing-safe --thread-count=2 --ion-offthread-compile=off --ion-eager): var y = new Array(); var foo = {}; var bar = {}; var results = []; for each(let [key, _L71] in oomAfterAllocations(100)) results.push(key + ":" + value); function f(x) {} Backtrace: Program received signal SIGSEGV, Segmentation fault. js::TemporaryTypeSet::convertDoubleElements (this=0x0, constraints=constraints@entry=0x7ffff69ad1c0) at js/src/vm/TypeInference.cpp:2168 #0 js::TemporaryTypeSet::convertDoubleElements (this=0x0, constraints=constraints@entry=0x7ffff69ad1c0) at js/src/vm/TypeInference.cpp:2168 #1 0x00000000009af18e in js::jit::MNewArray::MNewArray (this=0x7ffff69af960, constraints=0x7ffff69ad1c0, count=<optimized out>, templateConst=<optimized out>, initialHeap=<optimized out>, pc=0x7ffff47be8f1 "R") at js/src/jit/MIR.cpp:4108 #2 0x00000000009bc773 in New (pc=0x7ffff47be8f1 "R", initialHeap=<optimized out>, templateConst=0x7ffff69af8b8, count=0, constraints=<optimized out>, alloc=...) at js/src/jit/MIR.h:2914 #3 js::jit::IonBuilder::inlineArray (this=0x7ffff69ad258, callInfo=...) at js/src/jit/MCallOptimize.cpp:593 #4 0x00000000009545bd in js::jit::IonBuilder::inlineSingleCall (this=0x7ffff69ad258, callInfo=..., targetArg=<optimized out>) at js/src/jit/IonBuilder.cpp:5186 #5 0x0000000000955bec in js::jit::IonBuilder::inlineCallsite (this=this@entry=0x7ffff69ad258, targets=..., callInfo=...) at js/src/jit/IonBuilder.cpp:5250 #6 0x0000000000955f85 in js::jit::IonBuilder::jsop_call (this=this@entry=0x7ffff69ad258, argc=0, constructing=<optimized out>) at js/src/jit/IonBuilder.cpp:6128 #7 0x000000000094efe5 in js::jit::IonBuilder::inspectOpcode (this=this@entry=0x7ffff69ad258, op=op@entry=JSOP_NEW) at js/src/jit/IonBuilder.cpp:1788 #8 0x0000000000950010 in js::jit::IonBuilder::traverseBytecode (this=this@entry=0x7ffff69ad258) at js/src/jit/IonBuilder.cpp:1453 #9 0x0000000000950455 in js::jit::IonBuilder::build (this=0x7ffff69ad258) at js/src/jit/IonBuilder.cpp:859 #10 0x0000000000953070 in js::jit::IonCompile (cx=cx@entry=0x7ffff691b4e0, script=<optimized out>, baselineFrame=baselineFrame@entry=0x7fffffffcd88, osrPc=<optimized out>, constructing=<optimized out>, recompile=<optimized out>, optimizationLevel=js::jit::Optimization_Normal) at js/src/jit/Ion.cpp:1998 #11 0x0000000000958b14 in js::jit::Compile (cx=cx@entry=0x7ffff691b4e0, script=..., script@entry=..., osrFrame=osrFrame@entry=0x7fffffffcd88, osrPc=osrPc@entry=0x7ffff47be9c5 "\343\201QLM\a\377\377\377\202QNș\210\004\225\210\004\225\210\004\225\210\004ʘ\a\210\t\230\001\210\004ψ\004Ɉ\v\220\210\004Ј\b\220\210\004Ј\b\220\210\004ψ\f\220̈\034\322\060\200", constructing=<optimized out>, forceRecompile=forceRecompile@entry=false) at js/src/jit/Ion.cpp:2221 #12 0x0000000000958da1 in js::jit::CanEnterAtBranch (cx=cx@entry=0x7ffff691b4e0, script=0x7ffff7e60128, osrFrame=osrFrame@entry=0x7fffffffcd88, pc=pc@entry=0x7ffff47be9c5 "\343\201QLM\a\377\377\377\202QNș\210\004\225\210\004\225\210\004\225\210\004ʘ\a\210\t\230\001\210\004ψ\004Ɉ\v\220\210\004Ј\b\220\210\004Ј\b\220\210\004ψ\f\220̈\034\322\060\200") at js/src/jit/Ion.cpp:2303 #13 0x0000000000845586 in EnsureCanEnterIon (stub=<optimized out>, jitcodePtr=<synthetic pointer>, pc=0x7ffff47be9c5 "\343\201QLM\a\377\377\377\202QNș\210\004\225\210\004\225\210\004\225\210\004ʘ\a\210\t\230\001\210\004ψ\004Ɉ\v\220\210\004Ј\b\220\210\004Ј\b\220\210\004ψ\f\220̈\034\322\060\200", script=..., frame=0x7fffffffcd88, cx=0x7ffff691b4e0) at js/src/jit/BaselineIC.cpp:103 #14 js::jit::DoWarmUpCounterFallback (cx=0x7ffff691b4e0, frame=0x7fffffffcd88, stub=<optimized out>, infoPtr=0x7fffffffcd40) at js/src/jit/BaselineIC.cpp:267 #15 0x00007ffff7feffd9 in ?? () [...] #26 0x0000000000000000 in ?? () rax 0x0 0 rbx 0x7ffff69af960 140737330739552 rcx 0x7ffff7dd5320 140737351865120 rdx 0x1bba09c 29073564 rsi 0x7ffff69ad1c0 140737330729408 rdi 0x0 0 rbp 0x7fffffffc3a0 140737488339872 rsp 0x7fffffffc340 140737488339776 r8 0x0 0 r9 0x7ffff47be8f1 140737295149297 r10 0x1 1 r11 0x7ffff4604740 140737293338432 r12 0x0 0 r13 0xfffb7fffffffffff -1266637395197953 r14 0x7fffffffffff 140737488355327 r15 0x7ffff47be8f1 140737295149297 rip 0x76a714 <js::TemporaryTypeSet::convertDoubleElements(js::CompilerConstraintList*)+20> => 0x76a714 <js::TemporaryTypeSet::convertDoubleElements(js::CompilerConstraintList*)+20>: mov (%rdi),%ecx 0x76a716 <js::TemporaryTypeSet::convertDoubleElements(js::CompilerConstraintList*)+22>: test $0x41,%ch
Reporter | ||
Updated•9 years ago
|
Whiteboard: [jsbugmon:update,bisect] → [jsbugmon:update]
Reporter | ||
Comment 1•9 years ago
|
||
JSBugMon: Bisection requested, result: Due to skipped revisions, the first bad revision could be any of: changeset: https://hg.mozilla.org/mozilla-central/rev/a0dd5a83ba36 user: Jan de Mooij date: Thu Jul 24 11:56:43 2014 +0200 summary: Bug 1031529 part 2 - Remove JS_THREADSAFE #ifdefs everywhere. r=bhackett changeset: https://hg.mozilla.org/mozilla-central/rev/6426fef52f51 user: Jan de Mooij date: Thu Jul 24 11:56:45 2014 +0200 summary: Bug 1031529 part 3 - Step defining JS_THREADSAFE, remove --disable-threadsafe. r=glandium This iteration took 0.259 seconds to run.
Updated•9 years ago
|
Flags: needinfo?(jdemooij)
This bisection result might not be accurate.
Assignee | ||
Comment 3•9 years ago
|
||
Missing OOM check in MNewArray's constructor.
Assignee: nobody → jdemooij
Status: NEW → ASSIGNED
Flags: needinfo?(jdemooij)
Attachment #8629972 -
Flags: review?(bhackett1024)
Updated•9 years ago
|
Attachment #8629972 -
Flags: review?(bhackett1024) → review+
https://hg.mozilla.org/mozilla-central/rev/4106e0aaeae5
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla42
You need to log in
before you can comment on or make changes to this bug.
Description
•