Closed
Bug 1511294
Opened 7 years ago
Closed 7 years ago
Intermittent SUMMARY: AddressSanitizer: heap-use-after-free z:\build\build\src\js\src\jit\BaselineIC.cpp:530 in js::jit::ICStub::makesGCCalls(void)const
Categories
(Core :: JavaScript Engine: JIT, defect)
Core
JavaScript Engine: JIT
Tracking
()
RESOLVED
DUPLICATE
of bug 1511412
People
(Reporter: CosminS, Unassigned)
Details
(Keywords: csectype-uaf, intermittent-failure)
Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=214807658&repo=autoland&lineNumber=3469
08:01:40 INFO - GECKO(4892) | 0x0417833ffdc0: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fa
08:01:40 INFO - GECKO(4892) | 0x0417833ffdd0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
08:01:40 INFO - GECKO(4892) | =>0x0417833ffde0: fa fa fd fd fd fd fd fa fa fa[fd]fd fd fd fd fd
08:01:40 INFO - GECKO(4892) | 0x0417833ffdf0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
08:01:40 INFO - GECKO(4892) | 0x0417833ffe00: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
08:01:40 INFO - GECKO(4892) | 0x0417833ffe10: fa fa 00 00 00 00 00 05 fa fa fd fd fd fd fd fd
08:01:40 INFO - GECKO(4892) | 0x0417833ffe20: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
08:01:40 INFO - GECKO(4892) | 0x0417833ffe30: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
08:01:40 INFO - GECKO(4892) | Shadow byte legend (one shadow byte represents 8 application bytes):
08:01:40 INFO - GECKO(4892) | Addressable: 00
08:01:40 INFO - GECKO(4892) | Partially addressable: 01 02 03 04 05 06 07
08:01:40 INFO - GECKO(4892) | Heap left redzone: fa
08:01:40 INFO - GECKO(4892) | Freed heap region: fd
08:01:40 INFO - GECKO(4892) | Stack left redzone: f1
08:01:40 INFO - GECKO(4892) | Stack mid redzone: f2
08:01:40 INFO - GECKO(4892) | Stack right redzone: f3
08:01:40 INFO - GECKO(4892) | Stack after return: f5
08:01:40 INFO - GECKO(4892) | Stack use after scope: f8
08:01:40 INFO - GECKO(4892) | Global redzone: f9
08:01:40 INFO - GECKO(4892) | Global init order: f6
08:01:40 INFO - GECKO(4892) | Poisoned by user: f7
08:01:40 INFO - GECKO(4892) | Container overflow: fc
08:01:40 INFO - GECKO(4892) | Array cookie: ac
08:01:40 INFO - GECKO(4892) | Intra object redzone: bb
08:01:40 INFO - GECKO(4892) | ASan internal: fe
08:01:40 INFO - GECKO(4892) | Left alloca redzone: ca
08:01:40 INFO - GECKO(4892) | Right alloca redzone: cb
08:01:40 INFO - GECKO(4892) | Shadow gap: cc
08:01:40 INFO - GECKO(4892) | ==7568==ABORTING
08:01:40 INFO - TEST-INFO | Main app process: exit 1
08:01:40 INFO - Buffered messages logged at 08:01:39
08:01:40 INFO - Entering test bound
08:01:40 INFO - TEST-PASS | devtools/server/tests/browser/browser_perf-01.js | This test only runs on supported platforms. -
08:01:40 INFO - TEST-PASS | devtools/server/tests/browser/browser_perf-01.js | The browser is not in private browsing mode. -
08:01:40 INFO - TEST-PASS | devtools/server/tests/browser/browser_perf-01.js | The profiler is not active yet. -
08:01:40 INFO - Waiting for event: 'profiler-started' on [Front for perf/server1.conn0.perfActor6].
08:01:40 INFO - Buffered messages finished
| Reporter | ||
Comment 1•7 years ago
|
||
Problems with the new log viewer, here's a more comprehensive snippet:
08:01:39 INFO - TEST-START | devtools/server/tests/browser/browser_perf-01.js
08:01:39 INFO - GECKO(4892) | =================================================================
08:01:39 ERROR - GECKO(4892) | ==7568==ERROR: AddressSanitizer: heap-use-after-free on address 0x11e31fbfef52 at pc 0x7ffc90977992 bp 0x0058cf9eb5e0 sp 0x0058cf9eb628
08:01:39 INFO - GECKO(4892) | READ of size 1 at 0x11e31fbfef52 thread T0
08:01:39 INFO - GECKO(4892) | #0 0x7ffc90977991 in js::jit::ICStub::makesGCCalls(void)const z:\build\build\src\js\src\jit\BaselineIC.cpp:530
08:01:39 INFO - GECKO(4892) | #1 0x7ffc903ad1c7 in js::jit::ICScript::purgeOptimizedStubs(class JS::Zone *) z:\build\build\src\js\src\jit\BaselineJIT.cpp:1100
08:01:39 INFO - GECKO(4892) | #2 0x7ffc8f5a3fea in JS::Zone::discardJitCode(class js::FreeOp *,bool,bool) z:\build\build\src\js\src\gc\Zone.cpp:277
08:01:39 INFO - GECKO(4892) | #3 0x7ffc8f4f6abe in js::ReleaseAllJITCode(class js::FreeOp *) z:\build\build\src\js\src\gc\GC.cpp:8793
08:01:39 INFO - GECKO(4892) | #4 0x7ffc8ebe0a69 in js::GeckoProfilerRuntime::enable(bool) z:\build\build\src\js\src\vm\GeckoProfiler.cpp:100
08:01:39 INFO - GECKO(4892) | #5 0x7ffc8dbd6e2b in locked_profiler_start z:\build\build\src\tools\profiler\core\platform.cpp:3232
08:01:39 INFO - GECKO(4892) | #6 0x7ffc8dbdf0e7 in profiler_start(unsigned int,double,unsigned int,char const * *,unsigned int,class mozilla::Maybe<double> const &) z:\build\build\src\tools\profiler\core\platform.cpp:3290
08:01:39 INFO - GECKO(4892) | #7 0x7ffc8dbf3e53 in nsProfiler::StartProfiler(unsigned int,double,char const * *,unsigned int,char const * *,unsigned int,double) z:\build\build\src\tools\profiler\gecko\nsProfiler.cpp:122
08:01:40 INFO - GECKO(4892) | #8 0x7ffc90e67d21 in XPTC__InvokebyIndex (Z:\task_1543563625\build\application\firefox\xul.dll+0x191517d21)
08:01:40 INFO - GECKO(4892) | #9 0x7ffc81957e19 in XPCWrappedNative::CallMethod(class XPCCallContext &,enum XPCWrappedNative::CallMode) z:\build\build\src\js\xpconnect\src\XPCWrappedNative.cpp:1234
08:01:40 INFO - GECKO(4892) | #10 0x7ffc8195f452 in XPC_WN_CallMethod(struct JSContext *,unsigned int,union JS::Value *) z:\build\build\src\js\xpconnect\src\XPCWrappedNativeJSOps.cpp:1021
08:01:40 INFO - GECKO(4892) | #11 0x7ffc8ff15b31 in js::InternalCallOrConstruct(struct JSContext *,class JS::CallArgs const &,enum js::MaybeConstruct) z:\build\build\src\js\src\vm\Interpreter.cpp:560
08:01:40 INFO - GECKO(4892) | #12 0x7ffc8ff18995 in InternalCall z:\build\build\src\js\src\vm\Interpreter.cpp:614
08:01:40 INFO - GECKO(4892) | #13 0x7ffc8fede8ea in Interpret z:\build\build\src\js\src\vm\Interpreter.cpp:3494
08:01:40 INFO - GECKO(4892) | #14 0x7ffc8fed9cec in js::RunScript(struct JSContext *,class js::RunState &) z:\build\build\src\js\src\vm\Interpreter.cpp:447
08:01:40 INFO - GECKO(4892) | #15 0x7ffc8ff1647e in js::InternalCallOrConstruct(struct JSContext *,class JS::CallArgs const &,enum js::MaybeConstruct) z:\build\build\src\js\src\vm\Interpreter.cpp:587
08:01:40 INFO - GECKO(4892) | #16 0x7ffc8ff18995 in InternalCall z:\build\build\src\js\src\vm\Interpreter.cpp:614
08:01:40 INFO - GECKO(4892) | #17 0x7ffc8ff18bc6 in js::Call(struct JSContext *,class JS::Handle<union JS::Value>,class JS::Handle<union JS::Value>,class js::AnyInvokeArgs const &,class JS::MutableHandle<union JS::Value>) z:\build\build\src\js\src\vm\Interpreter.cpp:634
08:01:40 INFO - GECKO(4892) | #18 0x7ffc8ec7f642 in js::fun_apply(struct JSContext *,unsigned int,union JS::Value *) z:\build\build\src\js\src\vm\JSFunction.cpp:1383
08:01:40 INFO - GECKO(4892) | #19 0x7ffc8ff15b31 in js::InternalCallOrConstruct(struct JSContext *,class JS::CallArgs const &,enum js::MaybeConstruct) z:\build\build\src\js\src\vm\Interpreter.cpp:560
08:01:40 INFO - GECKO(4892) | #20 0x7ffc8ff18995 in InternalCall z:\build\build\src\js\src\vm\Interpreter.cpp:614
08:01:40 INFO - GECKO(4892) | #21 0x7ffc8fede8ea in Interpret z:\build\build\src\js\src\vm\Interpreter.cpp:3494
08:01:40 INFO - GECKO(4892) | #22 0x7ffc8fed9cec in js::RunScript(struct JSContext *,class js::RunState &) z:\build\build\src\js\src\vm\Interpreter.cpp:447
08:01:40 INFO - GECKO(4892) | #23 0x7ffc8ff1647e in js::InternalCallOrConstruct(struct JSContext *,class JS::CallArgs const &,enum js::MaybeConstruct) z:\build\build\src\js\src\vm\Interpreter.cpp:587
08:01:40 INFO - GECKO(4892) | #24 0x7ffc8ff18995 in InternalCall z:\build\build\src\js\src\vm\Interpreter.cpp:614
08:01:40 INFO - GECKO(4892) | #25 0x7ffc8ff18bc6 in js::Call(struct JSContext *,class JS::Handle<union JS::Value>,class JS::Handle<union JS::Value>,class js::AnyInvokeArgs const &,class JS::MutableHandle<union JS::Value>) z:\build\build\src\js\src\vm\Interpreter.cpp:634
08:01:40 INFO - GECKO(4892) | #26 0x7ffc8ec7f642 in js::fun_apply(struct JSContext *,unsigned int,union JS::Value *) z:\build\build\src\js\src\vm\JSFunction.cpp:1383
08:01:40 INFO - GECKO(4892) | #27 0x7ffc8ff15b31 in js::InternalCallOrConstruct(struct JSContext *,class JS::CallArgs const &,enum js::MaybeConstruct) z:\build\build\src\js\src\vm\Interpreter.cpp:560
08:01:40 INFO - GECKO(4892) | #28 0x7ffc8ff18995 in InternalCall z:\build\build\src\js\src\vm\Interpreter.cpp:614
08:01:40 INFO - GECKO(4892) | #29 0x7ffc909b9183 in js::jit::DoCallFallback z:\build\build\src\js\src\jit\BaselineIC.cpp:3943
08:01:40 INFO - GECKO(4892) | #30 0xe3fd144dde (<unknown module>)
08:01:40 INFO - GECKO(4892) | 0x11e31fbfef52 is located 2 bytes inside of 44-byte region [0x11e31fbfef50,0x11e31fbfef7c)
08:01:40 INFO - GECKO(4892) | freed by thread T0 here:
08:01:40 INFO - GECKO(4892) | #0 0x7ffcaac63fd0 in free Z:\task_1543259150\build\src\build\build-clang\build-clang\src\llvm\projects\compiler-rt\lib\asan\asan_malloc_win.cc:44
08:01:40 INFO - GECKO(4892) | #1 0x7ffc90620ce1 in JS::GCHashMap<struct js::jit::CacheIRStubKey,class js::ReadBarriered<class js::jit::JitCode *>,struct js::jit::CacheIRStubKey,class js::SystemAllocPolicy,struct js::jit::IcStubCodeMapGCPolicy<struct js::jit::CacheIRStubKey> >::sweep(void) z:\build\build\src\obj-firefox\dist\include\js\GCHashTable.h:81
08:01:40 INFO - GECKO(4892) | #2 0x7ffc8f4cd3c9 in js::gc::GCRuntime::sweepJitDataOnMainThread(class js::FreeOp *) z:\build\build\src\js\src\gc\GC.cpp:5883
08:01:40 INFO - GECKO(4892) | #3 0x7ffc8f4d0257 in js::gc::GCRuntime::beginSweepingSweepGroup(class js::FreeOp *,class js::SliceBudget &) z:\build\build\src\js\src\gc\GC.cpp:6055
08:01:40 INFO - GECKO(4892) | #4 0x7ffc8f5513cc in sweepaction::SweepActionSequence<class js::gc::GCRuntime *,class js::FreeOp *,class js::SliceBudget &>::run(class js::gc::GCRuntime *,class js::FreeOp *,class js::SliceBudget &) z:\build\build\src\js\src\gc\GC.cpp:6715
08:01:40 INFO - GECKO(4892) | #5 0x7ffc8f551cd6 in sweepaction::SweepActionRepeatFor<class js::gc::SweepGroupsIter,struct JSRuntime *,class js::gc::GCRuntime *,class js::FreeOp *,class js::SliceBudget &>::run(class js::gc::GCRuntime *,class js::FreeOp *,class js::SliceBudget &) z:\build\build\src\js\src\gc\GC.cpp:6779
08:01:40 INFO - GECKO(4892) | #6 0x7ffc8f4ddf27 in js::gc::GCRuntime::performSweepActions(class js::SliceBudget &) z:\build\build\src\js\src\gc\GC.cpp:6955
08:01:40 INFO - GECKO(4892) | #7 0x7ffc8f4e5376 in js::gc::GCRuntime::incrementalSlice(class js::SliceBudget &,enum JS::gcreason::Reason,class js::gc::AutoGCSession &) z:\build\build\src\js\src\gc\GC.cpp:7558
08:01:40 INFO - GECKO(4892) | #8 0x7ffc8f4e8577 in js::gc::GCRuntime::gcCycle(bool,class js::SliceBudget &,enum JS::gcreason::Reason) z:\build\build\src\js\src\gc\GC.cpp:7914
08:01:40 INFO - GECKO(4892) | #9 0x7ffc8f4ec9af in js::gc::GCRuntime::collect(bool,class js::SliceBudget,enum JS::gcreason::Reason) z:\build\build\src\js\src\gc\GC.cpp:8095
08:01:40 INFO - GECKO(4892) | #10 0x7ffc8f4f82fd in JS::IncrementalGCSlice(struct JSContext *,enum JS::gcreason::Reason,__int64) z:\build\build\src\js\src\gc\GC.cpp:9091
08:01:40 INFO - GECKO(4892) | #11 0x7ffc839d86e6 in nsJSContext::GarbageCollectNow(enum JS::gcreason::Reason,enum nsJSContext::IsIncremental,enum nsJSContext::IsShrinking,__int64) z:\build\build\src\dom\base\nsJSEnvironment.cpp:1212
08:01:40 INFO - GECKO(4892) | #12 0x7ffc839e9342 in InterSliceGCRunnerFired(class mozilla::TimeStamp,void *) z:\build\build\src\dom\base\nsJSEnvironment.cpp:1853
08:01:40 INFO - GECKO(4892) | #13 0x7ffc83a14e55 in std::_Func_impl_no_alloc<`lambda at z:/build/build/src/dom/base/nsJSEnvironment.cpp:2405:34',bool,mozilla::TimeStamp>::_Do_call z:\build\build\src\vs2017_15.8.4\VC\include\functional:1227
08:01:40 INFO - GECKO(4892) | #14 0x7ffc7fbbe974 in mozilla::IdleTaskRunner::Run(void) z:\build\build\src\xpcom\threads\IdleTaskRunner.cpp:63
08:01:40 INFO - GECKO(4892) | #15 0x7ffc7fbbfafc in mozilla::TimedOut z:\build\build\src\xpcom\threads\IdleTaskRunner.cpp:85
08:01:40 INFO - GECKO(4892) | #16 0x7ffc7fc31a52 in nsTimerImpl::Fire(int) z:\build\build\src\xpcom\threads\nsTimerImpl.cpp:684
08:01:40 INFO - GECKO(4892) | #17 0x7ffc7fbf0eb7 in nsTimerEvent::Run(void) z:\build\build\src\xpcom\threads\TimerThread.cpp:297
08:01:40 INFO - GECKO(4892) | #18 0x7ffc7fc06215 in nsThread::ProcessNextEvent(bool,bool *) z:\build\build\src\xpcom\threads\nsThread.cpp:1244
08:01:40 INFO - GECKO(4892) | #19 0x7ffc7fc0eaf8 in NS_ProcessNextEvent(class nsIThread *,bool) z:\build\build\src\xpcom\threads\nsThreadUtils.cpp:530
08:01:40 INFO - GECKO(4892) | #20 0x7ffc80cc7959 in mozilla::ipc::MessagePump::Run(class base::MessagePump::Delegate *) z:\build\build\src\ipc\glue\MessagePump.cpp:97
08:01:40 INFO - GECKO(4892) | #21 0x7ffc80c26b2e in MessageLoop::RunHandler(void) z:\build\build\src\ipc\chromium\src\base\message_loop.cc:318
08:01:40 INFO - GECKO(4892) | #22 0x7ffc80c268b6 in MessageLoop::Run(void) z:\build\build\src\ipc\chromium\src\base\message_loop.cc:298
08:01:40 INFO - GECKO(4892) | #23 0x7ffc89bedc1a in nsBaseAppShell::Run(void) z:\build\build\src\widget\nsBaseAppShell.cpp:158
08:01:40 INFO - GECKO(4892) | #24 0x7ffc89d7e0a7 in nsAppShell::Run(void) z:\build\build\src\widget\windows\nsAppShell.cpp:420
08:01:40 INFO - GECKO(4892) | #25 0x7ffc8e265c2e in nsAppStartup::Run(void) z:\build\build\src\toolkit\components\startup\nsAppStartup.cpp:290
08:01:40 INFO - GECKO(4892) | #26 0x7ffc8e52592e in XREMain::XRE_mainRun(void) z:\build\build\src\toolkit\xre\nsAppRunner.cpp:4790
08:01:40 INFO - GECKO(4892) | #27 0x7ffc8e52a231 in XREMain::XRE_main(int,char * * const,struct mozilla::BootstrapConfig const &) z:\build\build\src\toolkit\xre\nsAppRunner.cpp:4935
08:01:40 INFO - GECKO(4892) | #28 0x7ffc8e52c466 in XRE_main(int,char * * const,struct mozilla::BootstrapConfig const &) z:\build\build\src\toolkit\xre\nsAppRunner.cpp:5027
08:01:40 INFO - GECKO(4892) | #29 0x7ff721051d5d (Z:\task_1543563625\build\application\firefox\firefox.exe+0x140001d5d)
08:01:40 INFO - GECKO(4892) | previously allocated by thread T0 here:
08:01:40 INFO - GECKO(4892) | #0 0x7ffcaac640c0 in malloc Z:\task_1543259150\build\src\build\build-clang\build-clang\src\llvm\projects\compiler-rt\lib\asan\asan_malloc_win.cc:60
08:01:40 INFO - GECKO(4892) | #1 0x7ffc9042d882 in js::jit::CacheIRStubInfo::New(enum js::jit::CacheKind,enum js::jit::ICStubEngine,bool,unsigned int,class js::jit::CacheIRWriter const &) z:\build\build\src\js\src\jit\CacheIRCompiler.cpp:1167
08:01:40 INFO - GECKO(4892) | #2 0x7ffc90db0a98 in js::jit::AttachBaselineCacheIRStub(struct JSContext *,class js::jit::CacheIRWriter const &,enum js::jit::CacheKind,enum js::jit::BaselineCacheIRStubKind,class JSScript *,class js::jit::ICFallbackStub *,bool *) z:\build\build\src\js\src\jit\BaselineCacheIRCompiler.cpp:2274
08:01:40 INFO - GECKO(4892) | #3 0x7ffc909e15ca in js::jit::DoNewObject z:\build\build\src\js\src\jit\BaselineIC.cpp:6113
08:01:40 INFO - GECKO(4892) | #4 0xe3fd14480f (<unknown module>)
08:01:40 INFO - GECKO(4892) | SUMMARY: AddressSanitizer: heap-use-after-free z:\build\build\src\js\src\jit\BaselineIC.cpp:530 in js::jit::ICStub::makesGCCalls(void)const
08:01:40 INFO - GECKO(4892) | Shadow bytes around the buggy address:
08:01:40 INFO - GECKO(4892) | 0x0417833ffd90: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
08:01:40 INFO - GECKO(4892) | 0x0417833ffda0: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
08:01:40 INFO - GECKO(4892) | 0x0417833ffdb0: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
08:01:40 INFO - GECKO(4892) | 0x0417833ffdc0: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fa
08:01:40 INFO - GECKO(4892) | 0x0417833ffdd0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
08:01:40 INFO - GECKO(4892) | =>0x0417833ffde0: fa fa fd fd fd fd fd fa fa fa[fd]fd fd fd fd fd
08:01:40 INFO - GECKO(4892) | 0x0417833ffdf0: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fd
08:01:40 INFO - GECKO(4892) | 0x0417833ffe00: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
08:01:40 INFO - GECKO(4892) | 0x0417833ffe10: fa fa 00 00 00 00 00 05 fa fa fd fd fd fd fd fd
08:01:40 INFO - GECKO(4892) | 0x0417833ffe20: fa fa fd fd fd fd fd fd fa fa fd fd fd fd fd fd
08:01:40 INFO - GECKO(4892) | 0x0417833ffe30: fa fa fd fd fd fd fd fa fa fa fd fd fd fd fd fa
08:01:40 INFO - GECKO(4892) | Shadow byte legend (one shadow byte represents 8 application bytes):
08:01:40 INFO - GECKO(4892) | Addressable: 00
08:01:40 INFO - GECKO(4892) | Partially addressable: 01 02 03 04 05 06 07
08:01:40 INFO - GECKO(4892) | Heap left redzone: fa
08:01:40 INFO - GECKO(4892) | Freed heap region: fd
08:01:40 INFO - GECKO(4892) | Stack left redzone: f1
08:01:40 INFO - GECKO(4892) | Stack mid redzone: f2
08:01:40 INFO - GECKO(4892) | Stack right redzone: f3
08:01:40 INFO - GECKO(4892) | Stack after return: f5
08:01:40 INFO - GECKO(4892) | Stack use after scope: f8
08:01:40 INFO - GECKO(4892) | Global redzone: f9
08:01:40 INFO - GECKO(4892) | Global init order: f6
08:01:40 INFO - GECKO(4892) | Poisoned by user: f7
08:01:40 INFO - GECKO(4892) | Container overflow: fc
08:01:40 INFO - GECKO(4892) | Array cookie: ac
08:01:40 INFO - GECKO(4892) | Intra object redzone: bb
08:01:40 INFO - GECKO(4892) | ASan internal: fe
08:01:40 INFO - GECKO(4892) | Left alloca redzone: ca
08:01:40 INFO - GECKO(4892) | Right alloca redzone: cb
08:01:40 INFO - GECKO(4892) | Shadow gap: cc
08:01:40 INFO - GECKO(4892) | ==7568==ABORTING
08:01:40 INFO - TEST-INFO | Main app process: exit 1
08:01:40 INFO - Buffered messages logged at 08:01:39
08:01:40 INFO - Entering test bound
Updated•7 years ago
|
Keywords: csectype-uaf
Comment 2•7 years ago
|
||
Not sure if the Profiler being on the stack is relevant or not here.
Group: core-security → javascript-core-security
Comment 3•7 years ago
|
||
What's happening is:
(1) We malloc a CacheIRStubInfo for a NewObject IC stub. This is then stored in baselineCacheIRStubCodes_ with the corresponding JitCode.
(2) We free this stub under GCRuntime::sweepJitDataOnMainThread. Probably because we didn't mark the IC stub's JitCode.
(3) Enabling the Gecko profiler releases all JIT code and we end up in ICScript::purgeOptimizedStubs where we access the freed CacheIRStubInfo under ICStub::makesGCCalls.
Question is why we think the stub's JIT code is dead in (2) if there clearly is an IC stub using it.
Comment 4•7 years ago
|
||
decoder is also seeing this in fuzzing. I'm investigating.
Updated•7 years ago
|
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
Updated•3 years ago
|
Group: javascript-core-security
You need to log in
before you can comment on or make changes to this bug.
Description
•