chakra-core / chakra-core/ChakraCore
Program terminated with signal SIGSEGV, Segmentation fault
- Dominant language
- JavaScript
- Stars
- 9.3k
- Forks
- 1.2k
- PR merge metrics
- No merged PRs in 30d
Description
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()::{lambda(Js::InlineCache*)#1}>(void Js::FunctionBody::CleanUpInlineCaches()::{lambda(Js::InlineCache*)#1}) const () from /home/consul/carwaleweb/libChakraCore.so
#3 0x00007ff143985bd7 in void Js::FunctionBody::CleanUpInlineCaches() () 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*, 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()::{lambda(Js::InlineCache*)#1}>(void Js::FunctionBody::CleanUpInlineCaches()::{lambda(Js::InlineCache*)#1}) const () from /home/consul/carwaleweb/libChakraCore.so
No symbol table info available.
#3 0x00007ff143985bd7 in void Js::FunctionBody::CleanUpInlineCaches() () 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*, 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 to continue, or q 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()::{lambda(Js::InlineCache*)#1}>(void Js::FunctionBody::CleanUpInlineCaches()::{lambda(Js::InlineCache*)#1}) const + 236
frame #3: 0x00007f7665189677 libChakraCore.so`void Js::FunctionBody::CleanUpInlineCaches() + 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*, 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.
Contributor guide
Assessment
This issue has not been assessed yet.