-
Notifications
You must be signed in to change notification settings - Fork 210
Spring Boot Validations Builder hung seemingly forever #1103
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Comments
My assumption is that this is related to #1068. But it is somewhat hard to tell whether this is really the same issue without further details here. We could verify this by capturing a thread dump of the In the meantime, please disable the |
I have the same problem with always "executing" Spring Boot Language Server - and disable Reconciling does not help at all. |
I had already disabled that flag today after this started happening, and I've since restarted Eclipse. It made no difference. However, I have managed to get past this, in an unfortunate way. This hanging has always been happening on the same project, so I restarted Eclipse and quickly closed the project before it could get stuck again. Problem solved, at least until I have to look at this project again, which is likely, considering it's one of the projects my team maintains. Frankly, I think it's likely this is some problem with Groovy. That service has a handful of Groovy tests (which do nothing that a plain Java test could do). One of our devs is tasked with replacing the Groovy tests with Java tests, so perhaps I'll be able to open that project again soon, except for the fact that he is likely going to be asking me for help with that. Despite the fact that closing the project fixed the SBVB hang, the "Spring Boot Language Server" bg job is still running continuously. I don't know if that will ever complete. A version that fixes all of this couldn't come soon enough. |
And if it matters, the SBLS bg job is still running, 8 hours later. I don't believe it will stop unless I manually kill the process, and then it will likely just restart. It's not clear to me what the impact is of it running. |
I have the same issue. Attached are some log messages with some error exceptions. Would this help? The logs would eventually stay stuck when the Spring Boot Language Server kept running non-stop in the background.
I also have the "Reconciling of Java Sources" disabled, but I noticed in the log messages, it is still attempting to reconcile the Java sources and ignoring this option. |
@martinlippert And despite of that still see in console:
|
There must be log statements for each reconciled project with time it took. Do you see these log statements while OR reconciling is off? |
@davidmichaelkarr The background job is unlikely a job... it is just a rogue progress monitor, hence it is not something severe but is annoying and deserves to be fixed. |
While looking at this again, I think my initial thought that this might be related to the slow performance of the Java source file reconciling seems to be wrong and misleading. The screenshot on the related SO issue (https://stackoverflow.com/questions/76972725/my-eclipse-with-spring-boot-has-been-running-spring-boot-validations-builder-o) shows the Can you capture a thread dump of both the IDE process ( And @davidmichaelkarr, you mentioned that this happens for a specific project. Can you share that project with us? Or can you create a sample (or stripped down version of that) project and share that with us, if it reproduces the issue? |
I won't be able to share that project, and I have no idea what aspect of it is contributing to this problem. I will reopen the project and verify I can get this behavior again, and get those thread dumps. I have some other things I have to get done today, so it might not be until tomorrow. |
@BoykoAlex , I don't know whether it's a "job" or a "rogue progress monitor", but it is more than just annoying. When it is doing that, it blocks me from doing anything else. Once I kill the external process, it proceeds with the next thing I asked it to do. |
@davidmichaelkarr what the external process you are killing? Is it the BootLanguageServer process? |
Yes. |
Well... yes, in this case we'd need a thread dump for the BootLanguageServer process before you kill it next time... It might reveal us what got stuck... |
When OR reconciling is off it simply doesn't go through OR AST visitors... However "empty" reconciling still occurs thus for each java file empty lis of diagnostics is sent... Looks like it is stuck sending this empty list of diagnostics :-\ Not sure why this occurs... how many java files are in your project? Do you notice project being built over and over again? |
@davidmichaelkarr Any chance you can perhaps grab the newest snapshot version of STS and give it a try? The reconciling has been re-worked from the ground up in the soon to be released version and it might serve you much better... |
@BoykoAlex , I have dozens of projects open. The LS notification doesn't say which projects it's working on. I am not currently seeing any build loops. Note that the last run of the BLS appeared to complete without my killing it, but I think it likely ran for many hours before stopping. Setting up my typical workspace with a different STS version will take some time, but I can proceed with that when I'm not doing priority work. I'll want to do it in a separate installation. |
@davidmichaelkarr thanks for the thread dumps. I'm able to reproduce it and working towards fixing this. I think the reason for messages stuck is something consumes the previously received message and is not doing this in async fashion thus it received and attempting to send something on the same thread which is problematic... It seems like I might have a prototype fix for this but it is yet to be confirmed. Will keep you posted. |
Very likely i have a fix for this issue. Will test more tomorrow and if everything looks as great as it does now will push it in |
Seems like this 1377be2 fixes it. I'd try the new snapshot build that is running now. See https://dist.springsource.com/snapshot/STS4/nightly-distributions.html and watch for the distro from Aug 30 or try eclipse language servers nightly update site from the page. |
Also pushed this to cover possibly more such scenarios c5ae048 where we'd send a message on the same thread as the received notification message. Also ensured ids are unique for progress tasks to avoid rogue progress bars. |
I posted the following on SO a little while ago: https://stackoverflow.com/questions/76972725/my-eclipse-with-springboot-has-been-running-spring-boot-validations-builder-on . I'm having trouble updating the post to add the "spring-tools-4" tag, or a screenshot.
Rephrasing the post, my Eclipse (2023-06) has been hung on "Spring Boot Validations Builder" for a couple of hours now. The progress bar hasn't moved at all. I attempted to cancel it a long time ago, and all it did was add "(Cancel Requested)", but it's still been running for a long time since I did that.
Earlier today, I found that the Spring Boot Language Server bg job was hanging for long periods. I ended up simply killing the SBLS javaw job, which seemed to make the bg job go away for a while, but it always returned. I then tried rebooting (Windows 11), and now I'm stuck in this SBVB loop.
The text was updated successfully, but these errors were encountered: