Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 298750 - SWTException "Widget is disposed" in TreeViewer in "Plug-in Registry" view
Summary: SWTException "Widget is disposed" in TreeViewer in "Plug-in Registry" view
Status: CLOSED DUPLICATE of bug 327004
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.5   Edit
Hardware: PC Windows Vista
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-04 07:45 EST by Tobias Oberlies CLA
Modified: 2011-03-29 09:36 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tobias Oberlies CLA 2010-01-04 07:45:23 EST
Build Identifier: Eclipse Galileo - e.g. org.eclipse.jface_3.5.0.I20090525-2000

I repeatedly found the following stack trace in the error log:
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.Widget.getData(Widget.java:521)
 at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2620)
 at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1863)
 at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:716)
 at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1838)
 at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1794)
 at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1780)
 at org.eclipse.jface.viewers.StructuredViewer$7.run(StructuredViewer.java:1457)
 at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1392)
 at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:402)
 at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1353)
 at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1455)
 at org.eclipse.jface.viewers.ColumnViewer.refresh(ColumnViewer.java:537)
 at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.refresh(FilteredTree.java:1205)
 at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1414)
 at org.eclipse.ui.dialogs.FilteredTree$NotifyingTreeViewer.refresh(FilteredTree.java:1195)
 at org.eclipse.pde.internal.runtime.registry.RegistryBrowser.deferredRefresh(RegistryBrowser.java:664)
 at org.eclipse.pde.internal.runtime.registry.RegistryBrowser.refresh(RegistryBrowser.java:713)
 at org.eclipse.pde.internal.runtime.registry.RegistryBrowserModelChangeListener.update(RegistryBrowserModelChangeListener.java:138)
 at org.eclipse.pde.internal.runtime.registry.RegistryBrowserModelChangeListener$1.run(RegistryBrowserModelChangeListener.java:26)
 at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
 at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)

I'm filing this bug on SWT because I had a look into the PDE's RegistryBrowser code, and it seems that they properly check isDisposed before every use of the TreeViewer. 

Reproducible: Sometimes

Steps to Reproduce:
The error occurs during an automated test run:
1. Open the RegistryBrowser ("Plug-in Registry") view via org.eclipse.ui.IWorkbenchPage.showView(String)
2. Wait 500ms
3. Close the view again via org.eclipse.ui.IWorkbenchPage.hideView(IViewPart)
4. Reopen the RegistryBrowser view (as in 1.)

At step 4 the error occurs roughly 4 out of 5 times (on all our machines executing the test).
Comment 1 Dani Megert CLA 2011-03-29 09:36:32 EDT

*** This bug has been marked as a duplicate of bug 327004 ***