Error [message #163196] |
Tue, 04 January 2005 22:52  |
Eclipse User |
|
|
|
Originally posted by: pankajsanghi.hotmail.com
hi everybody,
We have developed a which extends the functionality of GEF Logic Example
so as to support data storate and retrieval in the model classes. We are
doing this retrieval and storage of data in model classes through jface
dialogs which contains SWT widgets. As of now, we run this plugin as
'Runtime Workbench'.
While the application is running perfectly, sometime it throws the
exception as given below and my whole run time workbench window gets
closed. I am giving the exception trace as below. To my surprise this
exception trace nowhere mentions the name of my classes. Exception is
thrown under three categories as
1. org.eclipse.swt.SWTError: No more handles
2. Dialog open exception:org.eclipse.swt.SWTError: No more handles
3. Fatal error happened during workbench emergency close.
org.eclipse.swt.SWTError: No more handles
Can you please help me with the possible cause of this error and how I can
handle it without knowing the class where it is generated. Should I use
try catch block to handle it??
Please help me in resolving the problem??
I had posted a similar query on SWT forum also and got a reply that this
error occurs when platform does not support a particular component. Which
component may be unsupported on this platform?? Other than GEF Logic
Example's components my plugin uses jdom and oracle parser also.
regards
Pankaj Sanghi
org.eclipse.swt.SWTError: No more handles
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.graphics.Image.internal_new_GC(Image.java:17 23)
at org.eclipse.swt.graphics.GC.<init>(GC.java:120)
at org.eclipse.swt.graphics.GC.<init>(GC.java:87)
at
org.eclipse.draw2d.BufferedGraphicsSource.getGraphics(Buffer edGraphicsSource.java:76)
at
org.eclipse.draw2d.DeferredUpdateManager.getGraphics(Deferre dUpdateManager.java:108)
at
org.eclipse.draw2d.DeferredUpdateManager.repairDamage(Deferr edUpdateManager.java:194)
at
org.eclipse.draw2d.DeferredUpdateManager.performUpdate(Defer redUpdateManager.java:134)
at
org.eclipse.draw2d.DeferredUpdateManager.performUpdate(Defer redUpdateManager.java:118)
at org.eclipse.draw2d.LightweightSystem.paint(LightweightSystem .java:211)
at
org.eclipse.draw2d.LightweightSystem$4.handleEvent(Lightweig htSystem.java:115)
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:805)
at org.eclipse.swt.widgets.Composite.WM_PAINT(Composite.java:80 3)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:3001 )
at org.eclipse.swt.widgets.Display.windowProc(Display.java:3282 )
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:14 75)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :2380)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1363)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1334)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:253)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:141)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:97)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:307)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:256)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:127)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:638)
at org.eclipse.core.launcher.Main.main(Main.java:622)
Dialog open exception:
org.eclipse.swt.SWTError: No more handles
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.graphics.Image.init(Image.java:1564)
at org.eclipse.swt.graphics.Image.init(Image.java:1689)
at org.eclipse.swt.graphics.Image.<init>(Image.java:628)
at org.eclipse.swt.widgets.Decorations.setImages(Decorations.ja va:878)
at org.eclipse.swt.widgets.Decorations.setImages(Decorations.ja va:947)
at org.eclipse.jface.window.Window.configureShell(Window.java:2 91)
at
org.eclipse.jface.dialogs.MessageDialog.configureShell(Messa geDialog.java:159)
at org.eclipse.jface.window.Window.createShell(Window.java:408)
at org.eclipse.jface.window.Window.create(Window.java:347)
at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:924)
at
org.eclipse.ui.internal.ide.dialogs.InternalErrorDialog.open (InternalErrorDialog.java:67)
at
org.eclipse.ui.internal.ide.dialogs.InternalErrorDialog.open Question(InternalErrorDialog.java:173)
at
org.eclipse.ui.internal.ide.IDEExceptionHandler.openQuestion Dialog(IDEExceptionHandler.java:151)
at
org.eclipse.ui.internal.ide.IDEExceptionHandler.handleExcept ion(IDEExceptionHandler.java:83)
at
org.eclipse.ui.internal.ide.IDEWorkbenchAdvisor.eventLoopExc eption(IDEWorkbenchAdvisor.java:241)
at
org.eclipse.ui.internal.ExceptionHandler.handleException(Exc eptionHandler.java:62)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1367)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1334)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:253)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:141)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:97)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:307)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:256)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:127)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:638)
at org.eclipse.core.launcher.Main.main(Main.java:622)
Fatal error happened during workbench emergency close.
org.eclipse.swt.SWTError: No more handles
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.graphics.Image.<init>(Image.java:279)
at org.eclipse.swt.widgets.ToolItem.createDisabledImage(ToolIte m.java:195)
at org.eclipse.swt.widgets.ToolItem.updateImages(ToolItem.java: 794)
at org.eclipse.swt.widgets.ToolItem.setEnabled(ToolItem.java:55 6)
at
org.eclipse.jface.action.StatusLine.setCancelEnabled(StatusL ine.java:386)
at
org.eclipse.jface.action.StatusLineManager.setCancelEnabled( StatusLineManager.java:228)
at
org.eclipse.jface.window.ApplicationWindow.run(ApplicationWi ndow.java:609)
at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow. java:1588)
at
org.eclipse.ui.internal.EditorManager.runProgressMonitorOper ation(EditorManager.java:845)
at org.eclipse.ui.internal.EditorManager.saveAll(EditorManager. java:947)
at org.eclipse.ui.internal.Workbench$11.run(Workbench.java:508)
at
org.eclipse.core.internal.runtime.InternalPlatform.run(Inter nalPlatform.java:608)
at org.eclipse.core.runtime.Platform.run(Platform.java:758)
at org.eclipse.ui.internal.Workbench.saveAllEditors(Workbench.j ava:482)
at org.eclipse.ui.internal.Workbench.busyClose(Workbench.java:4 08)
at org.eclipse.ui.internal.Workbench.access$8(Workbench.java:39 9)
at org.eclipse.ui.internal.Workbench$12.run(Workbench.java:571)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:69)
at org.eclipse.ui.internal.Workbench.close(Workbench.java:569)
at
org.eclipse.ui.internal.WorkbenchConfigurer.emergencyClose(W orkbenchConfigurer.java:150)
at
org.eclipse.ui.internal.ide.IDEExceptionHandler.closeWorkben ch(IDEExceptionHandler.java:104)
at
org.eclipse.ui.internal.ide.IDEExceptionHandler.handleExcept ion(IDEExceptionHandler.java:84)
at
org.eclipse.ui.internal.ide.IDEWorkbenchAdvisor.eventLoopExc eption(IDEWorkbenchAdvisor.java:241)
at
org.eclipse.ui.internal.ExceptionHandler.handleException(Exc eptionHandler.java:62)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:1367)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1334)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:253)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:141)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplicatio n.java:97)
at
org.eclipse.core.internal.runtime.PlatformActivator$1.run(Pl atformActivator.java:307)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:256)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:127)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.core.launcher.Main.basicRun(Main.java:185)
at org.eclipse.core.launcher.Main.run(Main.java:638)
at org.eclipse.core.launcher.Main.main(Main.java:622)
|
|
|
|
|
|
|
|
|
|
Re: Error [message #163597 is a reply to message #163564] |
Tue, 11 January 2005 10:54  |
Eclipse User |
|
|
|
Originally posted by: none.us.ibm.com
See the SWT articles on resource management.
> What is resource leak and what can be the reason for this. Is it something
> related to memory shortage. How can I deal with it.
>
> My plgin is a extension of GEF Logic example with the same drag and drop
> facility with some new components. Every time I drag and drop a component,
> i paint the component on the canvas and loads its image. So if there are
> lot many components on the canvas, there are many Image objects in the
> memory. Can this be the reason for failure in creation of images at
> certain point of time.
If you load an Image for each paint, and don't dispose it, this is bad. If
you do dispose it, it's just inefficient code. You might use a resource
cache if you have performance problems.
> If it is related to memory problem, can it be solved by disposing off the
> image object after the component is painted on the canvas. Please help me
> resolve this issue.
>
> thanks and regards
>
> Pankaj Sanghi
>
>
> Randy Hudson wrote:
>
> > You have a resource leak outside of GEF. Look at the original post.
There
> > are several stack traces showing Images failing to be created.
>
>
|
|
|
Powered by
FUDForum. Page generated in 0.04192 seconds