Community
Participate
Working Groups
MA (6/7/01 12:21:50 PM) While closing the workbench This walkback was printed to the console on shutdown of eclipse (not to the log) org.eclipse.swt.SWTError: No more handles at org.eclipse.swt.SWT.error(SWT.java:1732) at org.eclipse.swt.SWT.error(SWT.java:1642) 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(Compiled Code)) at org.eclipse.ui.actions.PerspectiveMenu.createMenuItem(PerspectiveMenu.java(Compiled Code)) at org.eclipse.ui.actions.PerspectiveMenu.fill(PerspectiveMenu.java(Compiled Code)) at org.eclipse.jface.action.MenuManager.update(MenuManager.java(Compiled Code)) at org.eclipse.jface.action.MenuManager.updateAll(MenuManager.java(Compiled Code)) at org.eclipse.jface.action.MenuManager.update(MenuManager.java(Compiled Code)) at org.eclipse.jface.action.MenuManager.updateAll(MenuManager.java(Compiled Code)) at org.eclipse.jface.action.MenuManager.update(MenuManager.java(Compiled Code)) at org.eclipse.jface.action.MenuManager.updateAll(MenuManager.java(Compiled Code)) at org.eclipse.ui.internal.WorkbenchWindow.updateActionBars(WorkbenchWindow.java:939) at org.eclipse.ui.internal.WorkbenchWindow.updateActionSets(WorkbenchWindow.java:953) at org.eclipse.ui.internal.WorkbenchWindow$5.run(WorkbenchWindow.java:881) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java(Compiled Code)) at org.eclipse.ui.internal.WorkbenchWindow.setActivePage(WorkbenchWindow.java:860) at org.eclipse.ui.internal.WorkbenchWindow.closeAllPages(WorkbenchWindow.java:303) at org.eclipse.ui.internal.WorkbenchWindow.hardClose(WorkbenchWindow.java:608) at org.eclipse.ui.internal.WorkbenchWindow.busyClose(WorkbenchWindow.java:261) at org.eclipse.ui.internal.WorkbenchWindow.access$3(WorkbenchWindow.java:252) at org.eclipse.ui.internal.WorkbenchWindow$1.run(WorkbenchWindow.java:292) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java(Compiled Code)) at org.eclipse.ui.internal.WorkbenchWindow.close(WorkbenchWindow.java:290) at org.eclipse.jface.window.WindowManager.close(WindowManager.java:103) at org.eclipse.ui.internal.Workbench$2.run(Workbench.java:99) at org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java(Compiled Code)) at org.eclipse.core.runtime.Platform.run(Platform.java(Compiled Code)) at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:97) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:75) at org.eclipse.ui.internal.Workbench$3.run(Workbench.java:156) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java(Compiled Code)) at org.eclipse.ui.internal.Workbench.close(Workbench.java:154) at org.eclipse.ui.internal.QuitAction.run(QuitAction.java:30) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:408) at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent(ActionContributionItem.java(Compiled Code)) at org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent(ActionContributionItem.java(Compiled Code)) at org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent(ActionContributionItem.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java(Compiled Code)) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java(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.run(Workbench.java:620) at org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.java:815) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:285) at java.lang.reflect.Method.invoke(Native Method) at org.eclipse.core.launcher.Main.basicRun(Main.java:69) at org.eclipse.core.launcher.Main.run(Main.java:311) at org.eclipse.core.launcher.UIMain.main(UIMain.java:43) NOTES: EG (6/7/2001 1:11:44 AM) moving on layer down to ITPUI. DS (6/7/01 3:30:10 PM) We print exceptions in 5 places in the workbench ui .. execute(IProgressMonitor) :: WorkspaceModifyDelegatingOperation handleExceptionInEventLoop(Throwable) :: Workbench ( only if debug ) init(String []) :: Workbench javaToNative(Object, TransferData) :: PluginTransfer nativeToJava(TransferData) :: PluginTransfer and 3 places in core boot .. DelegatingURLClassLoader loadOptions() :: InternalBootLoader run(String, URL, String, String []) :: InternalBootLoader After we release all of these should be modified to log rather than print. KH (9/14/2001 12:04:58 PM) I am more concerned about the fact that there was an exception not where it was logged.
PRODUCT VERSION: 0.119
Pls note the priority of this defect report There are a couple issues: - Where exeptions are being displayed - What is written to the log (e.g. exceptions in async execs do not contain any usefull information) - The fact that we ran out of handles
- handleExceptionInEventLoop has being changed to try to log any exception independent if it is a fatal error or not but if exception happen when handling fatal errors then we print them to the console (nothing else to do since there is no more memory or handles, etc). - exception wrapped by SWTException or SWTError are printed now; - we are not updating the menus (which would create images) on shutdown anymore.