This repository was archived by the owner on Nov 1, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 505
This repository was archived by the owner on Nov 1, 2020. It is now read-only.
[RyuJIT/ARM32] GC fails with FindProcInfo #4626
Copy link
Copy link
Closed
Labels
Description
After I compile under Tizen ARM with RyuJIT and run some sample, that starts consuming more memory than usual the next crash occurs in GC:
Hello: CoreRT/src/Native/Runtime/unix/UnixContext.cpp:520: bool FindProcInfo(UIntNative, UIntNative *, UIntNative *): Assertion `(procInfo.start_ip <= controlPC) && (controlPC < procInfo.end_ip)' failed.
...
#0 0xb69f2094 in raise () from /lib/libc.so.6
#1 0xb69f33f0 in abort () from /lib/libc.so.6
#2 0xb69eaf0c in ?? () from /lib/libc.so.6
#3 0xb69eafe8 in __assert_fail () from /lib/libc.so.6
#4 0x001590d4 in FindProcInfo (controlPC=1659907, startAddress=0xbeffed58, lsda=0xbeffed54) at CoreRT/src/Native/Runtime/unix/UnixContext.cpp:520
#5 0x0015db56 in UnixNativeCodeManager::FindMethodInfo (this=0x509650, ControlPC=0x195403 <Hello_BinaryTrees_TreeNode___ctor+22>, pMethodInfoOut=0xbeffeef4) at CoreRT/src/Native/Runtime/unix/UnixNativeCodeManager.cpp:61
#6 0x00037d14 in StackFrameIterator::CalculateCurrentMethodState (this=0xbeffee58) at CoreRT/src/Native/Runtime/StackFrameIterator.cpp:1508
#7 0x0003ae48 in Thread::GcScanRootsWorker (this=0xb6ff74c8, pfnEnumCallback=0x85de1 <WKS::GCHeap::Promote(Object**, ScanContext*, unsigned int)>, pvCallbackData=0xbefff2b0, frameIterator=...) at CoreRT/src/Native/Runtime/thread.cpp:485
#8 0x0003ad32 in Thread::GcScanRoots (this=0xb6ff74c8, pfnEnumCallback=0x85de1 <WKS::GCHeap::Promote(Object**, ScanContext*, unsigned int)>, pvCallbackData=0xbefff2b0) at CoreRT/src/Native/Runtime/thread.cpp:408
#9 0x000264a8 in GCToEEInterface::GcScanRoots (fn=0x85de1 <WKS::GCHeap::Promote(Object**, ScanContext*, unsigned int)>, condemned=0, max_gen=2, sc=0xbefff2b0) at CoreRT/src/Native/Runtime/gcrhscan.cpp:85
#10 0x0014dd16 in GCScan::GcScanRoots (fn=0x85de1 <WKS::GCHeap::Promote(Object**, ScanContext*, unsigned int)>, condemned=0, max_gen=2, sc=0xbefff2b0) at CoreRT/src/Native/gc/gcscan.cpp:170
#11 0x0006c012 in WKS::gc_heap::mark_phase (condemned_gen_number=0, mark_only_p=0) at CoreRT/src/Native/Runtime/Full/../../gc/gc.cpp:19566
#12 0x000655e8 in WKS::gc_heap::gc1 () at CoreRT/src/Native/Runtime/Full/../../gc/gc.cpp:15262
#13 0x0007b068 in WKS::gc_heap::garbage_collect (n=0) at CoreRT/src/Native/Runtime/Full/../../gc/gc.cpp:16827
#14 0x0005b8e6 in WKS::GCHeap::GarbageCollectGeneration (this=0x4fb060, gen=0, reason=reason_alloc_soh) at CoreRT/src/Native/Runtime/Full/../../gc/gc.cpp:35162
#15 0x0005f848 in WKS::gc_heap::try_allocate_more_space (acontext=0xb6ff74c8, size=16, gen_number=0) at CoreRT/src/Native/Runtime/Full/../../gc/gc.cpp:13066
#16 0x0005f9d0 in WKS::gc_heap::allocate_more_space (acontext=0xb6ff74c8, size=16, alloc_generation_number=0) at CoreRT/src/Native/Runtime/Full/../../gc/gc.cpp:13362
#17 0x000b47c8 in WKS::gc_heap::allocate (jsize=16, acontext=0xb6ff74c8) at CoreRT/src/Native/Runtime/Full/../../gc/gc.cpp:13393
#18 WKS::GCHeap::Alloc (this=0x4fb060, context=0xb6ff74c8, size=16, flags=0) at CoreRT/src/Native/Runtime/Full/../../gc/gc.cpp:34508
#19 0x00023d4a in RhpGcAlloc (pEEType=0x494ffc, uFlags=0, cbSize=16, pTransitionFrame=0xbefffa10) at CoreRT/src/Native/Runtime/gcrhenv.cpp:273
#20 0x0016327c in RhpNewObject () at CoreRT/src/Native/Runtime/arm/AllocFast.S:78
#21 0x00494ffc in vtable for Boxed_Hello_BinaryTrees_TreeNode ()
It seems that libunwind returned wrong proc info for PC. Can anyone say something about this?
Reactions are currently unavailable