-
Notifications
You must be signed in to change notification settings - Fork 2.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
Holding x to delete spawns an army of monos #1913
Comments
What is really strange is that apparently we're using always the same port 😕 I'll try to take a look asap but ping @mispencer |
This is the same issue as ycm-core/ycmd#284. I am currently working on a fix. |
@micbou I did not saw that bug 😕 |
It probable should be checking ServerIsActive not ServerIsReady before autostarting a server during hte parse check. ServerIsReady required Omnisharp to respond to a ping, where ServerIsActive just requires it to be started. If the server has just started, it may not respond, and thus you get a new server started (which won't respond during the next parse check, thus you get a third server...) |
[READY] Prevent simultaneous starts of OmniSharp server Currently, C# completer starts a new server on the `FileReadyToParse` event if no port is defined or the running server does not respond. This can lead to situations where multiple servers with same port and solution are started until one of them become ready. See PR #284 and ycm-core/YouCompleteMe#1913. This is fixed by using `ServerIsActive` instead of `ServerIsRunning` to start the server in `OnFileReadyToParse`. We then check `ServerIsRunning` for an early return. `ServerIsActive` is updated to check the handle (instead of the port) and to poll the process. We cannot only rely on the port because it can be defined while the process is down: server crashed during start up or its process was directly terminated by the user. `ServerIsRunning` and `ServerIsReady` are also changed. We return early in both methods by checking `ServerIsAlive` first and we restrict exceptions catching. <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/valloric/ycmd/310) <!-- Reviewable:end -->
Fixed by PR ycm-core/ycmd#315 |
Working on a Unity3D project holding x to delete causes this to happen:
Happens both with neovim and macvim:
With this YCM:
Held x for about 3 seconds. This is the log:
The text was updated successfully, but these errors were encountered: