Project: Eclipse_Platform_UI
Bug 81001 [PresentationAPI] Internal errors when shutting down Eclipse
Reported: 2004-12-14 15:57:01 | Status: resolved fixed

Version: 3.1.0 Build id: 200412140800 When I shut down Eclipse I got the "Internal errors occurred..." message before the application quit. When the workbench was already shut down, a tiny dialog came up informing me about internal errors and saying I should check the log. Before, I was testing keybindings and CVS functionality in Eclipse. I couldn't reproduce it on an empty workspace, but after it had occurred for the first time it happened always for that specific workspace. Here's the entry: !ENTRY org.eclipse.core.runtime 4 2 2004-12-14 15:37:06.15 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.runtime". !STACK 0 org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(SWT.java:2827) at org.eclipse.swt.SWT.error(SWT.java:2752) at org.eclipse.swt.SWT.error(SWT.java:2723) at org.eclipse.swt.widgets.Widget.error(Widget.java:388) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:290) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1983) at org.eclipse.ui.internal.LayoutPart.setBounds(LayoutPart.java:319) at org.eclipse.ui.internal.presentations.PresentablePart.setBounds(PresentablePart.java:116) at org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder.layoutContent(PresentablePartFolder.java:131) at org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder.access$0(PresentablePartFolder.java:127) at org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder$1.controlMoved(PresentablePartFolder.java:57) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:152) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:833) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:857) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:838) at org.eclipse.swt.widgets.Control.WM_MOVE(Control.java:3511) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3058) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3370) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1565) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:77) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3097) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3370) at org.eclipse.swt.internal.win32.OS.EndDeferWindowPos(Native Method) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:647) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:613) at org.eclipse.swt.widgets.Composite.setResizeChildren(Composite.java:745) at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:826) at org.eclipse.swt.widgets.Composite.layout(Composite.java:487) at org.eclipse.swt.widgets.Composite.layout(Composite.java:452) at org.eclipse.swt.custom.ViewForm.setTopRight(ViewForm.java:424) at org.eclipse.ui.internal.presentations.PaneFolder.setTopRight(PaneFolder.java:334) at org.eclipse.ui.internal.presentations.PaneFolder$2.widgetDisposed(PaneFolder.java:142) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:100) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:833) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:857) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:838) at org.eclipse.swt.widgets.Widget.releaseWidget(Widget.java:745) at org.eclipse.swt.widgets.Control.releaseWidget(Control.java:1565) at org.eclipse.swt.widgets.Scrollable.releaseWidget(Scrollable.java:195) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java:588) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java:710) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:582) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java:587) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java:710) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:582) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java:587) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java:710) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:582) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java:587) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java:710) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:582) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java:587) at org.eclipse.swt.widgets.Canvas.releaseWidget(Canvas.java:118) at org.eclipse.swt.widgets.Decorations.releaseWidget(Decorations.java:704) at org.eclipse.swt.widgets.Shell.releaseWidget(Shell.java:856) at org.eclipse.swt.widgets.Widget.dispose(Widget.java:375) at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:363) at org.eclipse.swt.widgets.Shell.dispose(Shell.java:488) at org.eclipse.jface.window.Window.close(Window.java:278) at org.eclipse.jface.window.ApplicationWindow.close(ApplicationWindow.java:291) at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:1237) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:533) at org.eclipse.ui.internal.WorkbenchWindow.access$0(WorkbenchWindow.java:514) at org.eclipse.ui.internal.WorkbenchWindow$1.run(WorkbenchWindow.java:612) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:610) at org.eclipse.jface.window.WindowManager.close(WindowManager.java:108) at org.eclipse.ui.internal.Workbench$12.run(Workbench.java:505) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:1044) at org.eclipse.core.runtime.Platform.run(Platform.java:747) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:501) at org.eclipse.ui.internal.Workbench.access$8(Workbench.java:436) at org.eclipse.ui.internal.Workbench$14.run(Workbench.java:623) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69) at org.eclipse.ui.internal.Workbench.close(Workbench.java:621) at org.eclipse.ui.internal.Workbench.close(Workbench.java:596) at org.eclipse.ui.internal.QuitAction.run(QuitAction.java:55) at org.eclipse.jface.action.Action.runWithEvent(Action.java:989) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:555) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:505) at org.eclipse.jface.action.ActionContributionItem$6.handleEvent(ActionContributionItem.java:419) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:833) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:2803) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2448) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1569) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1540) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:285) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:144) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:102) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:220) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129) 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.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:710) at org.eclipse.core.launcher.Main.main(Main.java:694) !ENTRY org.eclipse.osgi 2004-12-14 15:37:11.468 !MESSAGE Application error !STACK 1 org.eclipse.swt.SWTException: Widget is disposed at org.eclipse.swt.SWT.error(SWT.java:2827) at org.eclipse.swt.SWT.error(SWT.java:2752) at org.eclipse.swt.SWT.error(SWT.java:2723) at org.eclipse.swt.widgets.Widget.error(Widget.java:388) at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:290) at org.eclipse.swt.widgets.Control.setBounds(Control.java:1983) at org.eclipse.ui.internal.LayoutPart.setBounds(LayoutPart.java:319) at org.eclipse.ui.internal.presentations.PresentablePart.setBounds(PresentablePart.java:116) at org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder.layoutContent(PresentablePartFolder.java:131) at org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder.access$0(PresentablePartFolder.java:127) at org.eclipse.ui.internal.presentations.newapi.PresentablePartFolder$1.controlMoved(PresentablePartFolder.java:57) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:152) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:833) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:857) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:838) at org.eclipse.swt.widgets.Control.WM_MOVE(Control.java:3511) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3058) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3370) at org.eclipse.swt.internal.win32.OS.DefWindowProcW(Native Method) at org.eclipse.swt.internal.win32.OS.DefWindowProc(OS.java:1565) at org.eclipse.swt.widgets.Scrollable.callWindowProc(Scrollable.java:77) at org.eclipse.swt.widgets.Control.windowProc(Control.java:3097) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3370) at org.eclipse.swt.internal.win32.OS.EndDeferWindowPos(Native Method) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:647) at org.eclipse.swt.widgets.Composite.resizeChildren(Composite.java:613) at org.eclipse.swt.widgets.Composite.setResizeChildren(Composite.java:745) at org.eclipse.swt.widgets.Composite.updateLayout(Composite.java:826) at org.eclipse.swt.widgets.Composite.layout(Composite.java:487) at org.eclipse.swt.widgets.Composite.layout(Composite.java:452) at org.eclipse.swt.custom.ViewForm.setTopLeft(ViewForm.java:398) at org.eclipse.ui.internal.presentations.PaneFolder.setTopLeft(PaneFolder.java:359) at org.eclipse.ui.internal.presentations.PaneFolder$2.widgetDisposed(PaneFolder.java:138) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:100) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:833) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:857) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:838) at org.eclipse.swt.widgets.Widget.releaseWidget(Widget.java:745) at org.eclipse.swt.widgets.Control.releaseWidget(Control.java:1565) at org.eclipse.swt.widgets.Label.releaseWidget(Label.java:271) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java:710) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:582) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java:587) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java:710) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:582) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java:587) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java:710) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:582) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java:587) at org.eclipse.swt.widgets.Widget.releaseResources(Widget.java:710) at org.eclipse.swt.widgets.Composite.releaseChildren(Composite.java:582) at org.eclipse.swt.widgets.Composite.releaseWidget(Composite.java:587) at org.eclipse.swt.widgets.Canvas.releaseWidget(Canvas.java:118) at org.eclipse.swt.widgets.Decorations.releaseWidget(Decorations.java:704) at org.eclipse.swt.widgets.Shell.releaseWidget(Shell.java:856) at org.eclipse.swt.widgets.Widget.dispose(Widget.java:375) at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:363) at org.eclipse.swt.widgets.Shell.dispose(Shell.java:488) at org.eclipse.swt.widgets.Display.release(Display.java:2496) at org.eclipse.swt.graphics.Device.dispose(Device.java:215) at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:117) at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:220) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:273) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:129) 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.basicRun(Main.java:185) at org.eclipse.core.launcher.Main.run(Main.java:710) at org.eclipse.core.launcher.Main.main(Main.java:694)

Files changed in fix:
bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/LayoutPart.java bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/presentations/PresentablePart.java