-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Description
Hello!
I've got a segmentation fault while profiling Tizen Xamarin-based Application with
a profiler based on SampleProfiler using ICorProfiler API:
https://github.com/dotnet/samples/tree/main/core/profiling
The segmentation fault always occurs here:
runtime/src/coreclr/vm/stubhelpers.cpp
Line 550 in 8602bb3
| GCX_PREEMP_THREAD_EXISTS(pThread); |
Thread 1 "Alarm.dll" received signal SIGSEGV, Segmentation fault.
StubHelpers::ProfilerBeginTransitionCallback (pSecretParam=3040227328, pThread=0x0, unsafe_pThis=)
at /usr/src/debug/coreclr-8.0.0-0.arm/src/coreclr/vm/stubhelpers.cpp:555555 GCX_PREEMP_THREAD_EXISTS(pThread);
(gdb) bt
#0StubHelpers::ProfilerBeginTransitionCallback (pSecretParam=3040227328, pThread=0x0, unsafe_pThis=)at /usr/src/debug/coreclr-8.0.0-0.arm/src/coreclr/vm/stubhelpers.cpp:555
#10xb49836ec in ?? ()Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
This can be reproduced on armel (armv7l) machine on release/7.0 and release/8.0 branches, not release/6.0
So, I've found that PR #69761 eliminates the null-checking code for some reason:
Can you please describe why that change was made and why segfault can happen now?
cc @dotnet/samsung