#6504·ChakraCore

Program terminated with signal SIGSEGV, Segmentation fault

Author: xtroncodeCreated Sep 20, 2020Updated Jun 14, 2026
LabelsNeeds More InfoMemory

Hi, I am using ReactJS.net (v5.2.5) with JavaScriptEngineSwitcher.ChakraCore (v3.7.2) in .netcore 3.1 on linux. My application terminates randomly with Segmentation fault. I don't know much about gdb but running basic commands on the core dump generated by Segmentation fault gives the following output:

> gdb carwaleweb/Carwale.UI core
Reading symbols from carwaleweb/Carwale.UI...(no debugging symbols found)...done.
[New LWP 16056]
[New LWP 28234]
[New LWP 29708]
[New LWP 22062]
[New LWP 29709]
...
[New LWP 27109]
[New LWP 26219]
[New LWP 31207]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./Carwale.UI'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007ff14396324e in Memory::RecyclerWriteBarrierManager::WriteBarrier(void*) () from /home/consul/carwaleweb/libChakraCore.so
[Current thread is 1 (Thread 0x7fe81896d700 (LWP 16056))]
(gdb) where
#0  0x00007ff14396324e in Memory::RecyclerWriteBarrierManager::WriteBarrier(void*) () from /home/consul/carwaleweb/libChakraCore.so
#1  0x00007ff143aad715 in Js::FunctionCodeGenRuntimeData::GetInlinee(unsigned short) const () from /home/consul/carwaleweb/libChakraCore.so
#2  0x00007ff1439894dc in void Js::FunctionCodeGenRuntimeData::MapInlineCaches<void Js::FunctionBody::CleanUpInlineCaches<false>()::{lambda(Js::InlineCache*)#1}>(void Js::FunctionBody::CleanUpInlineCaches<false>()::{lambda(Js::InlineCache*)#1}) const () from /home/consul/carwaleweb/libChakraCore.so
#3  0x00007ff143985bd7 in void Js::FunctionBody::CleanUpInlineCaches<false>() () from /home/consul/carwaleweb/libChakraCore.so
#4  0x00007ff14397bc48 in Js::FunctionBody::CleanupRecyclerData(bool, bool) () from /home/consul/carwaleweb/libChakraCore.so
#5  0x00007ff143972fd0 in Js::FunctionBody::Cleanup(bool) () from /home/consul/carwaleweb/libChakraCore.so
#6  0x00007ff143972b9b in Js::FunctionBody::RedeferFunction() () from /home/consul/carwaleweb/libChakraCore.so
#7  0x00007ff14398e338 in Js::ScriptContext::RedeferFunctionBodies(BVSparse<Memory::ArenaAllocator>*, unsigned int) () from /home/consul/carwaleweb/libChakraCore.so
#8  0x00007ff1439a5597 in ThreadContext::TryRedeferral() () from /home/consul/carwaleweb/libChakraCore.so
#9  0x00007ff1439a53e5 in ThreadContext::PostSweepRedeferralCallBack() () from /home/consul/carwaleweb/libChakraCore.so
#10 0x00007ff143959859 in Memory::Recycler::Sweep(unsigned long, bool, bool) () from /home/consul/carwaleweb/libChakraCore.so
#11 0x00007ff14395ab6a in Memory::Recycler::CollectOnConcurrentThread() () from /home/consul/carwaleweb/libChakraCore.so
#12 0x00007ff14395a439 in Memory::Recycler::DoCollect(Memory::CollectionFlags) () from /home/consul/carwaleweb/libChakraCore.so
#13 0x00007ff1439a4135 in ThreadContext::ExecuteRecyclerCollectionFunction(Memory::Recycler*, int (Memory::Recycler::*)(Memory::CollectionFlags), Memory::CollectionFlags) () from /home/consul/carwaleweb/libChakraCore.so
#14 0x00007ff14373f7bc in _JsErrorCode JsCollectGarbageCommon<(Memory::CollectionFlags)536907776>(void*)::{lambda()#1}::operator()() const ()
   from /home/consul/carwaleweb/libChakraCore.so
