Project: SWT
Bug 61316 SWT error occurred on Eclipse 200405060200
Reported: 2004-05-06 17:01:08 | Status: verified fixed

Eclipse 200405060200 CDT 200405052036 (=~ 200405060200 + integration patches) I can't reproduce this problem, but I was doing thing something like creating, editing, building, then deleting a file in CDT. Suddenly, I had an error dialog: "An SWT error has occurred. You are recommended to exit the workbench." Upon exit, my .log file contained: !MESSAGE Unhandled event loop exception !ENTRY org.eclipse.ui 4 0 May 06, 2004 14:00:03.359 !MESSAGE Item not removed !STACK 0 org.eclipse.swt.SWTError: Item not removed at org.eclipse.swt.SWT.error(SWT.java:2715) at org.eclipse.swt.SWT.error(SWT.java:2614) at org.eclipse.swt.SWT.error(SWT.java:2585) at org.eclipse.swt.widgets.Widget.error(Widget.java:381) at org.eclipse.swt.widgets.Menu.destroyItem(Menu.java:558) at org.eclipse.swt.widgets.MenuItem.releaseChild(MenuItem.java:435) at org.eclipse.swt.widgets.Widget.dispose(Widget.java:367) at org.eclipse.jface.action.MenuManager.update(MenuManager.java:570) at org.eclipse.jface.action.MenuManager.handleAboutToShow (MenuManager.java:371) at org.eclipse.jface.action.MenuManager.access$0(MenuManager.java:367) at org.eclipse.jface.action.MenuManager$2.menuShown (MenuManager.java:383) at org.eclipse.swt.widgets.TypedListener.handleEvent (TypedListener.java:116) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:82) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:796) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:820) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:801) at org.eclipse.swt.widgets.Control.WM_INITMENUPOPUP(Control.java:3301) at org.eclipse.swt.widgets.Control.windowProc(Control.java:2973) at org.eclipse.swt.widgets.Decorations.windowProc(Decorations.java:1449) at org.eclipse.swt.widgets.Display.windowProc(Display.java:3160) at org.eclipse.swt.internal.win32.OS.TrackPopupMenu(Native Method) at org.eclipse.swt.widgets.Menu._setVisible(Menu.java:222) at org.eclipse.swt.widgets.Display.runPopups(Display.java:2620) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2265) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1353) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1324) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:243) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:140) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:90) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:283) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:242) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:119) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:269) at org.eclipse.core.launcher.Main.run(Main.java:700) at org.eclipse.core.launcher.Main.main(Main.java:684) !ENTRY org.eclipse.core.runtime 4 2 May 06, 2004 14:00:35.421 !MESSAGE Problems occurred when invoking code from plug- in: "org.eclipse.core.runtime". !STACK 0 java.lang.NullPointerException at org.eclipse.swt.widgets.Menu.releaseWidget(Menu.java:1049) at org.eclipse.swt.widgets.Widget.dispose(Widget.java:368) at org.eclipse.swt.widgets.Decorations.releaseWidget (Decorations.java:693) at org.eclipse.swt.widgets.Shell.releaseWidget(Shell.java:785) at org.eclipse.swt.widgets.Widget.dispose(Widget.java:368) at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:371) at org.eclipse.swt.widgets.Shell.dispose(Shell.java:486) at org.eclipse.jface.window.Window.close(Window.java:253) at org.eclipse.jface.window.ApplicationWindow.close (ApplicationWindow.java:272) at org.eclipse.ui.internal.WorkbenchWindow.hardClose (WorkbenchWindow.java:1043) at org.eclipse.ui.internal.WorkbenchWindow.busyClose (WorkbenchWindow.java:483) at org.eclipse.ui.internal.WorkbenchWindow.access$0 (WorkbenchWindow.java:465) at org.eclipse.ui.internal.WorkbenchWindow$1.run (WorkbenchWindow.java:553) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:84) at org.eclipse.ui.internal.WorkbenchWindow.close (WorkbenchWindow.java:551) at org.eclipse.jface.window.WindowManager.close(WindowManager.java:101) at org.eclipse.ui.internal.Workbench$10.run(Workbench.java:450) at org.eclipse.core.internal.runtime.InternalPlatform.run (InternalPlatform.java:604) at org.eclipse.core.runtime.Platform.run(Platform.java:545) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:447) at org.eclipse.ui.internal.Workbench.access$8(Workbench.java:389) at org.eclipse.ui.internal.Workbench$12.run(Workbench.java:561) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:84) at org.eclipse.ui.internal.Workbench.close(Workbench.java:559) at org.eclipse.ui.internal.WorkbenchConfigurer.emergencyClose (WorkbenchConfigurer.java:150) at org.eclipse.ui.internal.ide.IDEExceptionHandler.closeWorkbench (IDEExceptionHandler.java:104) at org.eclipse.ui.internal.ide.IDEExceptionHandler.handleException (IDEExceptionHandler.java:84) at org.eclipse.ui.internal.ide.IDEWorkbenchAdvisor.eventLoopException (IDEWorkbenchAdvisor.java:241) at org.eclipse.ui.internal.ExceptionHandler.handleException (ExceptionHandler.java:53) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1357) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1324) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench (Workbench.java:243) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:140) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:90) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:283) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:242) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:119) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:269) at org.eclipse.core.launcher.Main.run(Main.java:700) at org.eclipse.core.launcher.Main.main(Main.java:684) !ENTRY org.eclipse.osgi May 06, 2004 14:00:35.656 !MESSAGE Application error !STACK 1 java.lang.NullPointerException at org.eclipse.swt.widgets.Menu.releaseWidget(Menu.java:1049) at org.eclipse.swt.widgets.Widget.dispose(Widget.java:368) at org.eclipse.swt.widgets.Decorations.releaseWidget (Decorations.java:693) at org.eclipse.swt.widgets.Shell.releaseWidget(Shell.java:785) at org.eclipse.swt.widgets.Widget.dispose(Widget.java:368) at org.eclipse.swt.widgets.Decorations.dispose(Decorations.java:371) at org.eclipse.swt.widgets.Shell.dispose(Shell.java:486) at org.eclipse.swt.widgets.Display.release(Display.java:2321) at org.eclipse.swt.graphics.Device.dispose(Device.java:227) at org.eclipse.ui.internal.ide.IDEApplication.run (IDEApplication.java:99) at org.eclipse.core.internal.runtime.PlatformActivator$1.run (PlatformActivator.java:283) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:242) at org.eclipse.core.runtime.adaptor.EclipseStarter.run (EclipseStarter.java:119) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.eclipse.core.launcher.Main.basicRun(Main.java:269) at org.eclipse.core.launcher.Main.run(Main.java:700) at org.eclipse.core.launcher.Main.main(Main.java:684)

Files changed in fix:
bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/MenuItem.java