elk icon indicating copy to clipboard operation
elk copied to clipboard

NullPointerException in LayerSweepTypeDecider

Open alexanderpann opened this issue 1 year ago • 8 comments

Unfortunately, I can't share any reproducible example. I use ELK Layered, the offending option is hierarchy handling which is set to INCLUDE_CHILDREN. With SEPARATE_CHILDREN everything works. I think the diagram also has subdiagrams. This option is set a the root diagram level, no other direct layer options are set. Setting crossing minimization strategy to none to disable the layered sweeping didn't help, it seems to be a general problem. Any ideas how this can happen?

java.lang.NullPointerException: Cannot read field "id" because the return value of "org.eclipse.elk.alg.layered.graph.LNode.getLayer()" is null
at d.i.m.e.diagram.runtime//org.eclipse.elk.alg.layered.p3order.LayerSweepTypeDecider.nodeInfoFor(LayerSweepTypeDecider.java:216)
at d.i.m.e.diagram.runtime//org.eclipse.elk.alg.layered.p3order.LayerSweepTypeDecider.transferInfoTo(LayerSweepTypeDecider.java:145)
at d.i.m.e.diagram.runtime//org.eclipse.elk.alg.layered.p3order.LayerSweepTypeDecider.useBottomUp(LayerSweepTypeDecider.java:113)
at d.i.m.e.diagram.runtime//org.eclipse.elk.alg.layered.p3order.GraphInfoHolder.<init>(GraphInfoHolder.java:117)
at d.i.m.e.diagram.runtime//org.eclipse.elk.alg.layered.p3order.LayerSweepCrossingMinimizer.initialize(LayerSweepCrossingMinimizer.java:604)
at d.i.m.e.diagram.runtime//org.eclipse.elk.alg.layered.p3order.LayerSweepCrossingMinimizer.process(LayerSweepCrossingMinimizer.java:122)
at d.i.m.e.diagram.runtime//org.eclipse.elk.alg.layered.p3order.LayerSweepCrossingMinimizer.process(LayerSweepCrossingMinimizer.java:1)
at d.i.m.e.diagram.runtime//org.eclipse.elk.alg.layered.ElkLayered.hierarchicalLayout(ElkLayered.java:269)
at d.i.m.e.diagram.runtime//org.eclipse.elk.alg.layered.ElkLayered.doCompoundLayout(ElkLayered.java:186)
at d.i.m.e.diagram.runtime//org.eclipse.elk.alg.layered.LayeredLayoutProvider.layout(LayeredLayoutProvider.java:53)
at d.i.m.e.diagram.runtime//org.eclipse.elk.core.RecursiveGraphLayoutEngine.executeAlgorithm(RecursiveGraphLayoutEngine.java:443)
at d.i.m.e.diagram.runtime//org.eclipse.elk.core.RecursiveGraphLayoutEngine.layoutRecursively(RecursiveGraphLayoutEngine.java:410)
at d.i.m.e.diagram.runtime//org.eclipse.elk.core.RecursiveGraphLayoutEngine.layout(RecursiveGraphLayoutEngine.java:104)
at d.i.m.e.diagram.runtime//org.eclipse.elk.core.RecursiveGraphLayoutEngine.layout(RecursiveGraphLayoutEngine.java:80)
at d.i.m.e.diagram.runtime//de.itemis.mps.editor.diagram.runtime.jgraph.ElkLayouter.layoutOnce(ElkLayouter.java:301)
at d.i.m.e.diagram.runtime//de.itemis.mps.editor.diagram.runtime.jgraph.ElkLayouter.layout(ElkLayouter.java:254)

alexanderpann avatar Oct 31 '24 09:10 alexanderpann