-
Notifications
You must be signed in to change notification settings - Fork 793
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
Stack overflow typechecking large CEs on macOS #13084
Comments
This may have been fixed in #12420 CC @dsyme FYI |
I'm not sure how to tell which PRs are in which release, but the performance appears to have regressed between 41.0.1 (released 6 months ago) and 41.0.3 (released 2 months ago) |
It would be good to have separate issues for the stackoverflow and any perf regression, thanks. Is the perf regression specifically with the kind of large-input code above? |
Sorry, 'performance' was the wrong word - I meant the previous version (41.0.1) was okay with this code, the stack overflow was introduced some time after then. I've been describing it a regression as I'm pretty sure it is the same issue I had with this same code a couple of years ago - it prevented me switching from mono FSAC to netcore FSAC for a good year or so. |
@samritchie Could you set the environment variable It might be we just have to reduce this stack guard, either on all or on MacOS:
|
@dsyme |
Thanks for confirming.
Please do, if there's been a regression we'd like to know about it ASAP, thanks |
I've upgraded to Ionide 7.1.0/FSAC 0.56.2 and intellisense is not instant but is at least usable - possibly it was related to this: ionide/FsAutoComplete#977. This version still crashes with an SO opening the repro file without the |
Upgrading from FSAC v0.51.0 to v0.52.0 (Ionide 6.0.0) triggers a stack overflow in
FSharp.Compiler.CheckComputationExpressions
on macOS when attempting to typecheck a file containing large CEs.I saw similar issues a couple of years ago with early versions of the netcore FSAC. Tracing through the versions, it looks like there may have been a performance regression between FCS 41.0.1 and 41.0.3?
Repro steps
Open the following file on macOS
Expected behavior
File typechecks successfully
Actual behavior
Language server crashes and reports a stack overflow starting with:
Known workarounds
Setting the environment variable
COMPlus_DefaultStackSize=180000
allows typecheck to complete successfullyRelated information
do!
expressionsThe text was updated successfully, but these errors were encountered: