This looks like a particularly unpleasant dead end. It is hard to say for sure without additional information. Here is what I see without a code in front of me:
A possible deadlock is (or at least against competition) A reference to the object 0x00002aace2276720 between the "Text Viewer Hover Presenter" and "Worker-3", and "Work-3" holds the lock at the link 0x00002aace2276ad0.
This second link is apparently the cause of a whole bunch of blocked threads (in particular, Work-4, Work-1, and Work-0).
My suggestion was to check the ASTProvider.java 450 line (see the stack trace for the first two, where the suspicious object's lock seems to hold, but then doesn't seem to pass by wait ()). I also suggest trying to run an executable file locked for one core (assuming it is a multi-core system).
The next piece of code that looks like it's worth checking out will be SelectionListenerWithASTManager.java line 153 (where the link 0x00002aace2276ad0 is blocked, as a result of which the workers are blocked).
Lockers 0x00002aace2276720:
"Text Viewer Hover Presenter" daemon prio=10 tid=0x00002aad20166400 nid=0x51f4 in Object.wait() [0x000000004254c000..0x000000004254dd90] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00002aace2276720> (a java.lang.Object) at java.lang.Object.wait(Object.java:485) at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:450) - locked <0x00002aace2276720> (a java.lang.Object) at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:129) at org.eclipse.jdt.internal.ui.text.java.hover.NLSStringHover.getHoverInfo(NLSStringHover.java:87) at org.eclipse.jdt.internal.ui.text.java.hover.AbstractJavaEditorTextHover.getHoverInfo2(AbstractJavaEditorTextHover.java:86) at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:82) at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) "Worker-3" prio=10 tid=0x00002aad132c3800 nid=0x5166 in Object.wait() [0x0000000042249000..0x000000004224ab10] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x00002aace2276720> (a java.lang.Object) at java.lang.Object.wait(Object.java:485) at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:450) - locked <0x00002aace2276720> (a java.lang.Object) at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:129) at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:168) at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run(SelectionListenerWithASTManager.java:153) - locked <0x00002aace2276ad0> (a java.lang.Object) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Blocked by 0x00002aace2276ad0
"Worker-4" prio=10 tid=0x00002aad132c4000 nid=0x5167 waiting for monitor entry [0x000000004234b000..0x000000004234bc90] java.lang.Thread.State: BLOCKED (on object monitor) at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run(SelectionListenerWithASTManager.java:153) - waiting to lock <0x00002aace2276ad0> (a java.lang.Object) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) "Worker-1" prio=10 tid=0x00002aad12835800 nid=0x5164 waiting for monitor entry [0x0000000041a42000..0x0000000041a42a10] java.lang.Thread.State: BLOCKED (on object monitor) at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run(SelectionListenerWithASTManager.java:153) - waiting to lock <0x00002aace2276ad0> (a java.lang.Object) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) "Worker-0" prio=10 tid=0x00002aad11a0ac00 nid=0x5146 waiting for monitor entry [0x0000000041941000..0x0000000041941d90] java.lang.Thread.State: BLOCKED (on object monitor) at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run(SelectionListenerWithASTManager.java:153) - waiting to lock <0x00002aace2276ad0> (a java.lang.Object) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
source share