#15 0x00007ff14373f64e in _JsErrorCode GlobalAPIWrapper_Core<_JsErrorCode GlobalAPIWrapper_NoRecord<_JsErrorCode JsCollectGarbageCommon<(Memory::CollectionFlags)536907776>(void*)::{lambda()#1}>(_JsErrorCode JsCollectGarbageCommon<(Memory::CollectionFlags)536907776>(void*)::{lambda()#1})::{lambda()#1}>(_JsErrorCode JsCollectGarbageCommon<(Memory::CollectionFlags)536907776>(void*)::{lambda()#1}) () from /home/consul/carwaleweb/libChakraCore.so
#16 0x00007ff14372263d in JsCollectGarbage () from /home/consul/carwaleweb/libChakraCore.so
#17 0x00007ff1b7b85252 in ?? ()
#18 0x00007ff189095228 in ?? ()
#19 0x0000000000871157 in ?? ()
#20 0x00007ff21c706718 in vtable for InlinedCallFrame () from /home/consul/carwaleweb/libcoreclr.so
#21 0x00007fe81896cd50 in ?? ()
#22 0x00007ff1b2adc028 in ?? ()
#23 0x00000fb300000000 in ?? ()
#24 0x00007fe818969960 in ?? ()
...
(gdb) bt full
#0  0x00007ff14396324e in Memory::RecyclerWriteBarrierManager::WriteBarrier(void*) () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#1  0x00007ff143aad715 in Js::FunctionCodeGenRuntimeData::GetInlinee(unsigned short) const () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#2  0x00007ff1439894dc in void Js::FunctionCodeGenRuntimeData::MapInlineCaches<void Js::FunctionBody::CleanUpInlineCaches<false>()::{lambda(Js::InlineCache*)#1}>(void Js::FunctionBody::CleanUpInlineCaches<false>()::{lambda(Js::InlineCache*)#1}) const () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#3  0x00007ff143985bd7 in void Js::FunctionBody::CleanUpInlineCaches<false>() () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#4  0x00007ff14397bc48 in Js::FunctionBody::CleanupRecyclerData(bool, bool) () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#5  0x00007ff143972fd0 in Js::FunctionBody::Cleanup(bool) () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#6  0x00007ff143972b9b in Js::FunctionBody::RedeferFunction() () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#7  0x00007ff14398e338 in Js::ScriptContext::RedeferFunctionBodies(BVSparse<Memory::ArenaAllocator>*, unsigned int) () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#8  0x00007ff1439a5597 in ThreadContext::TryRedeferral() () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#9  0x00007ff1439a53e5 in ThreadContext::PostSweepRedeferralCallBack() () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#10 0x00007ff143959859 in Memory::Recycler::Sweep(unsigned long, bool, bool) () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#11 0x00007ff14395ab6a in Memory::Recycler::CollectOnConcurrentThread() () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#12 0x00007ff14395a439 in Memory::Recycler::DoCollect(Memory::CollectionFlags) () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#13 0x00007ff1439a4135 in ThreadContext::ExecuteRecyclerCollectionFunction(Memory::Recycler*, int (Memory::Recycler::*)(Memory::CollectionFlags), Memory::CollectionFlags) () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#14 0x00007ff14373f7bc in _JsErrorCode JsCollectGarbageCommon<(Memory::CollectionFlags)536907776>(void*)::{lambda()#1}::operator()() const ()
   from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#15 0x00007ff14373f64e in _JsErrorCode GlobalAPIWrapper_Core<_JsErrorCode GlobalAPIWrapper_NoRecord<_JsErrorCode JsCollectGarbageCommon<(Memory::CollectionFlags)536907776>(void*)::{lambda()#1}>(_JsErrorCode JsCollectGarbageCommon<(Memory::CollectionFlags)536907776>(void*)::{lambda()#1})::{lambda()#1}>(_JsErrorCode JsCollectGarbageCommon<(Memory::CollectionFlags)536907776>(void*)::{lambda()#1}) () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#16 0x00007ff14372263d in JsCollectGarbage () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#17 0x00007ff1b7b85252 in ?? ()
No symbol table info available.
#18 0x00007ff189095228 in ?? ()
No symbol table info available.
---Type <return> to continue, or q <return> to quit---
#19 0x0000000000871157 in ?? ()
No symbol table info available.
#20 0x00007ff21c706718 in vtable for InlinedCallFrame () from /home/consul/carwaleweb/libcoreclr.so
No symbol table info available.
#21 0x00007fe81896cd50 in ?? ()
No symbol table info available.
#22 0x00007ff1b2adc028 in ?? ()
No symbol table info available.
#23 0x00000fb300000000 in ?? ()
No symbol table info available.
#24 0x00007fe818969960 in ?? ()
No symbol table info available.
#25 0x00007ff1b7b85252 in ?? ()
No symbol table info available.
...

Also lldb output :

