ceylon-ide-eclipse
ceylon-ide-eclipse copied to clipboard
Control-hover on Java element super slow
When the IDE projects are open, if I go on CeylonBuilder.java
in generateBinaries
and hover with Ctrl
pressed over the compile()
call, I don't get the click pointer until about 20 seconds, to show me that I can navigate in that function. A thread dump showed the IDE busy doing this before it showed the pointer:
"main" prio=10 tid=0x00007ff67000a800 nid=0x2d8d runnable [0x00007ff678fd3000]
java.lang.Thread.State: RUNNABLE
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:599)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:316)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:302)
at org.eclipse.jdt.internal.core.JavaElement.exists(JavaElement.java:220)
at com.redhat.ceylon.eclipse.util.JavaSearch.getCeylonNameAnnotationValue(JavaSearch.java:344)
at com.redhat.ceylon.eclipse.util.JavaSearch.getCeylonSimpleName(JavaSearch.java:610)
at com.redhat.ceylon.eclipse.util.JavaSearch.elementEqualsDeclaration(JavaSearch.java:692)
at com.redhat.ceylon.eclipse.util.JavaSearch.toCeylonDeclaration(JavaSearch.java:1093)
at com.redhat.ceylon.eclipse.util.JavaSearch.toCeylonDeclaration(JavaSearch.java:1122)
at com.redhat.ceylon.eclipse.code.resolve.JavaToCeylonHyperlinkDetector.detectHyperlinks(JavaToCeylonHyperlinkDetector.java:109)
at org.eclipse.ui.texteditor.HyperlinkDetectorRegistry$HyperlinkDetectorDelegate.detectHyperlinks(HyperlinkDetectorRegistry.java:80)
at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:289)
- locked <0x00000007e6cf2690> (a [Lorg.eclipse.jface.text.hyperlink.IHyperlinkDetector;)
at org.eclipse.jface.text.hyperlink.HyperlinkManager.findHyperlinks(HyperlinkManager.java:261)
at org.eclipse.jface.text.hyperlink.HyperlinkManager.mouseMove(HyperlinkManager.java:469)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:212)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4481)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1329)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3819)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3430)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:694)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
at org.eclipse.equinox.launcher.Main.main(Main.java:1488)
Locked ownable synchronizers:
- None
Notably it slowed down the IDE considerably, preventing me from even navigating in the file while it was "doing stuff".
I have also been experiencing some things like this. Another one for @davidfestal.
Didn't manage to reproduce it for now. postponing to 1.3.1