-
Notifications
You must be signed in to change notification settings - Fork 786
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
StackOverflow in FSC running in Rider 2019.1 (EAP 4 or later) #6543
Comments
EAP1 to EAP3 used an FCS build from Our patches are needed to make all bundled assemblies reference the same FSharp.Core and to provide some additional info in FCS APIs (e.g. few additions in Symbols API). These patches currently do not modify type checking process, thus, I assume they should not be the source of the STOFL. |
@object Two questions:
|
@cartermp I'm working on the same solution
|
@pmbanka Thanks, that helps. Unfortunately, we'll need a reproduction to continue. If you have an extracted subset that demonstrates this and it can be shared openly that's preferred, but if that doesn't seem feasible you can share it with me over email (phcart at microsoft). I'm under NDA when communicating over email. You may also want to double check with your legal about sharing source. Though I'm under NDA, some organizations want additional assurances that Microsoft will not steal IP or use the source code for anything other than identifying the cause of a bug. |
@cartermp we checked earlier with our legal folks and it's OK for us to send the code to tools vendors. If we manage to extract a small failing subset we can also share it publicly (need to double check). Hope to send or share here something tomorrow. |
@object Thanks! |
@cartermp I believe I have a small project that reproduces the issue: https://github.com/object/FcsStackOverflow I managed to reduce it to a very small repo, so there is no need for NDA etc. It's Suave Swagger computational expression that causes stack overflow in FCS. What is weird is that SO occurs after certain number of expressions are specified in the "swagger" block. Removing some (arbitrary chosen) expressions fixes the problem. |
I hadn't seen the |
Even though we are using it, I have somewhat mixed feeling about it because it replaces original Suave API with its own. Syntax becomes quite different. But it does its job and it's quick to add it. And if it helps catching SO, then our choice was justified :-) |
I could repro in VS 2019 by loading the solution and then building. I believe this is the same problem as #6258 and #6426 The fix is in the compiler already, set for the 16.1 update, and available for VS in the nightly feed. I installed the latest nightly and built the project again and no longer see a StackOverflow. I'll close this as a dupe of those two issues. |
Great! Thanks for finding out. |
@cartermp Thank you, I can confirm it's fixed in current |
JetBrains Rider upgraded FCS (used internally) in 2019.1 EAP4, they build it using branch dev16.1. After that loading certain solutions cause StackOverflow exception.
Repro steps
Provide the steps required to reproduce the problem
Known workarounds
Downgrade Rider to EAP3 or earlier that uses older version of FCS.
Related information
StackDump:
https://gist.github.com/object/ed213fcb6695471879f52b643964a819
etc...
The text was updated successfully, but these errors were encountered: