Community
Participate
Working Groups
Generated TPTP JUnit test suites are malformed. When the user attempts to convert a plain JUnit test suite into a TPTP test suite (e.g. File >> Import... >> JUnit tests to TPTP), the generated TPTP JUnit test suite is malformed. For example, the generated Java class does not extend the org.eclipse.hyades.test.common.junit.HyadesTestCase class and does not contain the required suite() (e.g. public static Test suite()) method. As such, when running the generated TPTP JUnit test suites (e.g. locally), the following exception is thrown: java.lang.NoSuchMethodException: <TPTP test suite name>.suite() at java.lang.Class.getMethod(Class.java:1078) at org.eclipse.hyades.test.java.runner.HyadesJUnitRunner.main (HyadesJUnitRunner.java:127) This defect blocks TPTP testing for 4.1 (i2) since the TPTP JUnit test suites in the org.eclipse.hyades.logging.core.tests test module are not able to be executed.
Julien, did you implement the TPTP JUnit test import support? If so, could you please look at this one, thanks. Looks like the code is not getting converted over appropriately to be a TPTP JUnit test (from a non-TPTP JUnit test).
Hi Scott, I'll take care of this one, please assign it to me.
Fixed. The feature "Import JUnit into TPTP" is not expected to modify the source code, so I did not follow the suggestion to automatically add a suite() method during the import process. Instead, I modified the runtime so it supports the execution of TestCases without a static Test suite() method. If a test class does not provide such a method, the test is instantiated using the constructor TestSuite(class).
Verification delayed due to defect #110694.
Verified in TPTP v4.1 (TPTP_v4_1_0_200509260100) on Sept. 26/05.
Closing.
Reopening since nested test suites are not invoked correctly. For example, after importing two JUnit test classes, change the behavior of one JUnit test to invoke the other JUnit test. Alternatively, consult the test- results\org.eclipse.hyades.logging.core.tests\junit\AllTests.testsuite test suite for a concrete example. After execution, the following single event is in the test log: Message: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at org.eclipse.hyades.test.java.runner.HyadesJUnitRunner.getTest (HyadesJUnitRunner.java:123) at org.eclipse.hyades.test.java.runner.HyadesJUnitRunner.main (HyadesJUnitRunner.java:148) Caused by: java.lang.Error: Unresolved compilation problem: The method suite() is undefined for the type CommonBaseEventLogRecordTest at org.eclipse.hyades.logging.core.junit.AllTests.suite(AllTests.java:35) ... 7 more Also, opening the test log in the Test Log view and selecting the single message event causes the following exception to be thrown: !ENTRY org.eclipse.jface 4 2 2005-09-26 22:00:42.34 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 java.lang.NullPointerException at org.eclipse.hyades.test.ui.forms.util.TestLogVerdictCollection.contains (TestLogVerdictCollection.java:46) at org.eclipse.hyades.test.ui.forms.actions.VerdictNavigationAction.updateSelection (VerdictNavigationAction.java:79) at org.eclipse.hyades.test.ui.forms.actions.VerdictLastAction.updateSelection (VerdictLastAction.java:39) at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged (BaseSelectionListenerAction.java(Compiled Code)) at org.eclipse.ui.actions.BaseSelectionListenerAction.selectionChanged (BaseSelectionListenerAction.java:137) at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java(Inlined Compiled Code)) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java(Inlined Compiled Code)) at org.eclipse.core.runtime.Platform.run(Platform.java(Inlined Compiled Code)) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java(Inlined Compiled Code)) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java(Inlined Compiled Code)) at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java (Compiled Code)) at org.eclipse.jface.viewers.StructuredViewer.updateSelection (StructuredViewer.java:1784) at org.eclipse.jface.viewers.StructuredViewer.handleSelect (StructuredViewer.java:1027) at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected (StructuredViewer.java:1053) at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent (OpenStrategy.java:209) at org.eclipse.jface.util.OpenStrategy.access$3(OpenStrategy.java (Inlined Compiled Code)) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java (Compiled Code)) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java (Compiled Code)) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java (Compiled Code)) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java (Compiled Code)) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:367) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948)
Fixed. Important: you need to regenerate the code for any JUnit test suite that meets the two following conditions: 1) The test suite has a behavior model (ie there's a behavior tab in the editor) 2) It invokes at least one test that doesn't have a behavior model. To regenerate the code, make a modification to the test suite and save it. For instance, this applies to test- results\org.eclipse.hyades.logging.core.tests\junit\AllTests.testsuite.
(In reply to comment #8) Using the TPTP_v4_1_0_200510140100 driver, updating a TPTP JUnit suite causes the imported JUnit Java class to be overridden, thereby deleting the content of the existing test methods. As such, reopening.
I reproduced the problem with the test suites under test- results\platform\org.eclipse.hyades.logging.core.tests\junit\. All test suites in this project share the same problem of having an incorrect method name associated with each test method in the model. The method names in the model are using lower-case characters (e.g. "testresolvedmessageapis"), whereas the methods in the source code are using mixed-case characters (e.g. "testResolvedMessageAPIs"). This cannot be easily detected because method names in the model are not displayed, they are just used internally by code synchronization. I suspect that this situation could have been introduced by importing the existing project to a new workspace (and links between source code and model were temporarily lost -- I've created a new defect to track this issue: bug 112913). The work-around would be to delete the .testsuite file and import the source code again to TPTP, then move the .testsuite file to where it is supposed to be. Since this would be too painful, I have added a button "Refresh test methods from code" in the JUnit test editor. When clicked, the model is updated so its test methods match the actual methods in the code. You can consider this button as a "repair my test suite" button. You can detect that something was repaired when the test editor becomes dirty (save is enabled). Since this is last-minute UI change, it is not visible by default, you need to add the following to your command line (or eclipse.ini file): -DTPTP_TESTTOOLS_JUNIT_ADVANCED_EDITOR In short: 1) Add -DTPTP_TESTTOOLS_JUNIT_ADVANCED_EDITOR to your command line or eclipse.ini 2) For each test that has the problem, open it in the test editor 3) Click on "Refresh test methods from code" 4) If the editor becomes dirty, click save.
Changing status.
(In reply to comment #10) The workaround requires the following: -DTPTP_TESTTOOLS_JUNIT_ADVANCED_EDITOR=true
(In reply to comment #12) Also, this workaround requires that the user modify the test suite (e.g. add and then remove a character from the test suite's description) and save for the fix to be propagated to the source code.
Verified in TPTP_v4_1_0_200510220100. This workaround threw the following exception so I re-imported all of the affect test suites as well as updated the org.eclipse.hyades.tests\AllJUnitTests.testsuite test suite under this defect: !ENTRY org.eclipse.ui 4 4 2005-10-23 13:19:02.69 !MESSAGE Unhandled event loop exception !ENTRY org.eclipse.ui 4 0 2005-10-23 13:19:02.69 !MESSAGE No more handles !STACK 0 org.eclipse.swt.SWTError: No more handles at org.eclipse.swt.SWT.error(SWT.java:2968) at org.eclipse.swt.SWT.error(SWT.java(Inlined Compiled Code)) at org.eclipse.swt.SWT.error(SWT.java(Inlined Compiled Code)) at org.eclipse.swt.graphics.Image.init(Image.java(Compiled Code)) at org.eclipse.swt.graphics.Image.init(Image.java(Compiled Code)) at org.eclipse.swt.graphics.Image.<init>(Image.java(Compiled Code)) at org.eclipse.jface.resource.ImageDescriptor.createImage (ImageDescriptor.java(Compiled Code)) at org.eclipse.jface.resource.ImageDescriptor.createImage (ImageDescriptor.java(Inlined Compiled Code)) at org.eclipse.jface.resource.ImageDescriptor.createImage (ImageDescriptor.java(Inlined Compiled Code)) at org.eclipse.hyades.test.ui.internal.editor.form.util.NamedElementLink.create (NamedElementLink.java(Compiled Code)) at org.eclipse.hyades.test.ui.editor.form.util.NamedElementsSection$NamedElementLis tAdapter.refreshComposite(NamedElementsSection.java(Compiled Code)) at org.eclipse.hyades.test.ui.editor.form.util.NamedElementsSection$NamedElementLis tAdapter.notifyChanged(NamedElementsSection.java:93) at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify (BasicNotifierImpl.java(Compiled Code)) at org.eclipse.emf.common.notify.impl.NotificationChainImpl.dispatch (NotificationChainImpl.java(Inlined Compiled Code)) at org.eclipse.emf.common.notify.impl.NotificationChainImpl.dispatch (NotificationChainImpl.java(Compiled Code)) at org.eclipse.emf.common.notify.impl.NotifyingListImpl.addUnique (NotifyingListImpl.java(Compiled Code)) at org.eclipse.emf.common.util.BasicEList.add(BasicEList.java(Compiled Code)) at org.eclipse.hyades.test.tools.core.common.util.TestCommonUtil.createTestCase (TestCommonUtil.java:104) at org.eclipse.hyades.test.tools.core.internal.java.modelsync.JUnitModelUpdater.upd ateTestSuiteFromCode(JUnitModelUpdater.java:104) at org.eclipse.hyades.test.tools.ui.java.internal.junit.editor.SourceInfoViewer.wid getSelected(SourceInfoViewer.java:446) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java (Compiled Code)) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java (Compiled Code)) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java (Compiled Code)) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java (Compiled Code)) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:367) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948) !ENTRY org.eclipse.ui.workbench 4 0 2005-10-23 13:19:02.239 !MESSAGE Widget disposed too early! !STACK 0 java.lang.RuntimeException: Widget disposed too early! at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed (WorkbenchPartReference.java:151) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java (Compiled Code)) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseWidget(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Control.releaseWidget(Control.java(Compiled Code)) at org.eclipse.swt.widgets.Scrollable.releaseWidget(Scrollable.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Canvas.releaseWidget(Canvas.java(Compiled Code)) at org.eclipse.swt.widgets.Decorations.releaseWidget (Decorations.java:782) at org.eclipse.swt.widgets.Shell.releaseWidget(Shell.java:868) at org.eclipse.swt.widgets.Widget.dispose(Widget.java(Compiled Code)) at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:441) at org.eclipse.swt.widgets.Shell.dispose(Shell.java:499) at org.eclipse.swt.widgets.Display.release(Display.java:2761) at org.eclipse.swt.graphics.Device.dispose(Device.java:261) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:118) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948) !ENTRY org.eclipse.ui.workbench 4 0 2005-10-23 13:19:02.259 !MESSAGE Widget disposed too early! !STACK 0 java.lang.RuntimeException: Widget disposed too early! at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed (WorkbenchPartReference.java:151) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java (Compiled Code)) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseWidget(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Control.releaseWidget(Control.java(Compiled Code)) at org.eclipse.swt.widgets.Scrollable.releaseWidget(Scrollable.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Canvas.releaseWidget(Canvas.java(Compiled Code)) at org.eclipse.swt.widgets.Decorations.releaseWidget (Decorations.java:782) at org.eclipse.swt.widgets.Shell.releaseWidget(Shell.java:868) at org.eclipse.swt.widgets.Widget.dispose(Widget.java(Compiled Code)) at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:441) at org.eclipse.swt.widgets.Shell.dispose(Shell.java:499) at org.eclipse.swt.widgets.Display.release(Display.java:2761) at org.eclipse.swt.graphics.Device.dispose(Device.java:261) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:118) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948) !ENTRY org.eclipse.ui.workbench 4 0 2005-10-23 13:19:02.279 !MESSAGE Widget disposed too early! !STACK 0 java.lang.RuntimeException: Widget disposed too early! at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed (WorkbenchPartReference.java:151) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java (Compiled Code)) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseWidget(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Control.releaseWidget(Control.java(Compiled Code)) at org.eclipse.swt.widgets.Scrollable.releaseWidget(Scrollable.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Canvas.releaseWidget(Canvas.java(Compiled Code)) at org.eclipse.swt.widgets.Decorations.releaseWidget (Decorations.java:782) at org.eclipse.swt.widgets.Shell.releaseWidget(Shell.java:868) at org.eclipse.swt.widgets.Widget.dispose(Widget.java(Compiled Code)) at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:441) at org.eclipse.swt.widgets.Shell.dispose(Shell.java:499) at org.eclipse.swt.widgets.Display.release(Display.java:2761) at org.eclipse.swt.graphics.Device.dispose(Device.java:261) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:118) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948) !ENTRY org.eclipse.ui.workbench 4 0 2005-10-23 13:19:02.299 !MESSAGE Widget disposed too early! !STACK 0 java.lang.RuntimeException: Widget disposed too early! at org.eclipse.ui.internal.WorkbenchPartReference$1.widgetDisposed (WorkbenchPartReference.java:151) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java (Compiled Code)) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseWidget(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Control.releaseWidget(Control.java(Compiled Code)) at org.eclipse.swt.widgets.Scrollable.releaseWidget(Scrollable.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Compiled Code)) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java(Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java (Inlined Compiled Code)) at org.eclipse.swt.widgets.Canvas.releaseWidget(Canvas.java(Compiled Code)) at org.eclipse.swt.widgets.Decorations.releaseWidget (Decorations.java:782) at org.eclipse.swt.widgets.Shell.releaseWidget(Shell.java:868) at org.eclipse.swt.widgets.Widget.dispose(Widget.java(Compiled Code)) at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:441) at org.eclipse.swt.widgets.Shell.dispose(Shell.java:499) at org.eclipse.swt.widgets.Display.release(Display.java:2761) at org.eclipse.swt.graphics.Device.dispose(Device.java:261) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:118) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948) !ENTRY org.eclipse.osgi 2005-10-23 13:19:02.350 !MESSAGE Application error !STACK 1 org.eclipse.swt.SWTError: No more handles at org.eclipse.swt.SWT.error(SWT.java:2968) at org.eclipse.swt.SWT.error(SWT.java:2865) at org.eclipse.swt.SWT.error(SWT.java:2836) at org.eclipse.swt.graphics.Image.<init>(Image.java:275) at org.eclipse.swt.widgets.ToolItem.createDisabledImage (ToolItem.java:199) at org.eclipse.swt.widgets.ToolItem.updateImages(ToolItem.java:912) at org.eclipse.swt.widgets.ToolBar.enableWidget(ToolBar.java:399) at org.eclipse.swt.widgets.Control.setEnabled(Control.java(Compiled Code)) at org.eclipse.ui.internal.WorkbenchWindow.run (WorkbenchWindow.java:2129) at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation (SaveableHelper.java:122) at org.eclipse.ui.internal.EditorManager.saveAll (EditorManager.java:1141) at org.eclipse.ui.internal.Workbench$12.run(Workbench.java:647) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java(Inlined Compiled Code)) at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code)) at org.eclipse.ui.internal.Workbench.saveAllEditors(Workbench.java:610) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:531) at org.eclipse.ui.internal.Workbench.access$8(Workbench.java:522) at org.eclipse.ui.internal.Workbench$13.run(Workbench.java:713) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.Workbench.close(Workbench.java:711) at org.eclipse.ui.internal.WorkbenchConfigurer.emergencyClose (WorkbenchConfigurer.java:165) at org.eclipse.ui.internal.ide.IDEExceptionHandler.closeWorkbench (IDEExceptionHandler.java:121) at org.eclipse.ui.internal.ide.IDEExceptionHandler.handleException (IDEExceptionHandler.java:100) at org.eclipse.ui.internal.ide.IDEWorkbenchAdvisor.eventLoopException (IDEWorkbenchAdvisor.java:210) at org.eclipse.ui.internal.ExceptionHandler.handleException (ExceptionHandler.java:62) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java (Compiled Code)) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1663) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:367) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:143) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:103) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:226) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:376) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:163) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:58) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:60) at java.lang.reflect.Method.invoke(Method.java:391) at org.eclipse.core.launcher.Main.invokeFramework(Main.java:334) at org.eclipse.core.launcher.Main.basicRun(Main.java:278) at org.eclipse.core.launcher.Main.run(Main.java:973) at org.eclipse.core.launcher.Main.main(Main.java:948)
(In reply to comment #14) See https://bugs.eclipse.org/bugs/show_bug.cgi?id=113482.