-
Notifications
You must be signed in to change notification settings - Fork 105
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
Strange intermittent issue on LanguageServer startup after upgrading to Omnisharp 19 #556
Comments
@majastrz See if you can catch me on teams (you'll have to start the chat I don't think I can reach out to random people anymore lol!) |
I'll see if I can find some time to investigate a little bit, I wondering if it's the default task pool scheduler somehow. |
I'm still working on this. I think I have some of the problems resolved, but not necessarily all of them just yet. |
That's great news! |
I'm going to release |
Of course! I don't see |
Unfortunately bad news ☹. Still seeing the same failures with |
I just tried out |
So when do we get a non-beta release? 😁 |
@majastrz v0.19.2 is out and available on NuGet! |
Yup, we already picked up with Azure/bicep#1802! |
FYI @david-driscoll I think this issue can be closed! |
I wish I could close this for you @david-driscoll 😅 |
Seems like I can close it because I opened it. |
I'm trying to upgrade Bicep to Omnisharp 19 (we're currently on 18.3) and I'm having a strange issue with the server not receiving a notification from the client when multiple servers are launched concurrently in tests.
Everything works fine in our VS code extension. Local test runs can occasionally repro the issue but it's not reliable. In CI, the issue repros consistently on win-x64 and osx-x64 machines and does not repro at all on linux-x64 machines.
PR link: Azure/bicep#1802
I added some dummy logging in various places to figure out what is going on. In the failing tests, I see the following:
server.Initialize
is called, returns, and the server is awaitingserver.WaitForExit
.DidOpenTextDocument
notifications or sending the response. It probably means that they're not arriving because I can get the log messages out during service startup. (I'm logging viaILanguageServerFacade.Window
)Has something changed in 19 that could cause this behavior?
I'm not entirely familiar how Omnisharp threading is setup exactly, but this feels very race condition-y/deadlock-y to me ☹.
The code that launches the client/server is located at https://github.com/Azure/bicep/blob/majastrz/omnisharp-19/src/Bicep.LangServer.IntegrationTests/Helpers/IntegrationTestHelper.cs and basically looks like the below (entry point is
StartServerWithTextAsync()
. The code is invoked concurrently by tests running in parallel under mstest.Do you see anything that's obviously wrong with what we're doing here? (Btw, I can get on Teams to talk if that's easier. My alias is the same as my GH name.)
The text was updated successfully, but these errors were encountered: