Bug 391868 - very slow switching editors; especially XML. (BIG CLUE FOUND HERE)
Summary: very slow switching editors; especially XML. (BIG CLUE FOUND HERE)
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.2.1   Edit
Hardware: PC Windows 7
: P3 normal with 15 votes (vote)
Target Milestone: 4.2.2   Edit
Assignee: Paul Webster CLA
QA Contact:
URL:
Whiteboard:
Keywords: performance
: 391088 392061 393981 395683 395921 396773 397146 398683 (view as bug list)
Depends on:
Blocks:
 
Reported: 2012-10-13 21:38 EDT by Thomas Whitmore CLA
Modified: 2013-06-24 05:29 EDT (History)
44 users (show)

See Also:


Attachments
Flickering of overlay icon between parts in sash drag handle (1.68 MB, application/x-shockwave-flash)
2012-10-15 10:39 EDT, Wim Jongman CLA
no flags Details
Patch feature declaration (1.87 KB, text/plain)
2012-11-19 06:38 EST, Stephan Herrmann CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Whitmore CLA 2012-10-13 21:38:20 EDT
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)
Comment 1 Paul Webster CLA 2012-10-15 09:19:51 EDT
Bogdan, here's some more data on the switching between 2 XML editors.

PW
Comment 2 Wim Jongman CLA 2012-10-15 10:39:17 EDT
Created attachment 222310 [details]
Flickering of overlay icon between parts in sash drag handle

What I also see when opening pom.xml files is a flickering of an information overlay icon in the sash between the parts. 

I have made a swf movie to show what it does. Open the file with a browser in windows.
Comment 3 Paul Webster CLA 2012-10-16 09:36:16 EDT
*** Bug 392061 has been marked as a duplicate of this bug. ***
Comment 4 Karen Butzke CLA 2012-10-17 15:28:47 EDT
Thomas, what type of XML editor are you using? Is it the pom.xml editor like Wim mentions?

I am seeing the same thing you see with the Dali JPA persistence.xml editor. I see the 2 XML toolbar buttons ('Turn Grammar Constraints Off' and 'Reload Dependencies') made visible and invisible multiple times when switching between 2 persistence.xml editors with the Source tab selected.

I do not see this issue if I use the regular XML editor (Open With -> XML Editor).
Comment 5 Karen Butzke CLA 2012-10-17 17:19:13 EDT
(In reply to comment #4)
> I do not see this issue if I use the regular XML editor (Open With -> XML
> Editor).

Replying to my own comment, I *do* see the issue with the regular XML editor when switching between a java editor and the XML editor.

It is easy to reproduce with Juno J2EE SR1. I created a Java Project and created a Java class and 2 new empty XML files. I open the java file and 1 XML file and the problem does not exist, switching back and forth is quick. But then open the second XML file and then switch to the Java file. You will see those 2 toolbar icons flickering. The more XML files you open the worse the problem gets switching from XML to Java and switching between XML editors gets very slow.

I put a println in UIElementImpl.setVisible(boolean) to easily see the problem of the particular 'ToggleGrammarConstraints' toolbar button having it's visbility state set back and forth.

if (oldVisible != visible && getElementId() != null &&   getElementId().equals("ToggleGrammarConstraints")) {
    System.out.println(getElementId());
}
Comment 6 Thomas Whitmore CLA 2012-10-17 19:49:51 EDT
Hi Karen, thanks..  No I'm not editing pom.xml files, I'm editing Hibernate .hbm.xml files and web.xml files.

Since this problem appears to be either parse tree/ or UI update-bound, there may possibly be different behaviour, depending on whether/ what XML schemas or DTDs are defined?

It's interesting what you see. At the moment I'm back on Indigo & performance is perfect, once again. 

Thanks for your comment & efforts to investigate!
Comment 7 Wim Jongman CLA 2012-10-18 11:00:33 EDT
(In reply to comment #5)
> (In reply to comment #4)

I also see the same toolbar icons flickering when switching between pom.xml files.
Comment 8 Christian Sp CLA 2012-10-18 11:21:02 EDT
I also see the flickering icon. But only when I open a pom.xml. Other XMLs do not seem to cause the flickering and are not that slow.
Comment 9 Remy Suen CLA 2012-10-23 19:39:45 EDT
With four XML editors open and one Java editor, ToolBarContributionRecord's updateVisibility(IEclipseContext) method is called over 400 times when you switch between the XML and Java editor. Switching from one XML editor to another seems to give numbers close to 900. I believe this is the tool bar that's being spammed in question.

     <menuContribution
           locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
        <toolbar
              id="org.eclipse.wst.xml.ui.design.DesignToolBar"
              label="%editor_grammar_toolbar">
           <separator
                 name="sed.tabletree.separator.1"
                 visible="true">
           </separator>
           <command
                 commandId="org.eclipse.wst.xml.ui.disable.grammar.constraints"
                 icon="icons/full/etool16/constrainon.gif"
                 id="ToggleGrammarConstraints"
                 style="push"
                 tooltip="%Constraints_name">
	           <visibleWhen
	                 checkEnabled="false">
	              <reference
	                    definitionId="org.eclipse.wst.xml.ui.grammar">
	              </reference>
	           </visibleWhen>
           </command>
           <command
                 commandId="org.eclipse.wst.xml.ui.reload.dependencies"
                 icon="icons/full/etool16/rldgrmr.gif"
                 id="ReloadDependencies"
                 style="push">
	           <visibleWhen
	                 checkEnabled="false">
	              <reference
	                    definitionId="org.eclipse.wst.xml.ui.dependencies">
	              </reference>
	           </visibleWhen>
           </command>
        </toolbar>
     </menuContribution>
Comment 10 Stephan Herrmann CLA 2012-11-02 12:26:52 EDT
(In reply to comment #9)
I can confirm: as mentioned in bug 391127 comment 12 f. I saw these exact two buttons dancing for a long time while switching editors.
Comment 11 Yiannis Chronakis CLA 2012-11-05 08:11:25 EST
Confirming this but in every single installation (Windows 7 & Ubuntu 12.04). It has been happening with any kind of XML file. Files I tried are:

tomcat web.xml
various pom.xml
custom xml files with and without xsd in them

I also see the flickering of the "Reload dependencies" toolbar button.
Comment 12 Paul Webster CLA 2012-11-08 09:27:25 EST
Bogdan released an improvement for XML editor switching:

http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=478ae0a1df96c36245c91518ba2975b3351da433

PW
Comment 13 Jörg von Frantzius CLA 2012-11-08 10:18:42 EST
(In reply to comment #12)
> Bogdan released an improvement for XML editor switching:
> 
> http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/
> ?id=478ae0a1df96c36245c91518ba2975b3351da433
> 
> PW

Hooray, it works!
Comment 14 Karen Butzke CLA 2012-11-09 17:43:00 EST
Things are looking much better for me so far! Kudos to the platform team!

Paul, I've been investigating handlers pretty closely recently (stackoverflow :-)). I happened upon the wst.xml handler implementations and found the following. Isn't it pointless to define the exact same thing for activeWhen and enabledWhen? I can open a bug against wtp if necessary. I would think they should remove the enabledWhen. If I remove that I don't get the XmlEditorTester pinged constantly with the toolbar timer thing.

<handler class="org.eclipse.wst.xml.ui.internal.handlers.ReloadDependenciesHandler"
            commandId="org.eclipse.wst.xml.ui.reload.dependencies">
      <activeWhen>
          <reference definitionId="org.eclipse.wst.xml.ui.dependencies"/>
      </activeWhen>
      <enabledWhen>
          <reference definitionId="org.eclipse.wst.xml.ui.dependencies"/>
      </enabledWhen>
</handler>
Comment 15 Karen Butzke CLA 2012-11-13 14:44:51 EST
I have entered bug 394221 against WTP Source Editing for the problem in comment 14. Is there some subtle difference between activeWhen/enabledWhen that I am missing? Any reason one would want to put the same expression in both?
Comment 16 Paul Webster CLA 2012-11-13 14:52:57 EST
(In reply to comment #15)
> I have entered bug 394221 against WTP Source Editing for the problem in
> comment 14. Is there some subtle difference between activeWhen/enabledWhen
> that I am missing? Any reason one would want to put the same expression in
> both?

The distinction is subtle.  activeWhen controls when a handler is available to be executed.  enabledWhen basically says whether or not the handler can operate given the current state of the system.

i.e. my copyHandler is active while my editor is active, but only enabled if a leaf node is selected.

I personally don't see the value of making activeWhen==enabledWhen, as the handler is a non-participant when activeWhen returns false, and enabled the entire while it could be active, but maybe there's another reason.

PW
Comment 17 Karen Butzke CLA 2012-11-13 15:10:15 EST
(In reply to comment #16)
> The distinction is subtle.  activeWhen controls when a handler is available
> to be executed.  enabledWhen basically says whether or not the handler can
> operate given the current state of the system.
> 
> i.e. my copyHandler is active while my editor is active, but only enabled if
> a leaf node is selected.
> 
> PW

So why not make my copyHandler active when my editor is active *and* a leaf node is selected?
Comment 18 Paul Webster CLA 2012-11-13 15:29:50 EST
(In reply to comment #17)
> 
> So why not make my copyHandler active when my editor is active *and* a leaf
> node is selected?

It's partly because they're semantically different aspects of the handler.  This leads to certain side-effects:  activeWhen == false means that another handler that can be active can be choosen by the framework to handle the command.  activeWhen==true/enabledWhen==false means that this handler is the correct one, and the command shouldn't do anything.

PW
Comment 19 Nick Sandonato CLA 2012-11-13 17:02:00 EST
*** Bug 393981 has been marked as a duplicate of this bug. ***
Comment 20 Lars Vogel CLA 2012-11-15 06:26:24 EST
Tested this. Switching XML editors is very fast now. 

Thanks for this work!
Comment 21 Auke van Leeuwen CLA 2012-11-15 09:01:34 EST
How do I actually use this fix (apart from waiting for the next release)? Is there an (milestone / nightly) update site that I can use on my 4.2SR1 (JEE) version perhaps?
Comment 22 Stephan Herrmann CLA 2012-11-15 10:37:45 EST
(In reply to comment #21)
> How do I actually use this fix (apart from waiting for the next release)? Is
> there an (milestone / nightly) update site that I can use on my 4.2SR1 (JEE)
> version perhaps?

I think the fix is already in:
- http://granite.eclipse.org/eclipse/downloads/drops4/M20121107-1200/
corresponding update site:
- http://download.eclipse.org/eclipse/updates/4.2-M-builds 

Normally I would have pointed to http://download.eclipse.org/eclipse/downloads/drops4/M20121114-1200/ but there seems to be a problem with a redirect right now.

But beware, upgrading your JEE package will likely not work, the above update site is for Eclipse SDK only at this point, sorry.
Comment 23 Paul Webster CLA 2012-11-15 10:39:28 EST
(In reply to comment #21)
> How do I actually use this fix (apart from waiting for the next release)? Is
> there an (milestone / nightly) update site that I can use on my 4.2SR1 (JEE)
> version perhaps?

For EPP packages, like the JEE eclipse, a regular update won't work.  We hope to provide an update site with a feature patch you can install.

PW
Comment 24 Chris B CLA 2012-11-18 21:13:53 EST
(In reply to comment #23)
> (In reply to comment #21)
> > How do I actually use this fix (apart from waiting for the next release)? Is
> > there an (milestone / nightly) update site that I can use on my 4.2SR1 (JEE)
> > version perhaps?
> 
> For EPP packages, like the JEE eclipse, a regular update won't work.  We
> hope to provide an update site with a feature patch you can install.
> 
> PW

Is there an ETA when this will happen?  I'm using Juno JEE and would really like to get this patched ASAP.
Comment 25 Stephan Herrmann CLA 2012-11-19 06:38:21 EST
Created attachment 223710 [details]
Patch feature declaration

(In reply to comment #24)
> (In reply to comment #23)
> > (In reply to comment #21)
> > > How do I actually use this fix (apart from waiting for the next release)? Is
> > > there an (milestone / nightly) update site that I can use on my 4.2SR1 (JEE)
> > > version perhaps?
> > 
> > For EPP packages, like the JEE eclipse, a regular update won't work.  We
> > hope to provide an update site with a feature patch you can install.
> > 
> > PW
> 
> Is there an ETA when this will happen?  I'm using Juno JEE and would really
> like to get this patched ASAP.

FWIW, I recently created a patch feature for use within our company. All I needed was cloning the platform.ui git repo, checking out the R4_2_maintenance branch, importing a subset of its projects into the workspace and (interactively) exporting this subset using the attached feature.xml. Co-workers using this patch feature have confirmed that it solved the performance issue and created no (known) new bugs.

Feel free to use for your purpose (you may want to change the provider name :) )

I assume the main difference to an official patch feature would be that the latter requires more testing, but I also assume that HEAD of R4_2_maintenance is pretty stable as is.
Comment 26 Lars Vogel CLA 2012-11-19 06:41:13 EST
@Stephan, can you make this patch available public and maybe blog about it, so that others can use it? Open source projects don't necessary have a "offical" patch.
Comment 27 Paul Webster CLA 2012-11-19 06:44:18 EST
(In reply to comment #26)
> @Stephan, can you make this patch available public and maybe blog about it,
> so that others can use it? Open source projects don't necessary have a
> "offical" patch.

We will be making an official patch available for this, probably after this week's maintenance build.

PW
Comment 28 Stephan Herrmann CLA 2012-11-19 06:54:05 EST
For the impatient I've uploaded my patch feature to

   http://www.objectteams.org/EclipsePatch422beta

This was built with content as of Nov 9.

I deliberately used a non-Eclipse.org server to emphasize that this is not official. Use at your own risk :)

Ah, and sorry, the repo has no categories. And it will be removed as soon as the official patch is available.
Comment 29 Mika Pussinen CLA 2012-11-19 08:23:17 EST
Installed the patch and it seemed to fix the issue. Thanks!

Saved the Eclipse JEE snapshot before patch and waiting also for the official fix.
Comment 30 Paul Webster CLA 2012-11-19 14:12:12 EST
(In reply to comment #29)
> Installed the patch and it seemed to fix the issue. Thanks!
> 
> Saved the Eclipse JEE snapshot before patch and waiting also for the
> official fix.

See Bug 394588 for providing these optimizations and fixes as a patch.

PW
Comment 31 Mika Pussinen CLA 2012-11-22 05:24:09 EST
I installed earlier the unofficial patch from

  http://www.objectteams.org/EclipsePatch422beta

and it seemed to work fine.

But now when I have been running Eclipse for about two or tree workdays, and now switching between Java and XML files is getting slow again and tool bar icons keep flickering. 

I already earlier increased memory parameters (min/max heap & perm size) considerably so it helped also considerably, but now after using Eclipse for few days the task manager shows about 1.2 GB memory consumption (when at start-up it's only about 500 MBs).

With Indigo Eclipse I could work a whole work week (5 days) without problems and without Eclipse slowing down.

So maybe the overall slowness of Eclipse and the slowness of switching slowness between editors have some common deminator (that was not solved by this fix even made some improvement especially right after Eclipse start).

Btw, I am using the Classic view of Eclipse and not the new UI look and feel.
Comment 32 Michael K. CLA 2012-11-25 01:23:32 EST
I've made exact the same experience as Mika Pussinen has described in comment 31.
Comment 33 Paul Webster CLA 2012-11-28 09:25:39 EST
(In reply to comment #31)
> So maybe the overall slowness of Eclipse and the slowness of switching
> slowness between editors have some common deminator (that was not solved by
> this fix even made some improvement especially right after Eclipse start).

There are still more optimizations that need to be made that aren't covered by the patch from bug 394588 - http://download.eclipse.org/eclipse/updates/junoSR1Patch-tmp  Please use this location for your testing.

PW
Comment 34 Lars Vogel CLA 2012-11-28 09:43:14 EST
*** Bug 391088 has been marked as a duplicate of this bug. ***
Comment 35 Michael K. CLA 2012-11-28 10:33:57 EST
I installed the recommended patch from comment 33. 
The two XML-Icons are stable now. 

But there is still sometimes a flickering of an information overlay icon in the sash between the parts as described in comment 2.
Also the waiting cursor icon is flickering sometimes.
My OS is Windows7 and eclipse 4.2 64bit.
Comment 36 Mika Pussinen CLA 2012-11-29 04:15:56 EST
I also installed the recommended patch referred in comment 33. 

It seems to work OK right after installation and Eclipse restart. I have no long term experiences yet, so I will get back if I notice still problems after keeping Eclipse running for a longer period (e.g. a couple of work days or so).

My OS is also Windows7 and eclipse 4.2 64bit, and I'm using the Classic view of Eclipse (and not the new UI look and feel).
Comment 37 Stephan Herrmann CLA 2012-12-02 09:10:50 EST
(In reply to comment #28)
> For the impatient I've uploaded my patch feature to
> 
>    http://www.objectteams.org/EclipsePatch422beta
> 
> This was built with content as of Nov 9.
> 
> I deliberately used a non-Eclipse.org server to emphasize that this is not
> official. Use at your own risk :)
> 
> Ah, and sorry, the repo has no categories. And it will be removed as soon as
> the official patch is available.

I've removed the preliminary patch from the Object Teams server.

Please use the update site mentioned in comment 33.
Comment 38 Paul Webster CLA 2012-12-04 06:04:38 EST
*** Bug 395683 has been marked as a duplicate of this bug. ***
Comment 39 Dani Megert CLA 2012-12-10 04:11:31 EST
*** Bug 395921 has been marked as a duplicate of this bug. ***
Comment 40 Luca Preziati CLA 2012-12-13 06:34:11 EST
The repository to commet 33 is not available, does someone know when the fix will be release officially? i make a search  and don't find anything, I thing I have searched in wrong part of site, obviously... Thanks in advance to anyone.
Comment 41 Dani Megert CLA 2012-12-13 06:40:11 EST
(In reply to comment #40)
> The repository to commet 33 is not available, does someone know when the fix
> will be release officially? i make a search  and don't find anything, I
> thing I have searched in wrong part of site, obviously... Thanks in advance
> to anyone.

Just tried and it is available. You have to go to Help > Install New Software...
Comment 42 Larouche CLA 2012-12-13 10:53:38 EST
Glad to see this is a known bug but....

Going to http://download.eclipse.org/eclipse/updates/junoSR1Patch-tmp 
Not found, it says to go in Archive.

Going in http://archive.eclipse.org/eclipse/updates/junoSR1Patch-tmp/

Not found.

This bug is driving me nuts, on my computer, the xml icons flickers between 10 and 20 seconds.

Where can i find the patch now?

Thanks.
Comment 43 Paul Webster CLA 2012-12-13 11:01:08 EST
(In reply to comment #42)
> Glad to see this is a known bug but....
> 
> Going to http://download.eclipse.org/eclipse/updates/junoSR1Patch-tmp 
> Not found, it says to go in Archive.

What says not found?  You cannot go to an Update Site in your browser, you'll get a 404 if you do that.  That URL goes into your Help>Install New Software dialog.

The patch is also now available at http://download.eclipse.org/eclipse/updates/4.2 (also cannot be used in a browser).  That Update Site is included with most of the EPP packages.

PW
Comment 44 Larouche CLA 2012-12-13 11:10:18 EST
Yep thanks i just found it in the normal update site.
The comment 33 adress, the one with junoSR1Patch-tmp. Was not able to "fetch childs"

But i guess i will have to wait for a release 4.2.2, or trying to redo all my environnement from scratch because of conflicting dependencies:

Cannot complete the install because of a conflicting dependency.
  Software being installed: Eclipse UI Juno SR1 Optimizations 4.2.1.v20121122-0007 (org.eclipse.ui.juno.feature.feature.group 4.2.1.v20121122-0007)
  Software currently installed: Eclipse IDE for Java and Report Developers 1.5.1.20120917-1257 (epp.package.reporting 1.5.1.20120917-1257)
  Software currently installed: Oracle WebLogic Server Tools 2.1.1.201210010857 (oracle.eclipse.tools.juno.weblogic.feature.group 2.1.1.201210010857)
  Only one of the following can be installed at once: 
    Eclipse Workbench 3.104.0.v20121114-140926 (org.eclipse.ui.workbench 3.104.0.v20121114-140926)
    Eclipse Workbench 3.103.0.v20120530-1824 (org.eclipse.ui.workbench 3.103.0.v20120530-1824)
    Eclipse Workbench 3.103.1.v20120906-120042 (org.eclipse.ui.workbench 3.103.1.v20120906-120042)
  Cannot satisfy dependency:
    From: Eclipse IDE for Java and Report Developers 1.5.1.20120917-1257 (epp.package.reporting 1.5.1.20120917-1257)
    To: org.eclipse.epp.package.reporting.feature.feature.group [1.5.1.20120917-1257]
  Cannot satisfy dependency:
    From: Oracle Common Tools 5.1.1.201210010857 (oracle.eclipse.tools.common 5.1.1.201210010857)
    To: bundle org.eclipse.ui.workbench [3.8.0,3.104.0)
  Cannot satisfy dependency:
    From: Oracle Common Tools 2.1.1.201210010857 (oracle.eclipse.tools.juno.common.feature.group 2.1.1.201210010857)
    To: oracle.eclipse.tools.common [5.1.1.201210010857]
  Cannot satisfy dependency:
    From: Oracle WebLogic Server Tools 2.1.1.201210010857 (oracle.eclipse.tools.juno.weblogic.feature.group 2.1.1.201210010857)
    To: oracle.eclipse.tools.juno.common.feature.group 0.0.0
  Cannot satisfy dependency:
    From: EPP Reporting Feature 1.5.1.20120917-1257 (org.eclipse.epp.package.reporting.feature.feature.group 1.5.1.20120917-1257)
    To: org.eclipse.platform.feature.group [4.2.1.v20120814-120134-9JF7BHVGFyMveli1uX6aTH0q-eAap6PAgOP5mO]
  Cannot satisfy dependency:
    From: Eclipse Platform 4.2.1.v20120814-120134-9JF7BHVGFyMveli1uX6aTH0q-eAap6PAgOP5mO (org.eclipse.platform.feature.group 4.2.1.v20120814-120134-9JF7BHVGFyMveli1uX6aTH0q-eAap6PAgOP5mO)
    To: org.eclipse.rcp.feature.group [4.2.1.v20120814-120134-7IAPA8BrHQicS-rjP0GbqK780kMy]
  Cannot satisfy dependency:
    From: Eclipse UI Juno SR1 Optimizations 4.2.1.v20121122-0007 (org.eclipse.ui.juno.feature.feature.group 4.2.1.v20121122-0007)
    To: org.eclipse.rcp.patch.feature.feature.group [4.2.1.v20121119-1839]
  Cannot satisfy dependency:
    From Patch: org.eclipse.rcp.patch.feature.feature.group 4.2.1.v20121119-1839 Eclipse RCP 4.2.1.v20120814-120134-7IAPA8BrHQicS-rjP0GbqK780kMy (org.eclipse.rcp.feature.group 4.2.1.v20120814-120134-7IAPA8BrHQicS-rjP0GbqK780kMy)
    To: org.eclipse.ui.workbench [3.104.0.v20121114-140926]
Comment 45 Paul Webster CLA 2012-12-13 11:13:51 EST
Your Oracle Common Tools 5.1.1.201210010857 won't install on Juno SR2 either, unless they provide an update.

PW
Comment 46 Larouche CLA 2012-12-13 13:47:46 EST
I dont know.

From Juno JEE + Birt 4.2 SR1. It did.

I will try it again.
Comment 47 Paul Webster CLA 2012-12-13 13:57:16 EST
(In reply to comment #46)
> I dont know.
> 
> From Juno JEE + Birt 4.2 SR1. It did.

Right, but I'm saying it won't install on the upcoming Juno SR2 (the optimization patch that's currently available is a snapshot of the SR2 maintenance builds).

PW
Comment 48 Paul Webster CLA 2012-12-13 15:39:00 EST
Many performance fixes have now been made in the Juno SR2 and Kepler development streams. Anyone still encountering problems is encouraged to move up to a recent milestone or stable build, or apply the official performance patch  on top of a Juno SR1 release package. Full details on the patch and background on the performance work can be found here:

http://wiki.eclipse.org/Platform_UI/Juno_Performance_Investigation

If you continue to experience performance problems using Kepler M4 or later, Juno maintenance build M20121128-1200 or later, or using the Juno SR1 performance patch, please report a new bug with all the details.

Thanks again for everyone's use cases, error logs, and analysis on this bug.
Comment 49 Nick Sandonato CLA 2012-12-18 11:26:43 EST
*** Bug 396773 has been marked as a duplicate of this bug. ***
Comment 50 Nick Sandonato CLA 2012-12-31 14:32:21 EST
*** Bug 397146 has been marked as a duplicate of this bug. ***
Comment 51 Paul Elder CLA 2013-01-17 12:35:17 EST
Verified in 4.2.2 (M20130116_1800)
Comment 52 Paul Webster CLA 2013-01-22 10:45:07 EST
*** Bug 398683 has been marked as a duplicate of this bug. ***