When I run applications with a small memory consumption, about 5 mb, everything is fine. But when consumption increases at least to 15, everything falls.
Thread 1 "usage2" received signal SIGSEGV, Segmentation fault.
GcInfoDecoder::SetIsInterruptibleCB (startOffset=3204414512, stopOffset=2138451712, hCallback=0x1) at /corert/src/Native/Runtime/Full/../coreclr/gcinfodecoder.cpp:77
77 /corert/src/Native/Runtime/Full/../coreclr/gcinfodecoder.cpp: No such file or directory.
(gdb) bt
#0 GcInfoDecoder::SetIsInterruptibleCB (startOffset=3204414512, stopOffset=2138451712, hCallback=0x1) at /corert/src/Native/Runtime/Full/../coreclr/gcinfodecoder.cpp:77
#1 0x000227e6 in StackFrameIterator::NextInternal (this=0xbeff7c20) at /corert/src/Native/Runtime/StackFrameIterator.cpp:1319
#2 0x00022726 in StackFrameIterator::Next (this=0xbeff7c20) at /corert/src/Native/Runtime/StackFrameIterator.cpp:1291
#3 0x00023b4a in Thread::GcScanRootsWorker (this=0xb6ff9f38, pfnEnumCallback=0x38a01 <WKS::GCHeap::Promote(Object**, ScanContext*, unsigned int)>, pvCallbackData=0xbeff7db8,
frameIterator=...) at /corert/src/Native/Runtime/thread.cpp:539
#4 0x00023a02 in Thread::GcScanRoots (this=0xb6ff9f38, pfnEnumCallback=0x7f762f00, pvCallbackData=0x1) at /corert/src/Native/Runtime/thread.cpp:411
#5 0x0001e6f6 in GCToEEInterface::GcScanRoots (fn=0x38a01 <WKS::GCHeap::Promote(Object**, ScanContext*, unsigned int)>, condemned=<optimized out>, max_gen=<optimized out>,
sc=<optimized out>) at /corert/src/Native/Runtime/gcrhscan.cpp:85
#6 0x00031f8e in WKS::gc_heap::mark_phase (condemned_gen_number=0, mark_only_p=0) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:19600
#7 0x000307ac in WKS::gc_heap::gc1 () at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:15270
#8 0x00035e10 in WKS::gc_heap::garbage_collect (n=<optimized out>) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:16817
#9 0x0002e0c0 in WKS::GCHeap::GarbageCollectGeneration (this=<optimized out>, gen=0, reason=<optimized out>) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:35196
#10 0x0002f658 in WKS::gc_heap::try_allocate_more_space (acontext=<optimized out>, size=<optimized out>, gen_number=0)
at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:13074
#11 0x00043d6e in WKS::gc_heap::allocate_more_space (acontext=<optimized out>, alloc_generation_number=0, size=<optimized out>)
at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:13370
#12 WKS::gc_heap::allocate (jsize=16, acontext=0xb6ff9f38) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:13401
#13 WKS::GCHeap::Alloc (this=<optimized out>, context=0xb6ff9f38, size=16, flags=0) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:34542
#14 0x00053e90 in RhpNewObject () at /corert/src/Native/Runtime/arm/AllocFast.S:78
#15 0xb4c9001c in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 1 "Hello_spec" received signal SIGABRT, Aborted.
0xb6cba094 in raise () from /lib/libc.so.6
(gdb) bt
#0 0xb6cba094 in raise () from /lib/libc.so.6
#1 0xb6cbb3f0 in abort () from /lib/libc.so.6
#2 0x0001fee2 in Assert (expr=0x3f963e "ASSERT_UNCONDITIONALLY", file=0x40e513 "/corert/src/Native/Runtime/unix/UnwindHelpers.cpp", line_num=358,
message=0x40e562 "LocateUnwindSections") at /corert/src/Native/Runtime/rhassert.cpp:25
#3 0x000c8842 in LocateUnwindSections (pc=940973) at /corert/src/Native/Runtime/unix/UnwindHelpers.cpp:358
#4 0x000c886c in UnwindHelpers::StepFrame (regs=0xbefff078) at /corert/src/Native/Runtime/unix/UnwindHelpers.cpp:370
#5 0x000be9f2 in VirtualUnwind (pRegisterSet=0xbefff078) at /corert/src/Native/Runtime/unix/UnixContext.cpp:612
#6 0x000c358a in UnixNativeCodeManager::UnwindStackFrame (this=0x613640, pMethodInfo=0xbefff104, pRegisterSet=0xbefff078, ppPreviousTransitionFrame=0xbeffef80)
at /corert/src/Native/Runtime/unix/UnixNativeCodeManager.cpp:222
#7 0x00030a52 in StackFrameIterator::NextInternal (this=0xbefff068) at /corert/src/Native/Runtime/StackFrameIterator.cpp:1319
#8 0x00030958 in StackFrameIterator::Next (this=0xbefff068) at /corert/src/Native/Runtime/StackFrameIterator.cpp:1291
#9 0x00033554 in Thread::GcScanRootsWorker (this=0xb6ff9f38, pfnEnumCallback=0x7c5b9 <WKS::GCHeap::Promote(Object**, ScanContext*, unsigned int)>, pvCallbackData=0xbefff4a0,
frameIterator=...) at /corert/src/Native/Runtime/thread.cpp:539
#10 0x00033386 in Thread::GcScanRoots (this=0xb6ff9f38, pfnEnumCallback=0x7c5b9 <WKS::GCHeap::Promote(Object**, ScanContext*, unsigned int)>, pvCallbackData=0xbefff4a0)
at /corert/src/Native/Runtime/thread.cpp:411
#11 0x0002598a in GCToEEInterface::GcScanRoots (fn=0x7c5b9 <WKS::GCHeap::Promote(Object**, ScanContext*, unsigned int)>, condemned=0, max_gen=2, sc=0xbefff4a0)
at /corert/src/Native/Runtime/gcrhscan.cpp:85
#12 0x000b3440 in GCScan::GcScanRoots (fn=0x7c5b9 <WKS::GCHeap::Promote(Object**, ScanContext*, unsigned int)>, condemned=0, max_gen=2, sc=0xbefff4a0)
at /corert/src/Native/gc/gcscan.cpp:170
#13 0x00063422 in WKS::gc_heap::mark_phase (condemned_gen_number=0, mark_only_p=0) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:19600
#14 0x0005d0f4 in WKS::gc_heap::gc1 () at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:15270
#15 0x00071ec2 in WKS::gc_heap::garbage_collect (n=0) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:16861
#16 0x0005385e in WKS::GCHeap::GarbageCollectGeneration (this=0x605020, gen=0, reason=reason_alloc_soh) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:35196
#17 0x00057550 in WKS::gc_heap::try_allocate_more_space (acontext=0xb6ff9f38, size=24012, gen_number=0) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:13074
#18 0x000576b8 in WKS::gc_heap::allocate_more_space (acontext=0xb6ff9f38, size=24012, alloc_generation_number=0) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:13370
#19 0x000a9d3c in WKS::gc_heap::allocate (jsize=24012, acontext=0xb6ff9f38) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:13401
#20 WKS::GCHeap::Alloc (this=0x605020, context=0xb6ff9f38, size=24012, flags=0) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:34542
#21 0x00023260 in RhpGcAlloc (pEEType=0x5e3f18, uFlags=0, cbSize=24012, pTransitionFrame=0xbefffb78) at /corert/src/Native/Runtime/gcrhenv.cpp:273
#22 0x000c8b96 in RhpNewArrayRare () at /corert/src/Native/Runtime/arm/AllocFast.S:324
#23 0x005e3f18 in vtable for __Array<Char> ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
With portable c++ implementation of RhpNewArray, RhpNewFast, RhNewString and RhpNewFinalizable:
#0 0xb6cba094 in raise () from /lib/libc.so.6
#1 0xb6cbb3f0 in abort () from /lib/libc.so.6
#2 0x0001fee2 in Assert (expr=0x3fc61d "m_pHackPInvokeTunnel != NULL", file=0x3fc63a "/corert/src/Native/Runtime/thread.cpp", line_num=142, message=0x0)
at /corert/src/Native/Runtime/rhassert.cpp:25
#3 0x000330d0 in Thread::EnablePreemptiveMode (this=0xb6ff9f38) at /corert/src/Native/Runtime/thread.cpp:142
#4 0x00023e9e in GCToEEInterface::EnablePreemptiveGC (pThread=0xb6ff9f38) at /corert/src/Native/Runtime/gcrhenv.cpp:1010
#5 0x00037816 in WKS::gc_heap::enable_preemptive (current_thread=0xb6ff9f38) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:1788
#6 0x00053ba2 in WKS::GCHeap::GarbageCollectGeneration (this=0x605020, gen=0, reason=reason_alloc_soh) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:35141
#7 0x00057988 in WKS::gc_heap::try_allocate_more_space (acontext=0xb6ff9f38, size=24012, gen_number=0) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:13074
#8 0x00057af0 in WKS::gc_heap::allocate_more_space (acontext=0xb6ff9f38, size=24012, alloc_generation_number=0) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:13370
#9 0x000aa174 in WKS::gc_heap::allocate (jsize=24012, acontext=0xb6ff9f38) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:13401
#10 WKS::GCHeap::Alloc (this=0x605020, context=0xb6ff9f38, size=24012, flags=0) at /corert/src/Native/Runtime/Full/../../gc/gc.cpp:34542
#11 0x00023260 in RhpGcAlloc (pEEType=0x5e3f18, uFlags=0, cbSize=24012, pTransitionFrame=0x0) at /corert/src/Native/Runtime/gcrhenv.cpp:273
#12 0x000296ca in RhpNewArray (pArrayEEType=0x5e3f18, numElements=3000) at /corert/src/Native/Runtime/portable.cpp:160
#13 0x000e5e54 in Hello_SpectralNorm__MultiplyAtAv (this=..., n=3000, v=..., AtAv=...) at /corert/tests/src/Simple/Hello/Hello.cs:128
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
From @BredPet on June 27, 2018 12:20
When I run applications with a small memory consumption, about 5 mb, everything is fine. But when consumption increases at least to 15, everything falls.
@dotnet/arm32-corert-contrib
Copied from original issue: dotnet/coreclr#18669