Smetana "UNSUPPORTED" crash

0 votes
asked Feb 27 in Bug by Don Reba (120 points)
edited Feb 27 by Don Reba

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

1 Answer

+1 vote
answered Feb 27 by plantuml (298,400 points)
selected 2 days ago by The-Lu
 
Best answer
OK, thanks for the report.

It is possible that version 1.2026.3beta1 fixes this issue.
Can you try it at https://github.com/plantuml/plantuml/releases/tag/snapshot

And tell us the result?

Thanks!
commented Feb 27 by Don Reba (120 points)
Oh, looks like you already fixed it. The snapshot works, thank you.
...