Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 347140

Summary: [Compatibility] Toolbar rendering very slow / looks animated
Product: [Eclipse Project] Platform Reporter: Paul Webster <pwebster>
Component: UIAssignee: Platform UI Triaged <platform-ui-triaged>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: daniel_megert, emoffatt, jfrantzius, Lars.Vogel, Mike_Wilson, ob1.eclipse, paulf, remy.suen, thatnitind
Version: 4.2   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard: candidate43
Attachments:
Description Flags
async any bridge between RATs and listeners v01
none
patch none

Description Paul Webster CLA 2011-05-25 08:32:36 EDT
I have XML Editors and Tools installed.  When I double click on the .project (XML) and it tries to open the XML Editor, my entire install hangs.  I was able to remote debug, suspend the main thread, and take a couple of stack dumps:

We seem to be caught in some kind of IEclipseContext processing loop.

Thread [main] (Suspended)	
	OS._g_list_nth_data(long, int) line: not available [native method]	
	OS.g_list_nth_data(long, int) line: 2509	
	ToolBar._getItems() line: 317	
	ToolBar.getItems() line: 307	
	ToolBarManager2(ToolBarManager).update(boolean) line: 325	
	ToolBarManagerRenderer$6.changed(IEclipseContext) line: 354	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	EclipseContext.activate() line: 596	
	EclipseContext.activateBranch() line: 601	
	PartActivationHistory.activate(MPart, boolean) line: 52	
	PartServiceImpl.activate(MPart, boolean, boolean) line: 529	
	PartServiceImpl.activate(MPart, boolean) line: 488	
	ContributedPartRenderer(AbstractPartRenderer).activate(MPart) line: 105	
	ContributedPartRenderer$1.handleEvent(Event) line: 61	
	EventTable.sendEvent(Event) line: 84	
	ContributedPartRenderer$2(Widget).sendEvent(Event) line: 1258	
	ContributedPartRenderer$2(Widget).sendEvent(int, Event, boolean) line: 1282	
	ContributedPartRenderer$2(Widget).sendEvent(int) line: 1263	
	Shell.setActiveControl(Control) line: 1579	
	StyledText(Control).sendFocusEvent(int) line: 3574	
	StyledText(Control).gtk_event_after(long, long) line: 2925	
	StyledText(Widget).windowProc(long, long, long) line: 1738	
	StyledText(Control).windowProc(long, long, long) line: 4999	
	Display.windowProc(long, long, long) line: 4406	
	OS._gtk_widget_grab_focus(long) line: not available [native method]	
	OS.gtk_widget_grab_focus(long) line: 12928	
	StyledText(Control).forceFocus(long) line: 2311	
	StyledText(Composite).forceFocus(long) line: 526	
	StyledText(Control).forceFocus() line: 2304	
	StyledText(Control).setFocus() line: 3931	
	StyledText(Composite).setFocus() line: 1373	
	StructuredTextEditor(AbstractTextEditor).setFocus() line: 6189	
	StructuredTextEditor(StatusTextEditor).setFocus() line: 122	
	XMLMultiPageEditorPart(MultiPageEditorPart).setFocus(int) line: 1124	
	XMLMultiPageEditorPart(MultiPageEditorPart).setFocus() line: 1106	
	XMLMultiPageEditorPart.setFocus() line: 1077	
	CompatibilityEditor(CompatibilityPart).delegateSetFocus() line: 158	
	GeneratedMethodAccessor35.invoke(Object, Object[]) line: not available	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 37	
	Method.invoke(Object, Object...) line: 611	
	MethodRequestor.execute() line: 56	
	InjectorImpl.invokeUsingClass(Object, Class<?>, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier, boolean) line: 226	
	InjectorImpl.invokeUsingClass(Object, Class<?>, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier, boolean) line: 232	
	InjectorImpl.invoke(Object, Class<Annotation>, Object, PrimaryObjectSupplier) line: 203	
	ContextInjectionFactory.invoke(Object, Class<Annotation>, IEclipseContext, Object) line: 101	
	PartServiceImpl.activate(MPart, boolean, boolean) line: 519	
	PartServiceImpl.activate(MPart, boolean) line: 488	
	PartServiceImpl.activate(MPart) line: 477	
	WorkbenchPage.busyOpenEditor(IEditorInput, String, boolean, int, IMemento, boolean) line: 2685	
	WorkbenchPage.access$19(WorkbenchPage, IEditorInput, String, boolean, int, IMemento, boolean) line: 2629	
	WorkbenchPage$7.run() line: 2611	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	WorkbenchPage.openEditor(IEditorInput, String, boolean, int, IMemento, boolean) line: 2607	
	WorkbenchPage.openEditor(IEditorInput, String, boolean, int) line: 2587	
	WorkbenchPage.openEditor(IEditorInput, String, boolean) line: 2578	
	IDE.openEditor(IWorkbenchPage, IFile, boolean, boolean) line: 651	
	IDE.openEditor(IWorkbenchPage, IFile, boolean) line: 610	
	EditorUtility.openInEditor(IFile, boolean) line: 355	
	EditorUtility.openInEditor(Object, boolean) line: 164	
	OpenAction.run(Object[]) line: 249	
	OpenAction.run(IStructuredSelection) line: 228	
	OpenAction(SelectionDispatchAction).dispatchRun(ISelection) line: 275	
	OpenAction(SelectionDispatchAction).run() line: 251	
	OpenAndExpand.run() line: 50	
	RetargetAction.run() line: 221	
	CommonNavigatorManager$3.open(ISelection, boolean) line: 185	
	OpenAndLinkWithEditorHelper$InternalListener.open(OpenEvent) line: 48	
	StructuredViewer$2.run() line: 866	
	SafeRunner.run(ISafeRunnable) line: 42	
	JFaceUtil$1.run(ISafeRunnable) line: 49	
	SafeRunnable.run(ISafeRunnable) line: 175	
	CommonViewer(StructuredViewer).fireOpen(OpenEvent) line: 864	
	CommonViewer(StructuredViewer).handleOpen(SelectionEvent) line: 1152	
	CommonViewer.handleOpen(SelectionEvent) line: 462	
	StructuredViewer$6.handleOpen(SelectionEvent) line: 1256	
	OpenStrategy.fireOpenEvent(SelectionEvent) line: 275	
	OpenStrategy.access$2(OpenStrategy, SelectionEvent) line: 269	
	OpenStrategy$1.handleEvent(Event) line: 309	
	EventTable.sendEvent(Event) line: 84	
	Tree(Widget).sendEvent(Event) line: 1258	
	Display.runDeferredEvents() line: 3586	
	Display.readAndDispatch() line: 3207	
	PartRenderingEngine$9.run() line: 944	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 860	
	E4Workbench.createAndRunUI(MApplicationElement) line: 87	
	Workbench$3.run() line: 542	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 522	
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
	IDEApplication.start(IApplicationContext) line: 123	
	EclipseAppHandle.run(Object) line: 196	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 344	
	EclipseStarter.run(String[], Runnable) line: 179	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 60	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 37	
	Method.invoke(Object, Object...) line: 611	
	Main.invokeFramework(String[], URL[]) line: 622	
	Main.basicRun(String[]) line: 577	
	Main.run(String[]) line: 1410	
	Main.main(String[]) line: 1386	



