Skip to main content



      Home
Home » Modeling » GMF (Graphical Modeling Framework) » Problems displaying diagrams with >= 2^12 elements
Problems displaying diagrams with >= 2^12 elements [message #129872] Fri, 25 May 2007 05:16
Eclipse UserFriend
I get an "SWTError: No more handles" when trying to display >=2^12
elements in a GMF-generated diagram. I thought this problem could never
occur because of using Draw2D figures for visualization of diagram
elements (so instead i would expect a "out of memory" exception..).

Stack trace:

org.eclipse.swt.SWTError: No more handles
at org.eclipse.swt.SWT.error(SWT.java:3400)
at org.eclipse.swt.SWT.error(SWT.java:3297)
at org.eclipse.swt.SWT.error(SWT.java:3268)
at org.eclipse.swt.graphics.Cursor.<init>(Cursor.java:296)
at
org.eclipse.gmf.runtime.gef.ui.internal.l10n.Cursors.<clinit >(Cursors.java:38)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditP art$6.run(ConnectionEditPart.java:1085)
at
org.eclipse.gmf.runtime.diagram.ui.util.EditPartUtil.synchro nizeRunnableToMainThread(EditPartUtil.java:111)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditP art.installBendpointEditPolicy(ConnectionEditPart.java:1077)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditP art.createDefaultEditPolicies(ConnectionEditPart.java:317)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeE ditPart.createDefaultEditPolicies(ConnectionNodeEditPart.jav a:69)
at
EUML.diagram.edit.parts.UMLDirectedRelationshipEditPart.crea teDefaultEditPolicies(UMLDirectedRelationshipEditPart.java:3 2)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditP art.createEditPolicies(ConnectionEditPart.java:299)
at
org.eclipse.gef.editparts.AbstractEditPart.addNotify(Abstrac tEditPart.java:230)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addNotif y(AbstractGraphicalEditPart.java:212)
at
org.eclipse.gef.editparts.AbstractConnectionEditPart.addNoti fy(AbstractConnectionEditPart.java:103)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionEditP art.addNotify(ConnectionEditPart.java:916)
at
org.eclipse.gef.editparts.AbstractConnectionEditPart.setPare nt(AbstractConnectionEditPart.java:261)
at
org.eclipse.gef.editparts.AbstractConnectionEditPart.setSour ce(AbstractConnectionEditPart.java:274)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.addSourc eConnection(AbstractGraphicalEditPart.java:240)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.refreshS ourceConnections(AbstractGraphicalEditPart.java:602)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPa rt.handleNotificationEvent(ShapeNodeEditPart.java:221)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.notifyChanged(GraphicalEditPart.java:1358)
at
org.eclipse.gmf.runtime.diagram.core.listener.DiagramEventBr oker.fireNotification(DiagramEventBroker.java:442)
at
org.eclipse.gmf.runtime.diagram.core.listener.DiagramEventBr oker.resourceSetChanged(DiagramEventBroker.java:365)
at
org.eclipse.gmf.runtime.diagram.ui.internal.DiagramEventBrok erThreadSafe.resourceSetChanged(DiagramEventBrokerThreadSafe .java:72)
at
org.eclipse.gmf.runtime.diagram.core.DiagramEditingDomainFac tory$DiagramEditingDomain.postcommit(DiagramEditingDomainFac tory.java:213)
at
org.eclipse.emf.transaction.impl.TransactionalEditingDomainI mpl.deactivate(TransactionalEditingDomainImpl.java:471)
at
org.eclipse.emf.transaction.impl.TransactionImpl.close(Trans actionImpl.java:524)
at
org.eclipse.emf.transaction.impl.TransactionImpl.commit(Tran sactionImpl.java:365)
at
org.eclipse.emf.workspace.AbstractEMFOperation.execute(Abstr actEMFOperation.java:133)
at
org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEdi tPolicy.executeCommand(CanonicalEditPolicy.java:508)
at
EUML.diagram.edit.policies.UMLPackageCanonicalEditPolicy.cre ateConnections(UMLPackageCanonicalEditPolicy.java:239)
at
EUML.diagram.edit.policies.UMLPackageCanonicalEditPolicy.ref reshConnections(UMLPackageCanonicalEditPolicy.java:183)
at
EUML.diagram.edit.policies.UMLPackageCanonicalEditPolicy.ref reshSemantic(UMLPackageCanonicalEditPolicy.java:136)
at
org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEdi tPolicy.refresh(CanonicalEditPolicy.java:935)
at
org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalCon nectionEditPolicy.refreshOnActivate(CanonicalConnectionEditP olicy.java:106)
at
org.eclipse.gmf.runtime.diagram.ui.editpolicies.CanonicalEdi tPolicy.activate(CanonicalEditPolicy.java:647)
at
org.eclipse.gef.editparts.AbstractEditPart.activateEditPolic ies(AbstractEditPart.java:165)
at
org.eclipse.gef.editparts.AbstractEditPart.activate(Abstract EditPart.java:148)
at
org.eclipse.gef.editparts.AbstractGraphicalEditPart.activate (AbstractGraphicalEditPart.java:186)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.access$0(GraphicalEditPart.java:1)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPa rt.activate(GraphicalEditPart.java:184)
at
org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart .activate(DiagramEditPart.java:378)
at
org.eclipse.gef.editparts.AbstractEditPart.addChild(Abstract EditPart.java:201)
at
org.eclipse.gef.editparts.SimpleRootEditPart.setContents(Sim pleRootEditPart.java:101)
at
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:583)
at
org.eclipse.gef.ui.parts.AbstractEditPartViewer.setContents( AbstractEditPartViewer.java:592)
at
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewerContents(DiagramEditor.java:854)
at
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.initi alizeGraphicalViewer(DiagramEditor.java:847)
at
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.initializeGraphicalViewer(DiagramEditorWithFlyOu tPalette.java:112)
at
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditor.creat eGraphicalViewer(DiagramEditor.java:791)
at
org.eclipse.gef.ui.parts.GraphicalEditor.createPartControl(G raphicalEditor.java:163)
at
org.eclipse.gmf.runtime.diagram.ui.parts.DiagramEditorWithFl yOutPalette.createPartControl(DiagramEditorWithFlyOutPalette .java:310)
at
org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.Di agramDocumentEditor.createPartControl(DiagramDocumentEditor. java:1459)
at
org.eclipse.ui.internal.EditorReference.createPartHelper(Edi torReference.java:596)
at
org.eclipse.ui.internal.EditorReference.createPart(EditorRef erence.java:372)
at
org.eclipse.ui.internal.WorkbenchPartReference.getPart(Workb enchPartReference.java:566)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:29 0)
at
org.eclipse.ui.internal.presentations.PresentablePart.setVis ible(PresentablePart.java:140)
at
org.eclipse.ui.internal.presentations.util.PresentablePartFo lder.select(PresentablePartFolder.java:268)
at
org.eclipse.ui.internal.presentations.util.LeftToRightTabOrd er.select(LeftToRightTabOrder.java:65)
at
org.eclipse.ui.internal.presentations.util.TabbedStackPresen tation.selectPart(TabbedStackPresentation.java:394)
at
org.eclipse.ui.internal.PartStack.refreshPresentationSelecti on(PartStack.java:1144)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.jav a:1097)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:13 11)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:455)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:102 )
at org.eclipse.ui.internal.PartStack.add(PartStack.java:441)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:111 )
at
org.eclipse.ui.internal.EditorSashContainer.addEditor(Editor SashContainer.java:60)
at
org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorA reaHelper.java:217)
at
org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAre aHelper.java:207)
at
org.eclipse.ui.internal.EditorManager.createEditorTab(Editor Manager.java:820)
at
org.eclipse.ui.internal.EditorManager.openEditorFromDescript or(EditorManager.java:719)
at org.eclipse.ui.internal.EditorManager.openEditor(EditorManag er.java:680)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2593)
at
org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2528)
at org.eclipse.ui.internal.WorkbenchPage.access$10(WorkbenchPag e.java:2520)
at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.ja va:2505)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:67)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2500)
at
org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2477)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:419)
.....




The strange thing about this exception that statically created cursors
(which are created only once) are assigned.. its not the case that for
each model element a new SWT cursor is created, which could explain the
problem somehow.

Thanks in advance for any comments

PS I used GMF 1.0.x
Previous Topic:Using graphical ecore editor 3.2 -> 3.3M / Incrementally create DSL GMF Editor
Next Topic:Sharing a global model between multiple (independent) diagrams
Goto Forum:
  


Current Time: Wed May 07 20:05:31 EDT 2025

Powered by FUDForum. Page generated in 0.10822 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top