June 26, 2023 at 5:51 pm #697121
MyEclipse Enterprise Workbench
Build id: 16.0.0-20230614
Windows 11, latest version
After updating to this version, now it fails to start properly. The window comes up, but the background threads (dozens of them) for Spring Boot Language Servers prevent any work being done – clicking just causes the window to freeze up and then flash.
There was a bug in STS 4.17, fixed in 4.17.1, that may have related, but this version of Eclipse includes version 4.18, so one would hope it wouldn’t be back.
I can’t see/change any preferences, as I can’t interact with the IDE window after it opens, due to these background threads.
My system is an 8 core i7, background threads shouldn’t be an issue.
I’m currently unable to work.
Thoughts?June 27, 2023 at 8:50 am #697133
Sorry to hear you’re running into this. Yes, we do have STS 4.18 integrated in which the bugs you mention should be fixed (appreciate the reference). We’ve been trying to replicate this locally, but have so far been unable to.
1) I’m assuming you updated from MyEclipse 2022?
2) Can you send us a screenshot of the threads in the progress view please? (just want to be sure of the exact jobs running)
3) Approximately how many Spring Boot projects do you have in your workspace?
4) When you get into this state, can you please get us a few thread dumps (sent to different files of course) so we can see where things are going south? This is really key to help us get to the root of this issue.
To get dumps, please execute
jstack -l PID > dump1.txt
Where jstack can be found in the
bindirectory of any JDK, even in
[MyEclipse Install Directory]/binary/com.azul.zulu.jdk174.win32.x86_64_1.17.4/binand
PIDis the process ID of the MyEclipse executable
You can mail the dumps to email@example.com
Hope to be able to figure this out with your help, thanks!June 27, 2023 at 10:39 am #697135
1. Yes, upgraded in place from ME 2022 via the built-in notification.
2. progress view screenshot attached. The list gets longer the longer the IDE is open. That was after about 15 minutes, a couple minutes later it was 50% longer. Then it goes down some, then back up.
3. I have only one Spring Boot project, and maybe 6 other non-Spring/Spring Boot Java projects open, that’s all.
4. myeclipse.exe PID doesn’t have the Java DLL loaded (Windows, obviously), so jstack can’t dump anything from it. It owns 2 long-running processes, Java.exe and javaw.exe. I’ve attached 3 dumps for each of those.
There is also a 3rd (and sometimes 4th) Java process that is short-lived and constantly re-spawning, I can’t catch it running long enough to type in the PID and get a dump. That is likely the process spawned by the problem code.
I’ll send the dumps to the support email as well.
Attachments:You must be logged in to view attached files.June 27, 2023 at 11:52 am #697139
For now, disabling all languages in the Language Servers preferences page stopped the unending thread spawning:
However that’s only a stopgap, as that functionality is actually useful at times.June 27, 2023 at 2:07 pm #697140
Thank you for the prompt response – the screenshot and the dumps definitely help! We’re investigating this at high priority and will let you know as soon as an update is available with the fix. Do let use know if you experience any other issues with this release.June 28, 2023 at 12:01 pm #697154
As we research this issue further, we think you’re most likely running into the issue covered here: https://github.com/spring-projects/sts4/issues/925
Given the nature of this particular problem, we’re not too sure the latest STS releases will actually have it 100% fixed, but we are continuing our investigation. Unfortunately, we’re still unable to reproduce the problem locally.
Could you try the following:
1) Re-enable the language servers and restart MyEclipse. Does the problem recur?
2) If it does, instead of disabling the language servers, can you go to Preferences > Frameworks > Spring > Boot General and disable the,
Start Language Server at startup if Spring Boot is a dependencyoption. Now, restart MyEclipse – do you still see the problem?
The benefit of this approach is that it will keep the multiple processes from spawning at startup (which is where we believe the primary problem lies) while still allowing you to benefit from most (if not all) the features the Spring language servers provide.
I realize this is not something easily done, but we would really appreciate it if you could give it a shot and let us know how it works out.
Thanks!June 28, 2023 at 12:43 pm #697155
I re-enabled only 3 of the language servers and re-started MyEclipse. The only ones enabled were for Spring-specific configuration file types, none of which I have open by default in an editor. The issue persisted for a minute or so, then stopped. So it appears related to the number of language servers enabled.
I then enabled a dozen more including a Java source file language server, and disabled the start at startup option (#2 in your comment).
I have a Java source file open and with focus on startup. I do not see the progress jobs, but I do see the heap usage growing until GC and the cursor blinks from a pointer to a spinner and back every few seconds (~3S). Heap growth reports in 24-64MB chunks along the same intervals.
After several minutes, this activity appears to stop. At this point I noticed UI/editor responsiveness improved – I’d thought it was just app bloat, but it turns out the background threads, even though they appeared short lived and did not register in the progress view, had a noticeable impact on usability until they finished or died.
Note I specifically did not enable multiple language servers for the same file types – the default of all checked has many overlapping language servers, which seems to me could contribute to an issue, if only due to the added complexity when editing a file of knowing which one wins, or, if multiple at once are allowed, in what order and how not to trigger one another in a loop.June 28, 2023 at 1:14 pm #697157
update: eventually after opening more Java source files the background jobs returned in the progress window, and behaved like before. I’ll need to disable language servers for file types I actually use.July 7, 2023 at 4:04 pm #697258
As we discussed on the ticket, we’ve updated the integrated STS version from 4.18 to 4.19 in the 2023.1.2 release. While we were unable to reproduce the problem you experienced at our end (we did try a lot), there have been several fundamental changes in how these jobs are scheduled and managed in the update. We hope these changes address the issue, and you’re able to turn the Language Servers back on.
For more on this release, please see: https://www.genuitec.com/myeclipse-2023-1-2-summer-fixes/
MyEclipse version 2023.1.1 never completes loading Spring Boot Language Servers
- This topic has 8 replies, 2 voices, and was last updated 4 months, 4 weeks ago by .
Viewing 9 posts - 1 through 9 (of 9 total)
Viewing 9 posts - 1 through 9 (of 9 total)