Image handles and draw2d exception [message #64392] |
Wed, 12 February 2003 02:48  |
Eclipse User |
|
|
|
Hi
my application was built using the com.ibm.etools version of GEF and
draw2d, lately, i found out that when the graph tends to include a lot of
nodes and connections, sometimes i get the following exception:
org.eclipse.swt.SWTError: No more handles
at org.eclipse.swt.SWT.error(SWT.java:2144)
at org.eclipse.swt.graphics.Image.internal_new_GC(Image.java(Co mpiled
Code))
at org.eclipse.swt.graphics.Image.internal_new_GC(Image.java(Co mpiled
Code))
at org.eclipse.swt.graphics.GC.<init>(GC.java(Compiled Code))
at
com.ibm.etools.draw2d.BufferedGraphicsSource.getGraphics(Buf feredGraphicsSource.java(Compiled
Code))
at
com.ibm.etools.draw2d.DeferredUpdateManager.repairDamage(Def erredUpdateManager.java(Compiled
Code))
at
com.ibm.etools.draw2d.DeferredUpdateManager.performUpdate(De ferredUpdateManager.java(Compiled
Code))
at
com.ibm.etools.draw2d.DeferredUpdateManager$UpdateRequest.ru n(DeferredUpdateManager.java(Compiled
Code))
at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java(Compiled
Code))
at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java(Compiled
Code))
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java (Compiled
Code))
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java (Compiled
Code))
at org.eclipse.jface.window.Window.runEventLoop(Window.java(Com piled
Code))
at org.eclipse.jface.window.Window.open(Window.java:542)
at
org.eclipse.ui.internal.dialogs.InternalErrorDialog.open(Int ernalErrorDialog.java:65)
at
org.eclipse.ui.internal.dialogs.InternalErrorDialog.openQues tion(InternalErrorDialog.java:166)
at
org.eclipse.ui.internal.ExceptionHandler.openQuestionDialog( ExceptionHandler.java:187)
at
org.eclipse.ui.internal.ExceptionHandler.handleException(Exc eptionHandler.java:92)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a(Compiled
Code))
at org.eclipse.ui.internal.Workbench.run(Workbench.java:1326)
at
org.eclipse.core.internal.boot.InternalBootLoader.run(Intern alBootLoader.java:831)
at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
at java.lang.reflect.Method.invoke(Native Method)
at org.eclipse.core.launcher.Main.basicRun(Main.java:247)
at org.eclipse.core.launcher.Main.run(Main.java:703)
at org.eclipse.core.launcher.Main.main(Main.java:539)
i am using image registry to all the images in my application, if someone
has another idea how to reduce the number of OS handles, please let me know
thanks
yoav
|
|
|
|
Re: Image handles and draw2d exception [message #64557 is a reply to message #64509] |
Wed, 12 February 2003 10:38  |
Eclipse User |
|
|
|
Originally posted by: none.us.ibm.com
This stack trace is coming in through the repairDamage(..) method, not the
OverviewWindow. The fix in 2.0.1 was to do a tiled update of the Overview
window to avoid requiring a really large Image.
Most likely, you have a resource leak and have run out of OS handles for
Images. Draw2d needs to new an Image during paint, but it disposes it later.
There is an SWT utility to track down resource leaks. Check the SWT
homepage.
"Eric Bordeau" <ebordeau@us.ibm.com> wrote in message
news:b2dl62$sjr$1@rogue.oti.com...
> What version of the com.ibm.etools.gef plugin are you using? I believe
this was fixed for version
> 2.0.1 but definitely by 2.0.2. See
http://bugs.eclipse.org/bugs/show_bug.cgi?id=19803 for more info.
>
> Yoav Rubin wrote:
> > Hi
> > my application was built using the com.ibm.etools version of GEF and
> > draw2d, lately, i found out that when the graph tends to include a lot
of
> > nodes and connections, sometimes i get the following exception:
> > org.eclipse.swt.SWTError: No more handles
> > at org.eclipse.swt.SWT.error(SWT.java:2144)
> > at org.eclipse.swt.graphics.Image.internal_new_GC(Image.java(Co mpiled
> > Code))
> > at org.eclipse.swt.graphics.Image.internal_new_GC(Image.java(Co mpiled
> > Code))
> > at org.eclipse.swt.graphics.GC.<init>(GC.java(Compiled Code))
> > at
> >
com.ibm.etools.draw2d.BufferedGraphicsSource.getGraphics(Buf feredGraphicsSou
rce.java(Compiled
> > Code))
> > at
> >
com.ibm.etools.draw2d.DeferredUpdateManager.repairDamage(Def erredUpdateManag
er.java(Compiled
> > Code))
> > at
> >
com.ibm.etools.draw2d.DeferredUpdateManager.performUpdate(De ferredUpdateMana
ger.java(Compiled
> > Code))
> > at
> >
com.ibm.etools.draw2d.DeferredUpdateManager$UpdateRequest.ru n(DeferredUpdate
Manager.java(Compiled
> > Code))
> > at
> >
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java(Comp
iled
> > Code))
> > at
> >
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchr onizer.java(Comp
iled
> > Code))
> > at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java (Compiled
> > Code))
> > at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java (Compiled
> > Code))
> > at org.eclipse.jface.window.Window.runEventLoop(Window.java(Com piled
> > Code))
> > at org.eclipse.jface.window.Window.open(Window.java:542)
> > at
> >
org.eclipse.ui.internal.dialogs.InternalErrorDialog.open(Int ernalErrorDialog
..java:65)
> > at
> >
org.eclipse.ui.internal.dialogs.InternalErrorDialog.openQues tion(InternalErr
orDialog.java:166)
> > at
> >
org.eclipse.ui.internal.ExceptionHandler.openQuestionDialog( ExceptionHandler
..java:187)
> > at
> >
org.eclipse.ui.internal.ExceptionHandler.handleException(Exc eptionHandler.ja
va:92)
> > at
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a(Compiled
> > Code))
> > at org.eclipse.ui.internal.Workbench.run(Workbench.java:1326)
> > at
> >
org.eclipse.core.internal.boot.InternalBootLoader.run(Intern alBootLoader.jav
a:831)
> > at org.eclipse.core.boot.BootLoader.run(BootLoader.java:462)
> > at java.lang.reflect.Method.invoke(Native Method)
> > at org.eclipse.core.launcher.Main.basicRun(Main.java:247)
> > at org.eclipse.core.launcher.Main.run(Main.java:703)
> > at org.eclipse.core.launcher.Main.main(Main.java:539)
> > i am using image registry to all the images in my application, if
someone
> > has another idea how to reduce the number of OS handles, please let me
know
> > thanks
> > yoav
> >
>
|
|
|
Powered by
FUDForum. Page generated in 0.05327 seconds