Community
Participate
Working Groups
Steps to repro- 1. Create a new plug-in project outside workspace. That is, uncheck default location on the new plugin wizard and provide a location which is outside the workspace. 2. The manifest editor will open. Go to ext. pt. page. Click Add and create a new ext. pt. Let the open schema editor check be selected. SWTException is thrown as editor open. Reproducible : Always eclipse.buildId=I20110406-1223 java.fullversion=JRE 1.6.0 IBM J9 2.4 Windows XP x86-32 jvmwi3260sr7-20091214_49398 (JIT enabled, AOT enabled) J9VM - 20091214_049398 JIT - r9_20091123_13891 GC - 20091111_AA BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US Command-line arguments: -os win32 -ws win32 -arch x86 Error Tue Apr 12 16:18:30 IST 2011 Unhandled event loop exception org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.swt.SWTException: Widget is disposed) at org.eclipse.swt.SWT.error(SWT.java:4277) at org.eclipse.swt.SWT.error(SWT.java:4192) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:137) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4138) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3755) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494) at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123) 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:344) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:600) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) Caused by: org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(SWT.java:4277) at org.eclipse.swt.SWT.error(SWT.java:4192) at org.eclipse.swt.SWT.error(SWT.java:4163) at org.eclipse.swt.widgets.Widget.error(Widget.java:468) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340) at org.eclipse.swt.widgets.Label.setText(Label.java:388) at org.eclipse.jface.wizard.ProgressMonitorPart.updateLabel(ProgressMonitorPart.java:367) at org.eclipse.jface.wizard.ProgressMonitorPart.subTask(ProgressMonitorPart.java:358) at org.eclipse.jface.wizard.WizardDialog$4.subTask(WizardDialog.java:707) at org.eclipse.jface.operation.AccumulatingProgressMonitor$Collector.run(AccumulatingProgressMonitor.java:94) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134) ... 22 more
I've seen what appears to be the same exception trace thrown in Eclipse 3.6 (20100617-1415) when using a Wizard (in a WizardDialog) where I call "getContainer().run(true, true, runnable)" multiple times with different runnables. Sometimes after the 2nd runnable is run in this way, the exception will be thrown; other times it completes normally.
(In reply to comment #1) > I've seen what appears to be the same exception trace thrown in Eclipse 3.6 > (20100617-1415) when using a Wizard (in a WizardDialog) where I call > "getContainer().run(true, true, runnable)" multiple times with different > runnables. Sometimes after the 2nd runnable is run in this way, the exception > will be thrown; other times it completes normally. I think it's important to note that the an AccumulatingProgressMonitor is being used (from the stack trace). I suspect that when the monitor does an asyncExec() to update the UI (e.g. in setTaskName()), it's possible that the WizardDialog gets closed before the runnable runs?
*** This bug has been marked as a duplicate of bug 401741 ***