Community
Participate
Working Groups
Using 3.4M3, I sometimes get this error when I start my self-hosting workspace and the plugin registry view is open. The error occurs when I shutdown the workspace. Unhandled event loop exception during blocked modal context. org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed) at org.eclipse.swt.SWT.error(SWT.java:3706) at org.eclipse.swt.SWT.error(SWT.java:3624) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3721) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3358) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:158) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:326) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:499) at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:267) at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.disconnectFromWorkspace(IDEWorkbenchAdvisor.java:396) at org.eclipse.ui.internal.ide.application.IDEWorkbenchAdvisor.postShutdown(IDEWorkbenchAdvisor.java:313) at org.eclipse.ui.internal.Workbench.shutdown(Workbench.java:2718) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:919) at org.eclipse.ui.internal.Workbench.access$15(Workbench.java:836) at org.eclipse.ui.internal.Workbench$22.run(Workbench.java:1080) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1078) at org.eclipse.ui.internal.Workbench.close(Workbench.java:1050) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:696) at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:675) at org.eclipse.ui.internal.WorkbenchWindow$2.run(WorkbenchWindow.java:790) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:788) at org.eclipse.jface.window.Window.handleShellCloseEvent(Window.java:741) at org.eclipse.jface.window.Window$3.shellClosed(Window.java:687) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:91) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:947) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:971) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:956) at org.eclipse.swt.widgets.Decorations.closeWidget(Decorations.java:306) at org.eclipse.swt.widgets.Decorations.WM_CLOSE(Decorations.java:1626) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3774) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:334) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1559) at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1880) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4423) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:2315) at org.eclipse.swt.widgets.Shell.callWindowProc(Shell.java:457) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3862) at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:334) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1559) at org.eclipse.swt.widgets.Shell.windowProc(Shell.java:1880) at org.eclipse.swt.widgets.Display.windowProc(Display.java:4423) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2320) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3353) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2395) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2359) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2225) at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:468) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:463) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:362) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:175) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:515) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:455) at org.eclipse.equinox.launcher.Main.run(Main.java:1193) at org.eclipse.equinox.launcher.Main.main(Main.java:1169) Caused by: org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(SWT.java:3706) at org.eclipse.swt.SWT.error(SWT.java:3624) at org.eclipse.swt.SWT.error(SWT.java:3595) at org.eclipse.swt.widgets.Widget.error(Widget.java:441) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:334) at org.eclipse.swt.widgets.Tree.getItems(Tree.java:3132) at org.eclipse.pde.internal.runtime.registry.RegistryBrowser$4.findTreeBundleData(RegistryBrowser.java:370) at org.eclipse.pde.internal.runtime.registry.RegistryBrowser$4.run(RegistryBrowser.java:337) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:130) ... 66 more
We should be able to add a check to see if the widget is disposed before calling whatever action we call.
mine
I got this while doing bug 207831
verified on I20071211-0010