Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-swt-dev] "No more handles" Error

Cache any images you create in the label provider, and dispose them in its 
dispose() method.




"Xaviour, Joseph (Research, Consultant)" <joseph.xaviour@xxxxxx> 
Sent by: platform-swt-dev-admin@xxxxxxxxxxx
11/05/2004 12:49 AM
Please respond to
platform-swt-dev


To
<platform-swt-dev@xxxxxxxxxxx>
cc

Subject
[platform-swt-dev] "No more handles" Error






Hi,

I developed a Plugin Editor for XML. I used TreeViewer to represent XML 
nodes in the Editor. Plugin works fine for most of the cases. But it gives 
problem when the size of number of nodes is high (XML file is too big). 
The Eclipse itself getting closed by throwing an Error (given below) while 
opening such big XML files.

org.eclipse.swt.SWTError: No more handles
                 at org.eclipse.swt.SWT.error(SWT.java:2717)
                 at org.eclipse.swt.SWT.error(SWT.java:2616)
                 at org.eclipse.swt.SWT.error(SWT.java:2587)
                 at org.eclipse.swt.graphics.Image.init(Image.java:1547)
                 at org.eclipse.swt.graphics.Image.init(Image.java:1693)
                 at org.eclipse.swt.graphics.Image.<init>(Image.java:555)
                 at 
com.self.casper.eclipse.gui.editors.cc.CCEditorLabelProvider.getImage(CCEditorLabelProvider.java:114)
                 at 
org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:117)
                 at 
org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:83)
                 at 
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:615)
                 at 
org.eclipse.core.runtime.Platform.run(Platform.java:747)
                 at 
org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:464)
                 at 
org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:128)
                 at 
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:615)
                 at 
org.eclipse.core.runtime.Platform.run(Platform.java:747)
                 at 
org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:1374)
                 at 
org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:381)
                 at 
org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:361)
                 at 
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
                 at 
org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:342)
                 at 
org.eclipse.jface.viewers.AbstractTreeViewer.setExpandedState(AbstractTreeViewer.java:1334)
                 at 
com.self.casper.eclipse.gui.editors.cc.CCEditorContentProvider.expandUpTo(CCEditorContentProvider.java:554)
                 at 
com.self.casper.eclipse.gui.editors.cc.CCEditorContentProvider.expandMinimum(CCEditorContentProvider.java:564)
                 at 
com.self.casper.eclipse.gui.editors.cc.CCEditor.editorInit(CCEditor.java:167)
                 at 
com.self.casper.eclipse.gui.editors.cc.CCEditor.createPages(CCEditor.java:106)
                 at 
org.eclipse.ui.part.MultiPageEditorPart.createPartControl(MultiPageEditorPart.java:187)
                 at 
org.eclipse.ui.internal.PartPane$2.run(PartPane.java:137)
                 at 
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:615)
                 at 
org.eclipse.core.runtime.Platform.run(Platform.java:747)
                 at 
org.eclipse.ui.internal.PartPane.createChildControl(PartPane.java:133)
                 at 
org.eclipse.ui.internal.PartPane.createControl(PartPane.java:205)
                 at 
org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:939)
                 at 
org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:921)
                 at 
org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1020)
                 at 
org.eclipse.ui.internal.PartStack.add(PartStack.java:290)
                 at 
org.eclipse.ui.internal.EditorStack.add(EditorStack.java:110)
                 at 
org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:59)
                 at 
org.eclipse.ui.internal.EditorAreaHelper.openEditor(EditorAreaHelper.java:266)
                 at 
org.eclipse.ui.internal.EditorManager$4.run(EditorManager.java:697)
                 at 
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
                 at 
org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:686)
                 at 
org.eclipse.ui.internal.EditorManager.openInternalEditor(EditorManager.java:782)
                 at 
org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:585)
                 at 
org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:573)
                 at 
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2201)
                 at 
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2134)
                 at 
org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage.java:2126)
                 at 
org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2113)
                 at 
org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
                 at 
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2108)
                 at org.eclipse.ui.ide.IDE.openEditor(IDE.java:299)
                 at 
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:137)
                 at 
org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:110)
                 at 
org.eclipse.jdt.internal.ui.actions.OpenActionUtil.open(OpenActionUtil.java:49)
                 at 
org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:164)
                 at 
org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:150)
                 at 
org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:212)
                 at 
org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:188)
                 at 
org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:289)
                 at 
org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open(PackageExplorerPart.java:490)
                 at 
org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:429)
                 at 
org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.java:615)
                 at 
org.eclipse.core.runtime.Platform.run(Platform.java:747)
                 at 
org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:427)
                 at 
org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:635)
                 at 
org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:731)
                 at 
org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:211)
                 at 
org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:206)
                 at 
org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:238)
                 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.Display.runDeferredEvents(Display.java:2772)
                 at 
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2431)
                 at 
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1377)
                 at 
org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1348)
                 at 
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:254)
                 at 
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:141)
                 at 
org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:96)
                 at 
org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:335)
                 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(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:183)
                 at org.eclipse.core.launcher.Main.run(Main.java:644)
                 at org.eclipse.core.launcher.Main.main(Main.java:628)

Now I have 3 questions...

1. How do we come out of this error ?. Is there a solution ?.
2. Is this a System resource issue OR a technical issue ?.
3. How do we stop Eclipse from closing unexpectedly whenever such Error 
occured ?.

Thanks in Advance.


_______________________________________________
platform-swt-dev mailing list
platform-swt-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-swt-dev




Back to the top