Project: Eclipse_Platform_UI
Bug 391868 very slow switching editors; especially XML. (BIG CLUE FOUND HERE)
Reported: 2012-10-13 21:38:20 | Status: verified fixed

Just installed Juno for J2EE on my new machine, quad-core Windows 7 with 8 GB memory. Switching between editors, especially XML editors is very slow -- consistently 3 seconds... When switching between Java and XML editors, for most of this 3 seconds I can see two XML icons on the toolbar flickering on & off! 'Open Resource' Ctrl-Shift-R or 'Open Type' Crl-Shift-T also take 1.5-2 seconds to come up, and 1 second to go away. I've added -debug to eclipse.ini & tried stacktracing it a couple of times. While I'm waiting, there's a brief burst of CPU (but only on one core). I think it might be parse tree/ UI update bound. Here's an example switching between XML editors: "main" prio=6 tid=0x0000000001ffc800 nid=0x1650 runnable [0x00000000023db000] java.lang.Thread.State: RUNNABLE at org.eclipse.swt.internal.win32.OS.GetMenuItemInfoW(Native Method) at org.eclipse.swt.internal.win32.OS.GetMenuItemInfo(OS.java:2729) at org.eclipse.swt.widgets.MenuItem.setEnabled(MenuItem.java:716) at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.upd ateMenuItem(HandledContributionItem.java:518) at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.upd ate(HandledContributionItem.java:473) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:885) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:885) at org.eclipse.ui.internal.Workbench.updateActiveWorkbenchWindowMenuMana ger(Workbench.java:2910) at org.eclipse.ui.internal.Workbench.access$0(Workbench.java:2896) at org.eclipse.ui.internal.Workbench$1.bindingManagerChanged(Workbench.j ava:2891) at org.eclipse.jface.bindings.BindingManager.fireBindingManagerChanged(B indingManager.java:900) at org.eclipse.jface.bindings.BindingManager.setActiveBindings(BindingMa nager.java:2176) at org.eclipse.jface.bindings.BindingManager.recomputeBindings(BindingMa nager.java:1742) at org.eclipse.jface.bindings.BindingManager.contextManagerChanged(Bindi ngManager.java:689) at org.eclipse.core.commands.contexts.ContextManager.fireContextManagerC hanged(ContextManager.java:165) at org.eclipse.core.commands.contexts.ContextManager.setActiveContextIds (ContextManager.java:295) at org.eclipse.e4.ui.internal.services.ContextContextService.getActiveCo ntextIds(ContextContextService.java:83) at org.eclipse.ui.internal.contexts.ContextService.getActiveContextIds(C ontextService.java:256) at org.eclipse.ui.internal.contexts.ActiveContextSourceProvider.getCurre ntState(ActiveContextSourceProvider.java:68) at org.eclipse.ui.internal.contexts.ActiveContextSourceProvider.contextM anagerChanged(ActiveContextSourceProvider.java:50) at org.eclipse.core.commands.contexts.ContextManager.fireContextManagerC hanged(ContextManager.java:165) at org.eclipse.core.commands.contexts.ContextManager.setActiveContextIds (ContextManager.java:295) at org.eclipse.e4.ui.bindings.internal.BindingServiceImpl.setContextIds( BindingServiceImpl.java:237) at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequest or.java:56) at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextIn jectionListener.update(ContextObjectSupplier.java:88) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update( TrackableComputationExt.java:107) at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled (EclipseContext.java:318) at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseConte xt.java:332) at org.eclipse.e4.ui.internal.services.ContextContextService.activateCon text(ContextContextService.java:53) at org.eclipse.ui.internal.contexts.ContextService$UpdateExpression$1.ru n(ContextService.java:128) at org.eclipse.e4.core.contexts.RunAndTrack.runExternalCode(RunAndTrack. java:53) - locked <0x00000000a473eab0> (a org.eclipse.ui.internal.contexts.Contex tService$UpdateExpression) at org.eclipse.ui.internal.contexts.ContextService$UpdateExpression.chan ged(ContextService.java:126) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update( TrackableComputationExt.java:110) at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled (EclipseContext.java:318) at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseConte xt.java:332) at org.eclipse.e4.core.internal.contexts.EclipseContext$1.changed(Eclips eContext.java:751) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update( TrackableComputationExt.java:110) at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled (EclipseContext.java:318) at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseConte xt.java:332) at org.eclipse.ui.internal.WorkbenchPage.updateActivePartSources(Workben chPage.java:275) at org.eclipse.ui.internal.WorkbenchPage.updateActivations(WorkbenchPage .java:247) at org.eclipse.ui.internal.WorkbenchPage.access$15(WorkbenchPage.java:24 0) at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(Wo rkbenchPage.java:169) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$2.run(PartServic eImpl.java:191) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivate d(PartServiceImpl.java:189) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.setPart(PartServ iceImpl.java:164) at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequest or.java:56) at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextIn jectionListener.update(ContextObjectSupplier.java:88) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update( TrackableComputationExt.java:107) at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled (EclipseContext.java:318) at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseConte xt.java:332) at org.eclipse.e4.core.internal.contexts.EclipseContext.activate(Eclipse Context.java:630) at org.eclipse.e4.core.internal.contexts.EclipseContext.activateBranch(E clipseContext.java:635) at org.eclipse.e4.ui.internal.workbench.PartActivationHistory.activate(P artActivationHistory.java:52) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartSer viceImpl.java:561) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartSer viceImpl.java:532) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartSer viceImpl.java:521) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.hidePart(PartSer viceImpl.java:1112) at org.eclipse.ui.internal.WorkbenchPage.hidePart(WorkbenchPage.java:148 7) at org.eclipse.ui.internal.WorkbenchPage.hidePart(WorkbenchPage.java:144 0) at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java :1410) at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java: 1532) at org.eclipse.ui.internal.CloseEditorHandler.execute(CloseEditorHandler .java:47) at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.ja va:290) at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProx y.java:76) at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequest or.java:56) at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(Injecto rImpl.java:229) at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java :210) at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextIn jectionFactory.java:131) at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandl er(HandlerServiceImpl.java:171) at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(K eyBindingDispatcher.java:276) at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBinding Dispatcher.java:494) at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent( KeyBindingDispatcher.java:545) at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenc eBindings(KeyBindingDispatcher.java:366) at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBind ingDispatcher.java:313) at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.ha ndleEvent(KeyBindingDispatcher.java:82) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104) at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100) at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1521) at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4640) at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4528) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4976) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2546) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3756) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(Pa rtRenderingEngine.java:1029) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.ja va:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(Part RenderingEngine.java:923) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Wor kbench.java:86) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.ja va:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.jav a:543) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEAppli cation.java:124) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandl e.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runAppli cation(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ec lipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja va:353) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja va:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) at org.eclipse.equinox.launcher.Main.run(Main.java:1438) at org.eclipse.equinox.launcher.Main.main(Main.java:1414) Here's an example switching between Java and XML editors: "main" prio=6 tid=0x0000000001ffc800 nid=0x1650 runnable [0x00000000023db000] java.lang.Thread.State: RUNNABLE at org.eclipse.swt.internal.win32.OS.GetMenuItemInfoW(Native Method) at org.eclipse.swt.internal.win32.OS.GetMenuItemInfo(OS.java:2729) at org.eclipse.swt.widgets.MenuItem.setEnabled(MenuItem.java:716) at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.upd ateMenuItem(HandledContributionItem.java:518) at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.upd ate(HandledContributionItem.java:473) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:885) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:885) at org.eclipse.ui.internal.Workbench.updateActiveWorkbenchWindowMenuMana ger(Workbench.java:2910) at org.eclipse.ui.internal.Workbench.access$0(Workbench.java:2896) at org.eclipse.ui.internal.Workbench$1.bindingManagerChanged(Workbench.j ava:2891) at org.eclipse.jface.bindings.BindingManager.fireBindingManagerChanged(B indingManager.java:900) at org.eclipse.jface.bindings.BindingManager.setActiveBindings(BindingMa nager.java:2176) at org.eclipse.jface.bindings.BindingManager.recomputeBindings(BindingMa nager.java:1742) at org.eclipse.jface.bindings.BindingManager.contextManagerChanged(Bindi ngManager.java:689) at org.eclipse.core.commands.contexts.ContextManager.fireContextManagerC hanged(ContextManager.java:165) at org.eclipse.core.commands.contexts.ContextManager.setActiveContextIds (ContextManager.java:295) at org.eclipse.e4.ui.internal.services.ContextContextService.getActiveCo ntextIds(ContextContextService.java:83) at org.eclipse.ui.internal.contexts.ContextService.getActiveContextIds(C ontextService.java:256) at org.eclipse.ui.internal.contexts.ActiveContextSourceProvider.getCurre ntState(ActiveContextSourceProvider.java:68) at org.eclipse.ui.internal.contexts.ActiveContextSourceProvider.contextM anagerChanged(ActiveContextSourceProvider.java:50) at org.eclipse.core.commands.contexts.ContextManager.fireContextManagerC hanged(ContextManager.java:165) at org.eclipse.core.commands.contexts.ContextManager.setActiveContextIds (ContextManager.java:295) at org.eclipse.e4.ui.bindings.internal.BindingServiceImpl.setContextIds( BindingServiceImpl.java:237) at sun.reflect.GeneratedMethodAccessor19.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequest or.java:56) at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextIn jectionListener.update(ContextObjectSupplier.java:88) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update( TrackableComputationExt.java:107) at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled (EclipseContext.java:318) at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseConte xt.java:332) at org.eclipse.e4.ui.internal.services.ContextContextService.activateCon text(ContextContextService.java:53) at org.eclipse.ui.internal.contexts.ContextService$UpdateExpression$1.ru n(ContextService.java:128) at org.eclipse.e4.core.contexts.RunAndTrack.runExternalCode(RunAndTrack. java:53) - locked <0x00000000fbb09bc0> (a org.eclipse.ui.internal.contexts.Contex tService$UpdateExpression) at org.eclipse.ui.internal.contexts.ContextService$UpdateExpression.chan ged(ContextService.java:126) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update( TrackableComputationExt.java:110) at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled (EclipseContext.java:318) at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseConte xt.java:332) at org.eclipse.e4.core.internal.contexts.EclipseContext$1.changed(Eclips eContext.java:751) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update( TrackableComputationExt.java:110) at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled (EclipseContext.java:318) at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseConte xt.java:332) at org.eclipse.ui.internal.WorkbenchPage.updateActivePartSources(Workben chPage.java:275) at org.eclipse.ui.internal.WorkbenchPage.updateActivations(WorkbenchPage .java:247) at org.eclipse.ui.internal.WorkbenchPage.access$15(WorkbenchPage.java:24 0) at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(Wo rkbenchPage.java:169) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$2.run(PartServic eImpl.java:191) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivate d(PartServiceImpl.java:189) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.setPart(PartServ iceImpl.java:164) at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequest or.java:56) at org.eclipse.e4.core.internal.contexts.ContextObjectSupplier$ContextIn jectionListener.update(ContextObjectSupplier.java:88) at org.eclipse.e4.core.internal.contexts.TrackableComputationExt.update( TrackableComputationExt.java:107) at org.eclipse.e4.core.internal.contexts.EclipseContext.processScheduled (EclipseContext.java:318) at org.eclipse.e4.core.internal.contexts.EclipseContext.set(EclipseConte xt.java:332) at org.eclipse.e4.core.internal.contexts.EclipseContext.activate(Eclipse Context.java:630) at org.eclipse.e4.core.internal.contexts.EclipseContext.activateBranch(E clipseContext.java:635) at org.eclipse.e4.ui.internal.workbench.PartActivationHistory.activate(P artActivationHistory.java:52) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartSer viceImpl.java:561) at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartSer viceImpl.java:532) at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.activat e(AbstractPartRenderer.java:105) at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$1.h andleEvent(ContributedPartRenderer.java:61) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1058) at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:1447) at org.eclipse.swt.widgets.Control.sendFocusEvent(Control.java:2836) at org.eclipse.swt.widgets.Widget.wmSetFocus(Widget.java:2417) at org.eclipse.swt.widgets.Control.WM_SETFOCUS(Control.java:5152) at org.eclipse.swt.widgets.Canvas.WM_SETFOCUS(Canvas.java:448) at org.eclipse.swt.widgets.Control.windowProc(Control.java:4598) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4976) at org.eclipse.swt.internal.win32.OS.SetFocus(Native Method) at org.eclipse.swt.widgets.Control.forceFocus(Control.java:1098) at org.eclipse.swt.widgets.Control.setFocus(Control.java:3303) at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1040) at org.eclipse.ui.texteditor.AbstractTextEditor.setFocus(AbstractTextEdi tor.java:6210) at org.eclipse.ui.texteditor.StatusTextEditor.setFocus(StatusTextEditor. java:122) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.setFocus(JavaEditor .java:2389) at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.delegateSe tFocus(CompatibilityPart.java:178) at sun.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequest or.java:56) at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(Injecto rImpl.java:229) at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(Injecto rImpl.java:235) at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java :206) at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextIn jectionFactory.java:106) at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$2.s etFocus(ContributedPartRenderer.java:101) at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$9.mouseUp(Sta ckRenderer.java:941) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java: 220) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(Pa rtRenderingEngine.java:1029) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.ja va:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(Part RenderingEngine.java:923) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Wor kbench.java:86) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.ja va:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.jav a:543) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEAppli cation.java:124) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandl e.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runAppli cation(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Ec lipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja va:353) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.ja va:180) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) at org.eclipse.equinox.launcher.Main.run(Main.java:1438) at org.eclipse.equinox.launcher.Main.main(Main.java:1414) "VM Thread" prio=10 tid=0x000000000a7e2800 nid=0x1ab4 runnable "GC task thread#0 (ParallelGC)" prio=6 tid=0x0000000002045000 nid=0x1698 runnabl e "GC task thread#1 (ParallelGC)" prio=6 tid=0x0000000002046800 nid=0x8b4 runnable "GC task thread#2 (ParallelGC)" prio=6 tid=0x0000000002048000 nid=0x15d4 runnabl e "GC task thread#3 (ParallelGC)" prio=6 tid=0x000000000204a000 nid=0x19dc runnabl e "VM Periodic Task Thread" prio=10 tid=0x000000000a885800 nid=0x1114 waiting on c ondition JNI global references: 541 Heap PSYoungGen total 480256K, used 140675K [0x00000000e0000000, 0x00000000ff4e 0000, 0x0000000100000000) eden space 453120K, 28% used [0x00000000e0000000,0x00000000e7c0fe80,0x00000000 fba80000) from space 27136K, 50% used [0x00000000fba80000,0x00000000fc7d1098,0x00000000f d500000) to space 26560K, 0% used [0x00000000fdaf0000,0x00000000fdaf0000,0x00000000ff 4e0000) ParOldGen total 217280K, used 185659K [0x00000000a0000000, 0x00000000ad43 0000, 0x00000000e0000000) object space 217280K, 85% used [0x00000000a0000000,0x00000000ab54ed80,0x000000 00ad430000) PSPermGen total 127808K, used 112460K [0x0000000090000000, 0x0000000097cd 0000, 0x00000000a0000000) object space 127808K, 87% used [0x0000000090000000,0x0000000096dd3000,0x000000 0097cd0000)

Files changed in fix:
bundles/org.eclipse.e4.ui.bindings/src/org/eclipse/e4/ui/bindings/internal/BindingServiceImpl.java bundles/org.eclipse.e4.ui.services/src/org/eclipse/e4/ui/services/ContextServiceAddon.java