-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing call site when getting stack trace on stack overflow on Linux #35391
Comments
Tagging subscribers to this area: @tommcdon |
The reason for this is that we abort due to stack overflow right in the sigsegv_handler. That means that no explicit frame for the failure is created on the stack and attached to the current native runtime thread object (as this is in PAL, we don't have access to that and we would not be allowed to access thread local stuff anyways at that stage (async signal handlers cannot do that unless they know that the location where the thread was interrupted is safe for doing that). |
@k15tfu it really depends on where the stack overflow happens. If it happens in the native runtime code (like in the case you've referred to), you'd get the call stack in most cases, because when managed code calls native runtime methods, for many of those we create a HelperMethodFrame. But if it happens in the managed code, you are out of luck. |
Actually, I wonder - if the |
@mikem8361 Any thoughts why this happens? |
I haven't had a chance to investigate. |
I can repro this problem on the 3.1.5 runtime, but not on the latest 5.0 from master so this issue is fixed in most stack overflow cases. |
Hi!
Not sure why I can get it to work because similar issues were already considered a few times (#825, #9195, #12752, dotnet/diagnostics#135).
my Program.cs:
I attach to this program during Thread.Sleep() and when lldb-8 breaks on SIGSEGV I'm able to get the full stack but it doesn't work when stopped in sigsegv_handler / PROCAbort:
Consequently, I see the same thing when analyzing auto-generated minidump by createdump:
I have tried
dotnet-dump analyze
andlldb-8 -c
:dotnet sdk v3.1.100
dotnet-sos v3.1.120604
cc @mikem8361
The text was updated successfully, but these errors were encountered: