Bug 109668 - [Regression] Generated TPTP JUnit test suites are malformed.
Summary: [Regression] Generated TPTP JUnit test suites are malformed.
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: TPTP (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P3 blocker (vote)
Target Milestone: ---   Edit
Assignee: Julien Canches CLA
QA Contact:
URL:
Whiteboard:
Keywords: PII
Depends on:
Blocks: 104995
  Show dependency tree
 
Reported: 2005-09-15 16:21 EDT by Paul Slauenwhite CLA
Modified: 2016-05-05 10:59 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Slauenwhite CLA 2005-09-15 16:21:15 EDT
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.
Comment 1 Scott E. Schneider CLA 2005-09-15 16:39:31 EDT
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).
Comment 2 Julien Canches CLA 2005-09-16 04:22:31 EDT
Hi Scott, I'll take care of this one, please assign it to me.
Comment 3 Julien Canches CLA 2005-09-19 10:14:18 EDT
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).
Comment 4 Paul Slauenwhite CLA 2005-09-26 15:35:50 EDT
Verification delayed due to defect #110694.
Comment 5 Paul Slauenwhite CLA 2005-09-26 17:09:17 EDT
Verified in TPTP v4.1 (TPTP_v4_1_0_200509260100) on Sept. 26/05.
Comment 6 Paul Slauenwhite CLA 2005-09-26 17:09:25 EDT
Closing.
Comment 7 Paul Slauenwhite CLA 2005-09-26 22:04:35 EDT
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)
Comment 8 Julien Canches CLA 2005-10-04 09:45:30 EDT
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.
Comment 9 Paul Slauenwhite CLA 2005-10-17 19:07:23 EDT
(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.  
Comment 10 Julien Canches CLA 2005-10-18 08:01:24 EDT
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.
Comment 11 Julien Canches CLA 2005-10-18 08:57:36 EDT
Changing status.
Comment 12 Paul Slauenwhite CLA 2005-10-23 12:46:59 EDT
(In reply to comment #10)

The workaround requires the following:

-DTPTP_TESTTOOLS_JUNIT_ADVANCED_EDITOR=true
Comment 13 Paul Slauenwhite CLA 2005-10-23 12:56:54 EDT
(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.
Comment 14 Paul Slauenwhite CLA 2005-10-23 13:20:48 EDT
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)
Comment 15 Paul Slauenwhite CLA 2005-10-23 13:21:25 EDT
Closing.
Comment 16 Paul Slauenwhite CLA 2005-10-23 14:02:00 EDT
(In reply to comment #14)

See https://bugs.eclipse.org/bugs/show_bug.cgi?id=113482.