I have a large, ~900 line, class diagram. It worked ok with the Smetana layout engine, then I reordered it, and Smetana immediately started crashing. The default layout engine still works. Here is the error:
java.lang.UnsupportedOperationException: 2nnkwrdxg0ma2m482dqarlbz6
at smetana.core.Macro.UNSUPPORTED(Macro.java:131)
at gen.lib.pathplan.shortest__c.Pshortestpath(shortest__c.java:223)
at gen.lib.common.routespl__c._routesplines(routespl__c.java:421)
at gen.lib.common.routespl__c.routesplines(routespl__c.java:523)
at gen.lib.dotgen.dotsplines__c.make_regular_edge(dotsplines__c.java:1819)
at gen.lib.dotgen.dotsplines__c._dot_splines(dotsplines__c.java:659)
at gen.lib.dotgen.dotsplines__c.dot_splines(dotsplines__c.java:720)
at gen.lib.dotgen.dotinit__c.dotLayout(dotinit__c.java:415)
at gen.lib.dotgen.dotinit__c.doDot(dotinit__c.java:522)
at gen.lib.dotgen.dotinit__c.dot_layout(dotinit__c.java:577)
at gen.lib.dotgen.dotinit__c$2.exe(dotinit__c.java:569)
at gen.lib.gvc.gvlayout__c.gvLayoutJobs(gvlayout__c.java:186)
at net.sourceforge.plantuml.sdot.CucaDiagramFileMakerSmetana.getTextBlock(CucaDiagramFileMakerSmetana.java:535)
at net.sourceforge.plantuml.sdot.CucaDiagramFileMakerSmetana.createFileLocked(CucaDiagramFileMakerSmetana.java:490)
at net.sourceforge.plantuml.sdot.CucaDiagramFileMakerSmetana.createFile(CucaDiagramFileMakerSmetana.java:464)
at net.atmp.CucaDiagram.exportDiagramInternal(CucaDiagram.java:529)
at net.sourceforge.plantuml.classdiagram.ClassDiagram.exportDiagramInternal(ClassDiagram.java:129)
at net.sourceforge.plantuml.UmlDiagram.exportDiagramNow(UmlDiagram.java:162)
at net.sourceforge.plantuml.AbstractPSystem.exportDiagram(AbstractPSystem.java:260)
at net.sourceforge.plantuml.PSystemUtils.exportDiagramsDefault(PSystemUtils.java:251)
at net.sourceforge.plantuml.PSystemUtils.exportDiagrams(PSystemUtils.java:140)
at net.sourceforge.plantuml.SourceFileReaderAbstract.getGeneratedImages(SourceFileReaderAbstract.java:242)
at net.sourceforge.plantuml.Run.manageFileInternal(Run.java:393)
at net.sourceforge.plantuml.Run.lambda$processInputsInParallel$12(Run.java:350)
at net.sourceforge.plantuml.Run.lambda$processInParallel$14(Run.java:366)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:545)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1090)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.base/java.lang.Thread.run(Thread.java:1474)
I can't share the diagram, since it is not public information. I tried to make a minimal reproducible example, but the crash does not occur if I use just the first half of the diagram or just the last.
Version:
PlantUML version 1.2026.1 (Sun Jan 18 03:44:32 PST 2026)
(BSD source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Default Encoding: UTF-8
Language: en
Country: CA
PLANTUML_LIMIT_SIZE: 4096
Dot version: dot - graphviz version 2.44.1 (20200629.0846)
Installation seems OK. File generation OK