(lldb) bt
* thread #1: tid = 0, 0x00007f7665166cee libChakraCore.so`Memory::RecyclerWriteBarrierManager::WriteBarrier(void*) + 14, name = 'Carwale.UI', stop reason = signal SIGSEGV
  * frame #0: 0x00007f7665166cee libChakraCore.so`Memory::RecyclerWriteBarrierManager::WriteBarrier(void*) + 14
    frame #1: 0x00007f76652b11b5 libChakraCore.so`Js::FunctionCodeGenRuntimeData::GetInlinee(unsigned short) const + 37
    frame #2: 0x00007f766518cf7c libChakraCore.so`void Js::FunctionCodeGenRuntimeData::MapInlineCaches<void Js::FunctionBody::CleanUpInlineCaches<false>()::{lambda(Js::InlineCache*)#1}>(void Js::FunctionBody::CleanUpInlineCaches<false>()::{lambda(Js::InlineCache*)#1}) const + 236
    frame #3: 0x00007f7665189677 libChakraCore.so`void Js::FunctionBody::CleanUpInlineCaches<false>() + 1063
    frame #4: 0x00007f766517f6e8 libChakraCore.so`Js::FunctionBody::CleanupRecyclerData(bool, bool) + 40
    frame #5: 0x00007f7665176a70 libChakraCore.so`Js::FunctionBody::Cleanup(bool) + 48
    frame #6: 0x00007f766517663b libChakraCore.so`Js::FunctionBody::RedeferFunction() + 43
    frame #7: 0x00007f7665191dd8 libChakraCore.so`Js::ScriptContext::RedeferFunctionBodies(BVSparse<Memory::ArenaAllocator>*, unsigned int) + 968
    frame #8: 0x00007f76651a9037 libChakraCore.so`ThreadContext::TryRedeferral() + 215
    frame #9: 0x00007f76651a8e85 libChakraCore.so`ThreadContext::PostSweepRedeferralCallBack() + 53
    frame #10: 0x00007f766515d2f9 libChakraCore.so`Memory::Recycler::Sweep(unsigned long, bool, bool) + 329
    frame #11: 0x00007f766515e60a libChakraCore.so`Memory::Recycler::CollectOnConcurrentThread() + 298
    frame #12: 0x00007f766515ded9 libChakraCore.so`Memory::Recycler::DoCollect(Memory::CollectionFlags) + 745
    frame #13: 0x00007f766515e1ed libChakraCore.so`Memory::Recycler::FinishConcurrentCollect(Memory::CollectionFlags) + 525
    frame #14: 0x00007f76651a7bd5 libChakraCore.so`ThreadContext::ExecuteRecyclerCollectionFunction(Memory::Recycler*, int (Memory::Recycler::*)(Memory::CollectionFlags), Memory::CollectionFlags) + 437
    frame #15: 0x00007f7664f428ac libChakraCore.so`_JsErrorCode JsCollectGarbageCommon<(Memory::CollectionFlags)536907776>(void*)::{lambda()#1}::operator()() const + 188
    frame #16: 0x00007f7664f4273e libChakraCore.so`_JsErrorCode GlobalAPIWrapper_Core<_JsErrorCode GlobalAPIWrapper_NoRecord<_JsErrorCode JsCollectGarbageCommon<(Memory::CollectionFlags)536907776>(void*)::{lambda()#1}>(_JsErrorCode JsCollectGarbageCommon<(Memory::CollectionFlags)536907776>(void*)::{lambda()#1})::{lambda()#1}>(_JsErrorCode JsCollectGarbageCommon<(Memory::CollectionFlags)536907776>(void*)::{lambda()#1}) + 14
    frame #17: 0x00007f7664f2572d libChakraCore.so`JsCollectGarbage + 29
    frame #18: 0x00007f76cb9260d2
    frame #19: 0x00007f76cb306749
    frame #20: 0x00007f76cb2bc901
    frame #21: 0x00007f76b7ce3dbc
    frame #22: 0x00007f76b7ce376f
    ....
    frame #135: 0x00007f7730d6f5ff libcoreclr.so`CallDescrWorkerInternal + 124
    frame #136: 0x00007f7730c9f445 libcoreclr.so`CallDescrWorkerWithHandler(CallDescrData*, int) + 117
    frame #137: 0x00007f7730c9ff20 libcoreclr.so`MethodDescCallSite::CallTargetWorker(unsigned long const*, unsigned long*, int) + 1264
    frame #138: 0x00007f7730de9c2a libcoreclr.so`QueueUserWorkItemManagedCallback(void*) + 74
    frame #139: 0x00007f7730c71645 libcoreclr.so`ManagedThreadBase_DispatchOuter(ManagedThreadCallState*) + 341
    frame #140: 0x00007f7730c71cad libcoreclr.so`ManagedThreadBase::ThreadPool(void (*)(void*), void*) + 45
    frame #141: 0x00007f7730dd557e libcoreclr.so`ManagedPerAppDomainTPCount::DispatchWorkItem(bool*, bool*) + 270
    frame #142: 0x00007f7730c90999 libcoreclr.so`ThreadpoolMgr::WorkerThreadStart(void*) + 1241
    frame #143: 0x00007f7730fa371d libcoreclr.so`CorUnix::CPalThread::ThreadEntry(void*) + 349
    frame #144: 0x00007f77325d96ba libpthread.so.0`start_thread + 202
    frame #145: 0x00007f773186a4dd libc.so.6`__clone + 109 at clone.S:109

Please let me know if more info is needed.

Thankyou.