Community
Participate
Working Groups
With ELK-GMF integration installed, a stack overflow occurred while changing layers. See partial stack trace below. at org.eclipse.sirius.diagram.ui.internal.refresh.layout.SiriusCanonicalLayoutCommand.executeLayoutDueToExternalChanges(SiriusCanonicalLayoutCommand.java:107) at org.eclipse.sirius.diagram.ui.internal.refresh.layout.SiriusCanonicalLayoutCommand.access$3(SiriusCanonicalLayoutCommand.java:104) at org.eclipse.sirius.diagram.ui.internal.refresh.layout.SiriusCanonicalLayoutCommand$1.run(SiriusCanonicalLayoutCommand.java:90) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3933) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3564) at org.eclipse.elk.core.service.util.MonitoredOperation.runUnmonitored(MonitoredOperation.java:246) at org.eclipse.elk.core.service.util.MonitoredOperation.runUnmonitored(MonitoredOperation.java:157) at org.eclipse.elk.core.service.DiagramLayoutEngine.layout(DiagramLayoutEngine.java:441) at org.eclipse.elk.core.service.DiagramLayoutEngine.invokeLayout(DiagramLayoutEngine.java:276) at org.eclipse.elk.core.service.DiagramLayoutEngine.invokeLayout(DiagramLayoutEngine.java:239) at org.eclipse.elk.core.service.DiagramLayoutEngine.invokeLayout(DiagramLayoutEngine.java:222) at org.eclipse.elk.conn.gmf.ElkLayoutProvider$3.run(ElkLayoutProvider.java:130) at org.eclipse.gmf.runtime.diagram.ui.commands.ArrangeCommand$1.doExecuteWithResult(ArrangeCommand.java:139) at org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand.doExecute(AbstractTransactionalCommand.java:247) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.emf.workspace.CompositeEMFOperation.doExecute(CompositeEMFOperation.java:217) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.gmf.runtime.diagram.ui.commands.ArrangeCommand.doExecuteWithResult(ArrangeCommand.java:95) at org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand.doExecute(AbstractTransactionalCommand.java:247) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.emf.workspace.CompositeEMFOperation.doExecute(CompositeEMFOperation.java:217) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.emf.workspace.CompositeEMFOperation.doExecute(CompositeEMFOperation.java:217) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.gmf.runtime.diagram.ui.commands.DeferredLayoutCommand.doExecuteWithResult(DeferredLayoutCommand.java:200) at org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand.doExecute(AbstractTransactionalCommand.java:247) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy.execute(ICommandProxy.java:68) at org.eclipse.gef.commands.CompoundCommand.execute(CompoundCommand.java:129) at org.eclipse.sirius.diagram.ui.internal.refresh.layout.SiriusCanonicalLayoutCommand.executeLayoutDueToExternalChanges(SiriusCanonicalLayoutCommand.java:107) at org.eclipse.sirius.diagram.ui.internal.refresh.layout.SiriusCanonicalLayoutCommand.access$3(SiriusCanonicalLayoutCommand.java:104) at org.eclipse.sirius.diagram.ui.internal.refresh.layout.SiriusCanonicalLayoutCommand$1.run(SiriusCanonicalLayoutCommand.java:90) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3933) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3564) at org.eclipse.elk.core.service.util.MonitoredOperation.runUnmonitored(MonitoredOperation.java:246) at org.eclipse.elk.core.service.util.MonitoredOperation.runUnmonitored(MonitoredOperation.java:157) at org.eclipse.elk.core.service.DiagramLayoutEngine.layout(DiagramLayoutEngine.java:441) at org.eclipse.elk.core.service.DiagramLayoutEngine.invokeLayout(DiagramLayoutEngine.java:276) at org.eclipse.elk.core.service.DiagramLayoutEngine.invokeLayout(DiagramLayoutEngine.java:239) at org.eclipse.elk.core.service.DiagramLayoutEngine.invokeLayout(DiagramLayoutEngine.java:222) at org.eclipse.elk.conn.gmf.ElkLayoutProvider$3.run(ElkLayoutProvider.java:130) at org.eclipse.gmf.runtime.diagram.ui.commands.ArrangeCommand$1.doExecuteWithResult(ArrangeCommand.java:139) at org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand.doExecute(AbstractTransactionalCommand.java:247) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.emf.workspace.CompositeEMFOperation.doExecute(CompositeEMFOperation.java:217) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.gmf.runtime.diagram.ui.commands.ArrangeCommand.doExecuteWithResult(ArrangeCommand.java:95) at org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand.doExecute(AbstractTransactionalCommand.java:247) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.emf.workspace.CompositeEMFOperation.doExecute(CompositeEMFOperation.java:217) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.emf.workspace.CompositeEMFOperation.doExecute(CompositeEMFOperation.java:217) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.gmf.runtime.diagram.ui.commands.DeferredLayoutCommand.doExecuteWithResult(DeferredLayoutCommand.java:200) at org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand.doExecute(AbstractTransactionalCommand.java:247) at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) at org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy.execute(ICommandProxy.java:68) at org.eclipse.gef.commands.CompoundCommand.execute(CompoundCommand.java:129) at org.eclipse.sirius.diagram.ui.internal.refresh.layout.SiriusCanonicalLayoutCommand.executeLayoutDueToExternalChanges(SiriusCanonicalLayoutCommand.java:107) at org.eclipse.sirius.diagram.ui.internal.refresh.layout.SiriusCanonicalLayoutCommand.access$3(SiriusCanonicalLayoutCommand.java:104) at org.eclipse.sirius.diagram.ui.internal.refresh.layout.SiriusCanonicalLayoutCommand$1.run(SiriusCanonicalLayoutCommand.java:90)
Hello, I have not been able to reproduce the issue. Which ELK layout did you select in your odesign? Can you describe the changes added by activating your layers? Regards, Steve
(In reply to Steve Monnier from comment #1) > Hello, > > I have not been able to reproduce the issue. Which ELK layout did you select > in your odesign? Can you describe the changes added by activating your > layers? > > Regards, > Steve I used the same model as in Bug 545472: Basically, by switching layers boxes are enabled/disabled within containers. I have 4 layers, that are all nested. When a layer is disabled, the nested elements are show in the 'container-container'. The model contains about 50 containers, 100 nested at the first level, 200 and third and and about 500 nested elements at 4th level. I did not select an ELK layout in a odesign, I used the ELK-GMF integration as provided by the ELK project.