-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
System.InsufficientExecutionStackException
when using Mono on linux-musl
#76523
Comments
I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label. |
System.InsufficientExecutionStackException
on linux-musl-s390x
System.InsufficientExecutionStackException
when using Mono on linux-musl
This is reproducible on edit Though only with #68424 can one build mono on x64 |
With .net7-rc1, I cannot reproduce on |
More data: the stack exceptions on .NET 6 were caused by #76543 thus the issues we're encountering here were introduced with .NET 7 and seem to be specific to |
Well, the If I remember correctly, that was one reason why we increased the minimum per-thread stack size in glibc on |
Right, and indeed, this just came in, while I am no longer encountering stack exceptions in qemu-backed Thus, it still is up in the air whether this is .net7 specific bug. edit well the dotnet6 bug disappeared once I deleted the /tmp folder... so that's great! |
Fortunately we seem to be closing in on dotnet6 for s390x. Current build failure is at fsharp, where dotnet fails with error code 134. It seems stack related, error message is as follows:
Full log: fsharp.log |
This seems related to a mono-related bug from 2016: https://bugzilla.xamarin.com/38/38641/bug.html Should I open another issue for this since it seems different enough? |
Bug is unrelated, thus opened a new issue. This bug seems to be fixed now, thus closed. |
Description
Encountering
System.InsufficientExecutionStackException
errors onlinux-musl-s390x
which seems to be caused by mono not dealing with musl's low default stack size.Reproduction Steps
Within Alpine Linux
linux-musl-s390x
environment:Expected behavior
Build should be successful
Actual behavior
Fails with
System.InsufficientExecutionStackException
errors aftercsc.dll
processRegression?
The same issue occurs on dotnet 6.0.109 and 6.0.401 for what its worth.
Known Workarounds
Unknown, currently trying to find ways to force a higher stack size, but so far the following approches have failed
find "$_cli_root" -type f -exec "$srcdir"/muslstack -s 0x800000 '{}' \; 2>&1 | grep stackSize
which used muslstack to set every file in bootstrap with an 8MB stacksize-Wl,-z,stack-size=8198144
ld flagPTHREAD_STACK_MIN
in/usr/include/limits.h
from2048
to16384
and rebuilding monoConfiguration
linux-musl-s390x
fromlinux-musl-x64
Other information
Fix likely involves implementing
ENSURE_PRIMARY_STACK_SIZE
from coreclr to mono:runtime/src/coreclr/pal/src/init/pal.cpp
Lines 246 to 269 in 2201016
Relevant issues:
dotnet/roslyn#64423
#72920
Full log file: newtonsoft.log
The text was updated successfully, but these errors were encountered: