Community
Participate
Working Groups
I right clicked a menu item in the history view (I think) which blocked the UI thread for a while. "main" prio=10 tid=0x08873800 nid=0x791e runnable [0xf6a0c000] java.lang.Thread.State: RUNNABLE at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850) at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1201) at java.net.InetAddress.getAllByName0(InetAddress.java:1154) at java.net.InetAddress.getAllByName(InetAddress.java:1084) at java.net.InetAddress.getAllByName(InetAddress.java:1020) at java.net.InetAddress.getByName(InetAddress.java:970) at org.eclipse.egit.internal.mylyn.ui.commit.TaskReferenceFactory.isSameHosts(TaskReferenceFactory.java:196) at org.eclipse.egit.internal.mylyn.ui.commit.TaskReferenceFactory.getTaskRepositoryByHost(TaskReferenceFactory.java:157) at org.eclipse.egit.internal.mylyn.ui.commit.TaskReferenceFactory.getTaskRepositoryByGitRepoURL(TaskReferenceFactory.java:129) at org.eclipse.egit.internal.mylyn.ui.commit.TaskReferenceFactory.adaptFromRevCommit(TaskReferenceFactory.java:96) at org.eclipse.egit.internal.mylyn.ui.commit.TaskReferenceFactory.adaptFromObject(TaskReferenceFactory.java:61) at org.eclipse.egit.internal.mylyn.ui.commit.TaskReferenceFactory.getAdapter(TaskReferenceFactory.java:55) at org.eclipse.core.internal.runtime.AdapterManager.getAdapter(AdapterManager.java:326) at org.eclipse.core.internal.runtime.AdapterManager.loadAdapter(AdapterManager.java:356) at org.eclipse.ui.internal.LegacyResourceSupport.getAdapter(LegacyResourceSupport.java:622) at org.eclipse.ui.internal.ObjectActionContributor.isApplicableTo(ObjectActionContributor.java:223) at org.eclipse.ui.internal.ObjectContributorManager.isApplicableTo(ObjectContributorManager.java:303) at org.eclipse.ui.internal.ObjectActionContributorManager.contributeObjectActions(ObjectActionContributorManager.java:83) at org.eclipse.ui.internal.PopupMenuExtender.addObjectActions(PopupMenuExtender.java:262) at org.eclipse.ui.internal.PopupMenuExtender.menuAboutToShow(PopupMenuExtender.java:339) at org.eclipse.jface.action.MenuManager.fireAboutToShow(MenuManager.java:338) at org.eclipse.jface.action.MenuManager.handleAboutToShow(MenuManager.java:469) at org.eclipse.jface.action.MenuManager.access$1(MenuManager.java:465) at org.eclipse.jface.action.MenuManager$2.menuShown(MenuManager.java:491) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:247) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1258) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1282) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1263) at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:199) at org.eclipse.swt.widgets.Display.runPopups(Display.java:3609) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3186) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
I think such stuff should not be done in the UI thread. If it takes long time to calculate enablement then enablement should be true by default and action execution should then check afterwards.
Yes, this is blocking my Eclipse several times a day while working with the Sync view. Will take care of this
merged as 63aa1303c6b9b66da534bb45b33c20f963ce7e84 included in 0.12