-
Notifications
You must be signed in to change notification settings - Fork 206
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
Spring Language Server hangs forever #1075
Comments
I suspect this is unlikely to be a harmful issue... Most likely what happens is LS starts a progress but then something fails or server re-starts and there is nothing to terminate the progress... |
Maybe we can find a way to let the progress message to contain more details about what exactly is going on and what exactly the progress is waiting for. |
If I may add, the CPU utilization goes through the roof in the meantime until the spring job is done. |
This is likely something in LSP4E... all progress tasks started from Boot LS side have title set which means that under the progress bar the title would be displayed such as "Loading Rewrite Recipes..." etc. Likely lsp4e starts a job on the client that waits for the server response which never arrives... |
What exactly do you see in the progress view when the CPU utilization goes up? Maybe this specific observation is related to #1068 (just guessing here). When you see jobs that talk about "reconciling" while the CPU goes up, that would be a strong indicator that you are observing #1068. If you see something else, please mention what exactly appears in the progress view when the CPU utilization is high and maybe capture a thread dump (using |
@youcangetme In case you come across this item in the progress bar again, it would be good to know what it said before you tried to cancel it and maybe also capture a thread dump of the IDE as well as the |
@martinlippert I will screen shot it. It happened again last night and I didn't notice and weird parts of my compile and runs started failing. I was really confused as to why the beans were suddenly missing when I started from the Boot Dashboard and finally I looked down and the Spring Lang servers were spinning helplessly. I had to restart Eclipse to kill them. Next time I will screenshot everything. |
@youcangetme Sounds good, please do not only screenshot, but also remember taking thread dumps as well... :-) |
Hopefully this is what you need. |
Thanks for capturing the thread dump. Did you observe a high-running CPU while this happens? And if so, on the |
Hmmm, Eclipse was nearly frozen. The rest of my computer was fine. I did not observe the CPU directly but it struck me as odd that Eclipse was like 20 chars behind my typing but when I clicked into any other window it was like nothing was wrong. I will check the CPU next time. Of note though, I was refactoring both times this happened. Not sure if that is a detail or not but that was the context of what I was doing before the lang server when nuts. |
Looks like this is another instance of Rewrite reconciling that downgrades performance. I see this thread:
Looks like this thread isn't blocked and it keeps publishing diagnostics while blocking other threads to read/write json messages to the IDE client. We are working on moving from reconciling Rewrite ASTs to perform the same reconciling on JDT ASTs which is faster by an order of magnitude... |
That seems to have helped. Thank you very much |
@youcangetme I hope you have that preference |
Sorry, Github emails get buried in the Spam folder these days :( Let me do that. |
This is duplicate of #1103 which just got fixed. Try latest snapshots from https://dist.springsource.com/snapshot/STS4/nightly-distributions.html |
Describe the bug
On restart, first start or any changes to a project the Spring Language Server process can start but never complete. If you cancel it it just says it is canceling and never does.
To Reproduce
Just like with #925 I cannot replicated it at will but it does seem to happen after a lot of refreshing of the project.
Sample
Reports that include a sample will take priority over reports that do not.
At times, we may require a sample, so it is good to try and include a sample up front.
The text was updated successfully, but these errors were encountered: