Community
Participate
Working Groups
I was using the sync view and opening comparisons. closing from the editor tab after using the compare editor frequently generated this: eclipse.buildId=I20090114-1322 java.fullversion=J2RE 1.5.0 IBM J9 2.3 Linux x86-32 j9vmxi3223-20080315 (JIT enabled) J9VM - 20080314_17962_lHdSMr JIT - 20080130_0718ifx2_r8 GC - 200802_08 BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_US Command-line arguments: -os linux -ws gtk -arch x86 -data /opt/pwebster/workspaces/build350 Error Sun Jan 18 13:19:33 EST 2009 An unexpected exception was thrown. java.lang.IllegalArgumentException at org.eclipse.core.runtime.ListenerList.remove(ListenerList.java:155) at org.eclipse.team.ui.mapping.SaveableComparison.removePropertyListener(SaveableComparison.java:80) at org.eclipse.team.ui.synchronize.SaveableCompareEditorInput.handleDispose(SaveableCompareEditorInput.java:217) at org.eclipse.team.internal.ui.mapping.ModelCompareEditorInput.handleDispose(ModelCompareEditorInput.java:83) at org.eclipse.compare.CompareEditorInput$4.widgetDisposed(CompareEditorInput.java:528) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:117) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1156) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1180) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1161) at org.eclipse.swt.widgets.Widget.release(Widget.java:1024) at org.eclipse.swt.widgets.Control.release(Control.java:3223) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1184) at org.eclipse.swt.widgets.Widget.release(Widget.java:1027) at org.eclipse.swt.widgets.Control.release(Control.java:3223) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1184) at org.eclipse.swt.widgets.Widget.release(Widget.java:1027) at org.eclipse.swt.widgets.Control.release(Control.java:3223) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:1184) at org.eclipse.swt.widgets.Widget.release(Widget.java:1027) at org.eclipse.swt.widgets.Control.release(Control.java:3223) at org.eclipse.swt.widgets.Widget.dispose(Widget.java:442) at org.eclipse.ui.internal.PartPane.dispose(PartPane.java:180) at org.eclipse.ui.internal.WorkbenchPartReference.dispose(WorkbenchPartReference.java:681) at org.eclipse.ui.internal.WorkbenchPage.disposePart(WorkbenchPage.java:1683) at org.eclipse.ui.internal.WorkbenchPage.handleDeferredEvents(WorkbenchPage.java:1390) at org.eclipse.ui.internal.WorkbenchPage.deferUpdates(WorkbenchPage.java:1374) at org.eclipse.ui.internal.WorkbenchPage.closeEditors(WorkbenchPage.java:1348) at org.eclipse.ui.internal.WorkbenchPage.closeEditor(WorkbenchPage.java:1403) at org.eclipse.ui.internal.EditorPane.doHide(EditorPane.java:61) at org.eclipse.ui.internal.PartStack.close(PartStack.java:543) at org.eclipse.ui.internal.EditorStack.close(EditorStack.java:206) at org.eclipse.ui.internal.PartStack$1.close(PartStack.java:122) at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:83) at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:267) at org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:276) at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1) at org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$1.closeButtonPressed(DefaultTabFolder.java:70) at org.eclipse.ui.internal.presentations.PaneFolder.notifyCloseListeners(PaneFolder.java:626) at org.eclipse.ui.internal.presentations.PaneFolder$3.close(PaneFolder.java:206) at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2188) at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:328) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1156) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3448) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3069) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2384) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2348) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2200) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:495) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:333) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:490) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) 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:366) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:550) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:505) at org.eclipse.equinox.launcher.Main.run(Main.java:1237)
Similar to bug 261143.
Also seeing this bug on AIX - running Eclipse 3.4.1: M20080911-1700
This message is also logged when this error occurs: Ignored attempt to add saveable that was already registered org.eclipse.core.runtime.AssertionFailedException: unknown saveable: org.eclipse.team.ui.synchronize.SaveableCompareEditorInput$InternalResourceSaveableComparison@47324732 from part: org.eclipse.compare.internal.CompareEditor@50985098 at org.eclipse.ui.internal.SaveablesList.logWarning(SaveablesList.java:187) at org.eclipse.ui.internal.SaveablesList.addModel(SaveablesList.java:117) at org.eclipse.ui.internal.SaveablesList.addModels(SaveablesList.java:289) at org.eclipse.ui.internal.SaveablesList.handleLifecycleEvent(SaveablesList.java:221) at org.eclipse.compare.internal.CompareEditor.registerSaveable(CompareEditor.java:288) at org.eclipse.compare.internal.CompareEditor.access$4(CompareEditor.java:286) at org.eclipse.compare.internal.CompareEditor$3.run(CompareEditor.java:340) at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:155) at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3118) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2816) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:173) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:382) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507) at org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog.run(ProgressMonitorJobsDialog.java:275) at org.eclipse.ui.internal.progress.ProgressManager$3.run(ProgressManager.java:977) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:1012) at org.eclipse.ui.internal.progress.ProgressManager.busyCursorWhile(ProgressManager.java:987) at org.eclipse.ui.internal.progress.ProgressManager.run(ProgressManager.java:1195) at org.eclipse.compare.internal.CompareContainer.run(CompareContainer.java:80) at org.eclipse.compare.CompareEditorInput.run(CompareEditorInput.java:1120) at org.eclipse.compare.internal.merge.DocumentMerger.doDiff(DocumentMerger.java:435) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.doDiff(TextMergeViewer.java:2754) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.update(TextMergeViewer.java:4426) at org.eclipse.compare.contentmergeviewer.TextMergeViewer.updateContent(TextMergeViewer.java:2361) at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.internalRefresh(ContentMergeViewer.java:715) at org.eclipse.compare.contentmergeviewer.ContentMergeViewer.inputChanged(ContentMergeViewer.java:615) at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:251) at org.eclipse.jdt.internal.ui.compare.JavaMergeViewer.setInput(JavaMergeViewer.java:135) at org.eclipse.compare.CompareViewerSwitchingPane.setInput(CompareViewerSwitchingPane.java:256) at org.eclipse.compare.CompareEditorInput.internalSetContentPaneInput(CompareEditorInput.java:791) at org.eclipse.compare.CompareEditorInput.access$7(CompareEditorInput.java:789) at org.eclipse.compare.CompareEditorInput$13.run(CompareEditorInput.java:729) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.compare.CompareEditorInput.feed1(CompareEditorInput.java:723) at org.eclipse.compare.CompareEditorInput.feedInput(CompareEditorInput.java:701) at org.eclipse.compare.CompareEditorInput.createContents(CompareEditorInput.java:524) at org.eclipse.compare.internal.CompareEditor.createCompareControl(CompareEditor.java:415) at org.eclipse.compare.internal.CompareEditor.access$6(CompareEditor.java:385) at org.eclipse.compare.internal.CompareEditor$4.run(CompareEditor.java:436) at org.eclipse.swt.widgets.Display.timerProc(Display.java:3665) at org.eclipse.swt.internal.motif.OS._XtAppProcessEvent(Native Method) at org.eclipse.swt.internal.motif.OS.XtAppProcessEvent(OS.java:3771) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2800) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193) 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:386) 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:45) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:599) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504) at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
We are on other issues right now. Will try to investigate ASAP.
Created attachment 131883 [details] Patch_v01 Patch that eliminates IllegalArgumentException being thrown. The exception is a result of SaveableCompareEditorInput.handleDispose() being called twice.
*** Bug 261143 has been marked as a duplicate of this bug. ***
Bug 272275 has been opened to add logs around the widget creation and disposal activities in compare.
Released to HEAD.
*** Bug 274823 has been marked as a duplicate of this bug. ***