Search code examples
plantuml

In plantuml, what does WARNING : CROSSX warn about?


In plantuml, I got a strange warning. I have tracked down the source problem to: when creating a sequence diagram with broken arrow from one item back to itself.

The minimal example

@startuml
self ->x self:
@enduml

yields this warning:

$ plantuml minimal.plantuml 
WARNING : CROSSX
WARNING : CROSSX

But is still able to generate the image I expect. self ->x self

What is plantuml complaining about? What is the meaning of this warning?

$ plantuml -version
PlantUML version 1.2018.13 (Tue Nov 27 02:11:51 JST 2018)
(GPL source distribution)
Java Runtime: OpenJDK Runtime Environment
JVM: OpenJDK 64-Bit Server VM
Java Version: 11.0.11+9-Ubuntu-0ubuntu2.20.04
Operating System: Linux
OS Version: 5.8.0-48-generic
Default Encoding: UTF-8
Language: en

Solution

  • This warning exists in older versions still included in by major linux distributions.

    the warning was generated in src/net/sourceforge/plantuml/sequencediagram/graphic/Step1Message.java

     if (m.getArrowConfiguration().getDressing2().getHead() == ArrowHead.CROSSX) {
                result = result.withHead2(m.getArrowConfiguration().getDressing2().getHead());
                System.err.println("WARNING : CROSSX");
            }
            result = result.withPart(m.getArrowConfiguration().getPart());
     }
    

    Without any clue in the commit message it was removed from upstream in September 2019