Thread [main] (Suspended)	
	HashMap$1.iterator() line: 588 [local variables unavailable]	
	HashSet<E>.iterator() line: 162	
	EclipseContext.addListener(Computation, Set<String>) line: 663	
	TrackableComputationExt(Computation).startListening() line: 68	
	TrackableComputationExt.update(ContextChangeEvent) line: 106	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	EclipseContext.activate() line: 596	
	EclipseContext.activateBranch() line: 601	
	PartActivationHistory.activate(MPart, boolean) line: 52	
	PartServiceImpl.activate(MPart, boolean, boolean) line: 529	
	PartServiceImpl.activate(MPart, boolean) line: 488	
	ContributedPartRenderer(AbstractPartRenderer).activate(MPart) line: 105	
	ContributedPartRenderer$1.handleEvent(Event) line: 61	
	EventTable.sendEvent(Event) line: 84	
	ContributedPartRenderer$2(Widget).sendEvent(Event) line: 1258	
	ContributedPartRenderer$2(Widget).sendEvent(int, Event, boolean) line: 1282	
	ContributedPartRenderer$2(Widget).sendEvent(int) line: 1263	
	Shell.setActiveControl(Control) line: 1579	
	StyledText(Control).sendFocusEvent(int) line: 3574	
	StyledText(Control).gtk_event_after(long, long) line: 2925	
	StyledText(Widget).windowProc(long, long, long) line: 1738	
	StyledText(Control).windowProc(long, long, long) line: 4999	
	Display.windowProc(long, long, long) line: 4406	
	OS._gtk_widget_grab_focus(long) line: not available [native method]	
	OS.gtk_widget_grab_focus(long) line: 12928	
	StyledText(Control).forceFocus(long) line: 2311	
	StyledText(Composite).forceFocus(long) line: 526	
	StyledText(Control).forceFocus() line: 2304	
	StyledText(Control).setFocus() line: 3931	
	StyledText(Composite).setFocus() line: 1373	
	StructuredTextEditor(AbstractTextEditor).setFocus() line: 6189	
	StructuredTextEditor(StatusTextEditor).setFocus() line: 122	
	XMLMultiPageEditorPart(MultiPageEditorPart).setFocus(int) line: 1124	
	XMLMultiPageEditorPart(MultiPageEditorPart).setFocus() line: 1106	
	XMLMultiPageEditorPart.setFocus() line: 1077	
	CompatibilityEditor(CompatibilityPart).delegateSetFocus() line: 158	
	GeneratedMethodAccessor35.invoke(Object, Object[]) line: not available	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 37	
	Method.invoke(Object, Object...) line: 611	
	MethodRequestor.execute() line: 56	
	InjectorImpl.invokeUsingClass(Object, Class<?>, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier, boolean) line: 226	
	InjectorImpl.invokeUsingClass(Object, Class<?>, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier, boolean) line: 232	
	InjectorImpl.invoke(Object, Class<Annotation>, Object, PrimaryObjectSupplier) line: 203	
	ContextInjectionFactory.invoke(Object, Class<Annotation>, IEclipseContext, Object) line: 101	
	PartServiceImpl.activate(MPart, boolean, boolean) line: 519	
	PartServiceImpl.activate(MPart, boolean) line: 488	
	PartServiceImpl.activate(MPart) line: 477	
	WorkbenchPage.busyOpenEditor(IEditorInput, String, boolean, int, IMemento, boolean) line: 2685	
	WorkbenchPage.access$19(WorkbenchPage, IEditorInput, String, boolean, int, IMemento, boolean) line: 2629	
	WorkbenchPage$7.run() line: 2611	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	WorkbenchPage.openEditor(IEditorInput, String, boolean, int, IMemento, boolean) line: 2607	
	WorkbenchPage.openEditor(IEditorInput, String, boolean, int) line: 2587	
	WorkbenchPage.openEditor(IEditorInput, String, boolean) line: 2578	
	IDE.openEditor(IWorkbenchPage, IFile, boolean, boolean) line: 651	
	IDE.openEditor(IWorkbenchPage, IFile, boolean) line: 610	
	EditorUtility.openInEditor(IFile, boolean) line: 355	
	EditorUtility.openInEditor(Object, boolean) line: 164	
	OpenAction.run(Object[]) line: 249	
	OpenAction.run(IStructuredSelection) line: 228	
	OpenAction(SelectionDispatchAction).dispatchRun(ISelection) line: 275	
	OpenAction(SelectionDispatchAction).run() line: 251	
	OpenAndExpand.run() line: 50	
	RetargetAction.run() line: 221	
	CommonNavigatorManager$3.open(ISelection, boolean) line: 185	
	OpenAndLinkWithEditorHelper$InternalListener.open(OpenEvent) line: 48	
	StructuredViewer$2.run() line: 866	
	SafeRunner.run(ISafeRunnable) line: 42	
	JFaceUtil$1.run(ISafeRunnable) line: 49	
	SafeRunnable.run(ISafeRunnable) line: 175	
	CommonViewer(StructuredViewer).fireOpen(OpenEvent) line: 864	
	CommonViewer(StructuredViewer).handleOpen(SelectionEvent) line: 1152	
	CommonViewer.handleOpen(SelectionEvent) line: 462	
	StructuredViewer$6.handleOpen(SelectionEvent) line: 1256	
	OpenStrategy.fireOpenEvent(SelectionEvent) line: 275	
	OpenStrategy.access$2(OpenStrategy, SelectionEvent) line: 269	
	OpenStrategy$1.handleEvent(Event) line: 309	
	EventTable.sendEvent(Event) line: 84	
	Tree(Widget).sendEvent(Event) line: 1258	
	Display.runDeferredEvents() line: 3586	
	Display.readAndDispatch() line: 3207	
	PartRenderingEngine$9.run() line: 944	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 860	
	E4Workbench.createAndRunUI(MApplicationElement) line: 87	
	Workbench$3.run() line: 542	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 522	
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
	IDEApplication.start(IApplicationContext) line: 123	
	EclipseAppHandle.run(Object) line: 196	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 344	
	EclipseStarter.run(String[], Runnable) line: 179	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 60	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 37	
	Method.invoke(Object, Object...) line: 611	
	Main.invokeFramework(String[], URL[]) line: 622	
	Main.basicRun(String[]) line: 577	
	Main.run(String[]) line: 1410	
	Main.main(String[]) line: 1386	


Thread [main] (Suspended)	
	ReferenceMap.get(int) line: 280	
	RegistryObjectManager.basicGetObject(int, byte) line: 266	
	RegistryObjectManager.getObject(int, byte) line: 262	
	ConfigurationElementHandle.getConfigurationElement() line: 26	
	ConfigurationElementHandle.getContributor() line: 134	
	XMLEditorTester(PropertyTester).isDeclaringPluginActive() line: 116	
	Property.isDeclaringPluginActive() line: 45	
	Property.isValidCacheEntry(boolean) line: 52	
	TypeExtensionManager.getProperty(Object, String, String, boolean) line: 99	
	TestExpression.evaluate(IEvaluationContext) line: 96	
	WithExpression(CompositeExpression).evaluateAnd(IEvaluationContext) line: 53	
	WithExpression.evaluate(IEvaluationContext) line: 72	
	OrExpression(CompositeExpression).evaluateOr(IEvaluationContext) line: 68	
	OrExpression.evaluate(IEvaluationContext) line: 21	
	ReferenceExpression.evaluate(IEvaluationContext) line: 70	
	EvaluationReference.evaluate(IEvaluationContext) line: 93	
	EvaluationReference.evaluate() line: 130	
	EvaluationReference.changed(IEclipseContext) line: 124	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	ContextContextService.deactivateContext(String) line: 71	
	ContextService$UpdateExpression.changed(IEclipseContext) line: 122	
	TrackableComputationExt.update(ContextChangeEvent) line: 91	
	EclipseContext.processScheduled(List<Scheduled>) line: 326	
	EclipseContext.set(String, Object) line: 343	
	EclipseContext.activate() line: 596	
	EclipseContext.activateBranch() line: 601	
	PartActivationHistory.activate(MPart, boolean) line: 52	
	PartServiceImpl.activate(MPart, boolean, boolean) line: 529	
	PartServiceImpl.activate(MPart, boolean) line: 488	
	ContributedPartRenderer(AbstractPartRenderer).activate(MPart) line: 105	
	ContributedPartRenderer$1.handleEvent(Event) line: 61	
	EventTable.sendEvent(Event) line: 84	
	ContributedPartRenderer$2(Widget).sendEvent(Event) line: 1258	
	ContributedPartRenderer$2(Widget).sendEvent(int, Event, boolean) line: 1282	
	ContributedPartRenderer$2(Widget).sendEvent(int) line: 1263	
	Shell.setActiveControl(Control) line: 1579	
	StyledText(Control).sendFocusEvent(int) line: 3574	
	StyledText(Control).gtk_event_after(long, long) line: 2925	
	StyledText(Widget).windowProc(long, long, long) line: 1738	
	StyledText(Control).windowProc(long, long, long) line: 4999	
	Display.windowProc(long, long, long) line: 4406	
	OS._gtk_widget_grab_focus(long) line: not available [native method]	
	OS.gtk_widget_grab_focus(long) line: 12928	
	StyledText(Control).forceFocus(long) line: 2311	
	StyledText(Composite).forceFocus(long) line: 526	
	StyledText(Control).forceFocus() line: 2304	
	StyledText(Control).setFocus() line: 3931	
	StyledText(Composite).setFocus() line: 1373	
	StructuredTextEditor(AbstractTextEditor).setFocus() line: 6189	
	StructuredTextEditor(StatusTextEditor).setFocus() line: 122	
	XMLMultiPageEditorPart(MultiPageEditorPart).setFocus(int) line: 1124	
	XMLMultiPageEditorPart(MultiPageEditorPart).setFocus() line: 1106	
	XMLMultiPageEditorPart.setFocus() line: 1077	
	CompatibilityEditor(CompatibilityPart).delegateSetFocus() line: 158	
	GeneratedMethodAccessor35.invoke(Object, Object[]) line: not available	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 37	
	Method.invoke(Object, Object...) line: 611	
	MethodRequestor.execute() line: 56	
	InjectorImpl.invokeUsingClass(Object, Class<?>, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier, boolean) line: 226	
	InjectorImpl.invokeUsingClass(Object, Class<?>, Class<Annotation>, Object, PrimaryObjectSupplier, PrimaryObjectSupplier, boolean) line: 232	
	InjectorImpl.invoke(Object, Class<Annotation>, Object, PrimaryObjectSupplier) line: 203	
	ContextInjectionFactory.invoke(Object, Class<Annotation>, IEclipseContext, Object) line: 101	
	PartServiceImpl.activate(MPart, boolean, boolean) line: 519	
	PartServiceImpl.activate(MPart, boolean) line: 488	
	PartServiceImpl.activate(MPart) line: 477	
	WorkbenchPage.busyOpenEditor(IEditorInput, String, boolean, int, IMemento, boolean) line: 2685	
	WorkbenchPage.access$19(WorkbenchPage, IEditorInput, String, boolean, int, IMemento, boolean) line: 2629	
	WorkbenchPage$7.run() line: 2611	
	BusyIndicator.showWhile(Display, Runnable) line: 70	
	WorkbenchPage.openEditor(IEditorInput, String, boolean, int, IMemento, boolean) line: 2607	
	WorkbenchPage.openEditor(IEditorInput, String, boolean, int) line: 2587	
	WorkbenchPage.openEditor(IEditorInput, String, boolean) line: 2578	
	IDE.openEditor(IWorkbenchPage, IFile, boolean, boolean) line: 651	
	IDE.openEditor(IWorkbenchPage, IFile, boolean) line: 610	
	EditorUtility.openInEditor(IFile, boolean) line: 355	
	EditorUtility.openInEditor(Object, boolean) line: 164	
	OpenAction.run(Object[]) line: 249	
	OpenAction.run(IStructuredSelection) line: 228	
	OpenAction(SelectionDispatchAction).dispatchRun(ISelection) line: 275	
	OpenAction(SelectionDispatchAction).run() line: 251	
	OpenAndExpand.run() line: 50	
	RetargetAction.run() line: 221	
	CommonNavigatorManager$3.open(ISelection, boolean) line: 185	
	OpenAndLinkWithEditorHelper$InternalListener.open(OpenEvent) line: 48	
	StructuredViewer$2.run() line: 866	
	SafeRunner.run(ISafeRunnable) line: 42	
	JFaceUtil$1.run(ISafeRunnable) line: 49	
	SafeRunnable.run(ISafeRunnable) line: 175	
	CommonViewer(StructuredViewer).fireOpen(OpenEvent) line: 864	
	CommonViewer(StructuredViewer).handleOpen(SelectionEvent) line: 1152	
	CommonViewer.handleOpen(SelectionEvent) line: 462	
	StructuredViewer$6.handleOpen(SelectionEvent) line: 1256	
	OpenStrategy.fireOpenEvent(SelectionEvent) line: 275	
	OpenStrategy.access$2(OpenStrategy, SelectionEvent) line: 269	
	OpenStrategy$1.handleEvent(Event) line: 309	
	EventTable.sendEvent(Event) line: 84	
	Tree(Widget).sendEvent(Event) line: 1258	
	Display.runDeferredEvents() line: 3586	
	Display.readAndDispatch() line: 3207	
	PartRenderingEngine$9.run() line: 944	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	PartRenderingEngine.run(MApplicationElement, IEclipseContext) line: 860	
	E4Workbench.createAndRunUI(MApplicationElement) line: 87	
	Workbench$3.run() line: 542	
	Realm.runWithDefault(Realm, Runnable) line: 332	
	Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 522	
	PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149	
	IDEApplication.start(IApplicationContext) line: 123	
	EclipseAppHandle.run(Object) line: 196	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 344	
	EclipseStarter.run(String[], Runnable) line: 179	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 60	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 37	
	Method.invoke(Object, Object...) line: 611	
	Main.invokeFramework(String[], URL[]) line: 622	
	Main.basicRun(String[]) line: 577	
	Main.run(String[]) line: 1410	
	Main.main(String[]) line: 1386
Comment 1 Paul Webster CLA 2011-05-25 08:33:37 EDT
*** Bug 346567 has been marked as a duplicate of this bug. ***
Comment 2 Paul Webster CLA 2011-05-25 14:27:28 EDT
Created attachment 196589 [details]
async any bridge between RATs and listeners v01
Comment 3 Paul Webster CLA 2011-05-25 14:28:13 EDT
(In reply to comment #2)
> Created attachment 196589 [details]
> async any bridge between RATs and listeners v01

Released for RC3
PW
Comment 4 Eric Moffatt CLA 2011-06-06 10:46:36 EDT
Verified in I20110604-2201
Comment 5 Oleg Besedin CLA 2012-01-31 10:39:01 EST
New methods added in bug 370219 should help isolate 3rd party code.
Comment 6 Oleg Besedin CLA 2012-02-17 16:01:35 EST
Created attachment 211218 [details]
patch

Paul, could you check if this works for you? 

I tried the original steps but could not reproduce the original problem with the current code.
Comment 7 Oleg Besedin CLA 2012-02-17 16:05:54 EST
*** Bug 371718 has been marked as a duplicate of this bug. ***
Comment 9 Dani Megert CLA 2012-02-22 06:04:41 EST
Looked at it in I20120221-2200: it's better i.e. one no longer sees the icons drawn one by one, but the tool bar (and the whole window) still takes way too long to appear. Just compare Window > New Window in 3.8 and 4.2.
Comment 10 Paul Webster CLA 2012-02-22 09:48:52 EST
(In reply to comment #6)
> Paul, could you check if this works for you? 
> 
> I tried the original steps but could not reproduce the original problem with
> the current code.

I reverted all the fixes related to listeners and I couldn't reproduce the problem anymore either.  But the fix makes sense and doesn't re-introduce the problem.

PW
Comment 11 Mike Wilson CLA 2012-04-17 16:04:06 EDT
So what's the state of this? Should it just be closed now?
Comment 12 Dani Megert CLA 2012-04-18 03:15:18 EDT
(In reply to comment #11)
> So what's the state of this?

Using the steps from comment 9, this bug is still present in 4.2-I20120417-1000.


> Should it just be closed now?
No, it should get fixed ;-). But low prio.
Comment 13 Jörg von Frantzius CLA 2012-10-23 03:56:13 EDT
Dani if you look at this again in 4.2.1, do you still see a problem? On my machine it does look OK with SR1, subjectively of course :)
Comment 14 Dani Megert CLA 2012-10-23 04:08:15 EDT
(In reply to comment #13)
> Dani if you look at this again in 4.2.1, do you still see a problem? On my
> machine it does look OK with SR1, subjectively of course :)

I still see the difference between 3.8.1 and 4.2.1 using the steps from comment 9. I'm on Windows 7, not Linux.
Comment 15 Lars Vogel CLA 2014-07-02 05:00:09 EDT
(In reply to Dani Megert from comment #14)
> I still see the difference between 3.8.1 and 4.2.1 using the steps from
> comment 9. I'm on Windows 7, not Linux.


Do you still see it in Eclipse 4.4?
Comment 16 Lars Vogel CLA 2015-01-22 06:59:35 EST
(In reply to Lars Vogel from comment #15)
> Do you still see it in Eclipse 4.4?

Marking as fixed. Opening a window on Linux works relatively fast and I have not heard back from Dani about Windows. Dani, please reopen if you still see a big difference. Marking as fixed with http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=760921ca36e9d294fd683fbe163d1e1e0203e8bb