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

Bug 321761

Summary: [ViewMgmt] Widgets disposed error from ViewPane
Product: [Eclipse Project] Platform Reporter: Marco Maccaferri <macca>
Component: UIAssignee: Platform UI Triaged <platform-ui-triaged>
Status: CLOSED WONTFIX QA Contact:
Severity: normal    
Priority: P3 CC: remy.suen
Version: 3.6.2   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard: stalebug

Description Marco Maccaferri CLA 2010-08-04 12:56:48 EDT
Build Identifier: 

One of our users report the following error stack trace. I don't have more details about how to reproduce but looks there is some disposed check missing.

!ENTRY org.eclipse.ui 4 0 2010-08-03 08:58:33.986
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.swt.SWTException: Widget is disposed
 at org.eclipse.swt.SWT.error(SWT.java:3884)
 at org.eclipse.swt.SWT.error(SWT.java:3799)
 at org.eclipse.swt.SWT.error(SWT.java:3770)
 at org.eclipse.swt.widgets.Widget.error(Widget.java:463)
 at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:336)
 at org.eclipse.swt.widgets.Composite.layout(Composite.java:545)
 at org.eclipse.ui.internal.ViewPane$ISVPropListener.propertyChange(ViewPane.java:80)
 at org.eclipse.jface.internal.provisional.action.ToolBarManager2.firePropertyChange(ToolBarManager2.java:145)
 at org.eclipse.jface.internal.provisional.action.ToolBarManager2.firePropertyChange(ToolBarManager2.java:158)
 at org.eclipse.jface.internal.provisional.action.ToolBarManager2.relayout(ToolBarManager2.java:168)
 at org.eclipse.jface.action.ToolBarManager.update(ToolBarManager.java:389)
 at org.eclipse.jface.action.ToolBarManager.createControl(ToolBarManager.java:111)
 at org.eclipse.jface.internal.provisional.action.ToolBarManager2.createControl2(ToolBarManager2.java:78)
 at org.eclipse.ui.internal.ViewPane.createToolBars(ViewPane.java:172)
 at org.eclipse.ui.internal.ViewPane.createTitleBar(ViewPane.java:144)
 at org.eclipse.ui.internal.PartPane.createControl(PartPane.java:156)
 at org.eclipse.ui.internal.ViewPane.createControl(ViewPane.java:127)
 at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1249)
 at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1209)
 at org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:843)
 at org.eclipse.ui.internal.PartStack.access$1(PartStack.java:829)
 at org.eclipse.ui.internal.PartStack$1.selectPart(PartStack.java:139)
 at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:133)
 at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:270)
 at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:279)
 at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
 at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$2.handleEvent(DefaultTabFolder.java:87)
 at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
 at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:770)
 at org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3256)
 at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2045)
 at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:323)
 at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
 at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
 at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3880)
 at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3473)
 at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
 at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
 at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
 at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
 at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
 at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
 at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
 at com.rtrms.amoeba.internal.Application.run(Application.java:25)
 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.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:574)
 at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
 at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
 at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
 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.core.launcher.Main.invokeFramework(Main.java:336)
 at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
 at org.eclipse.core.launcher.Main.run(Main.java:977)
 at org.eclipse.core.launcher.Main.main(Main.java:952)


Reproducible: Couldn't Reproduce
Comment 1 Remy Suen CLA 2010-08-04 13:02:07 EDT
(In reply to comment #0)
> Build Identifier:

Which build was this on? Any ideas?
Comment 2 Marco Maccaferri CLA 2010-08-04 14:43:20 EDT
Ah, sorry, it is 3.5.2 M20100211-1343
Comment 3 Marco Maccaferri CLA 2011-08-22 11:41:41 EDT
Just a note to say that the bug is present also in version 3.6.2 and apparently also on the latest 3.7.0. My understanding is that ISVPropListener is added to the toolbar manager and never removed on dispose.
Comment 4 Lars Vogel CLA 2019-11-14 03:20:15 EST
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet.

If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.

If the bug is still relevant, please remove the "stalebug" whiteboard tag.