-
Notifications
You must be signed in to change notification settings - Fork 851
Description
I debugged a crash of vmr while compiling fsharp on Linux/s390x. The stack had overflown.
A reason for it to overflow is that s390x stack size is much smaller than what we have on x64/arm64, see dotnet/runtime#124368.
It's interesting to note that the stack was so huge, which is why I'm creating this issue.
Probably this is expected based on how the F# compiler works.
What determines how much stack size the F# compiler needs (for example, might it need more stack space when there are fewer cores)? Does it try to guard how much stack space is left? Have there been recent changes that might require it to need a larger stack? Or perhaps processing moved from the main thread (which would likely be 8MB on Linux) to ThreadPool (which would be 2MB with Mono)?
If the required stack size is known to be large, it may make sense to create a thread and specify the stack size explicitly so that a large stack is available.
cc @dotnet/fsharp @majocha
Metadata
Metadata
Assignees
Labels
Type
Projects
Status