-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
Test failure baseservices\\exceptions\\stackoverflow\\stackoverflowtester\\stackoverflowtester.cmd #84911
Comments
Tagging subscribers to this area: @tommcdon Issue DetailsRun: runtime-coreclr jitstress-isas-x86 20230415.1 Failed test:
Error message:
|
Another stackoverflowtester failure @janvorli |
Failed again in: runtime-coreclr pgostress 20230428.1 Failed test:
Error message:
|
Failed again in: runtime-coreclr pgostress 20230512.1 Failed tests:
�Error message:
�Stack trace:
|
Failed again in: runtime-coreclr jitstress 20230522.1 Failed tests:
Error message:
Stack trace:
|
Failed again in: runtime-coreclr pgostress 20230602.1 Failed test:
Error message:
|
Failed again in: runtime-coreclr pgostress 20230609.1 Failed tests:
Error message:
Stack trace:
|
Failed again in: runtime-coreclr jitstress 20230619.1 Failed tests:
�Error message:
�Stack trace:
� |
Failed again in: runtime-coreclr pgostress 20230714.1 Failed tests:
Error message:
Stack trace:
|
Related: #46175 Test is disabled on Linux, for NativeAOT, and on mono. |
Assigned to @janvorli because it is also blocking jit experimental pipeline. https://dev.azure.com/dnceng-public/public/_build?definitionId=137. |
Failed in: runtime-coreclr outerloop 20240807.4 Failed tests:
Error message:
Stack trace:
|
Failed in: runtime-coreclr outerloop 20240808.10 Failed tests:
Error message:
Stack trace:
|
Adding @kouvel as well. |
Failed in: runtime-coreclr outerloop 20240811.3 Failed tests:
Error message:
Stack trace:
|
Hit again on Linux arm32, arm64, x64 in runtime-coreclr superpmi-collect/20240811.1
|
Failed in: runtime-coreclr outerloop 20240813.6 Failed tests:
Error message:
Stack trace:
|
I am taking over this issue as I've just got back from my vacation. The stack overflow tester app fails with SIGSEGV instead of stack overflow in the failure cases, so it seems like the stack overflow detection doesn't work in some edge cases. |
It seems that in all the cases, it occurs when stack overflow was triggered on the main thread without stack probing. |
The issue occurs with spmi only. |
@janvorli All the failures in the table above should be from innerloop pipelines. E.g. here's one from a rolling runtime run with an osx-x64 failure: https://dev.azure.com/dnceng-public/public/_build/results?buildId=772131&view=results |
osx-x64 is a different story. It hangs waiting for the child process exit (the child exits, but the wait handle is never signaled). We had the same problem with unhandled exception tests on osx-x64. It is not clear why that happens yet. The linux though is caused by a bug in the sigsegv handler and I am about to send a PR with a fix. |
When SuperPMI shared library is loaded last, its SIGSEGV handler is the first one that's executed. But since there is no coreclr runtime handler installed for it, it returns from the SwitchStackAndExecuteHandler in case of SIGSEGV. The remaining code in the SIGSEGV handler was not expecting that and thought that there was no stack overflow and attempted to run the hardware exception handler on the original stack of the thread, which obviously crashed since the original stack overflowed. The fix is to make sure that we only call the previously registered signal handler in this case. Close dotnet#84911
When SuperPMI shared library is loaded last, its SIGSEGV handler is the first one that's executed. But since there is no coreclr runtime handler installed for it, it returns from the SwitchStackAndExecuteHandler in case of SIGSEGV. The remaining code in the SIGSEGV handler was not expecting that and thought that there was no stack overflow and attempted to run the hardware exception handler on the original stack of the thread, which obviously crashed since the original stack overflowed. The fix is to make sure that we only call the previously registered signal handler in this case. Close dotnet#84911
Run: runtime-coreclr jitstress-isas-x86 20230415.1
Failed test:
Error message:
Known Issue Error Message
Fill the error message using step by step known issues guidance.
Known issue validation
Build: 🔎⚠️ Provided build not found. Provide a valid build in the "Build: 🔎" line.
Result validation:
Validation performed at: 7/28/2024 3:43:37 AM UTC
Report
Summary
The text was updated successfully, but these errors were encountered: