class diagrams rendering changed to very tall images and long arrows unexpectedly

0 votes
asked Apr 13 in Bug by anonymous

I recently regenerated class diagrams that have been used for years in documentation. Unexpectedly, the rendering is now a very tall image, instead of an almost square one. Vertical lines between classes are long without any reason.

I tried to downgrade plantUML to versions that were known to work (2017.15), and also to downgrade graphviz (from 2.40 to 2.38), to downgrade java (from 1.9 to 1.8), to no avail. The same behaviour occurs if I generate the diagrams using maven plugin or eclipse plugin. I run everything on a Linux computer running Debian stretch. I don't know when the rendering changed, but it was sometimes between November and now since last release of my software was made on November and the diagrams were generated properly. The correct rendering that was generated on November can be seen here: https://www.orekit.org/site-orekit-9.1/architecture/estimation.html. The source diagram can be seen here: http://www.orekit.org/forge/projects/orekit/repository/revisions/master/entry/src/design/orbit-determination-overview-class-diagram.puml.

The image for the overview class diagram (the second in the page, in the "Least Squares" section) was 548x841 in November and now is 474x1787, more than twice as tall. The source of the diagram did not change at all, I simply try to regenerate the same image.

1 Answer

0 votes
answered Apr 13 by plantuml (189,260 points)
commented Apr 13 by Luc Maisonobe
From package manager, the version is confusing (both 2.40 and 2.38...):

aptitude show graphviz
Paquet : graphviz                                       
Version : 2.40.1-2
Nouveau: oui
État: installé (2.38.0-16.1), upgrade available (2.40.1-2)
Automatiquement installé: non
Multiarchitecture : étranger
...

I did check again I really installed 2.38.0-16.1 from snapshot.debian and it was really
this version, which was from January 2017. Back in 2017, I had no problem generating this diagram.

From your testdot test, it seems to be 2.40:
The environment variable GRAPHVIZ_DOT has not been set
Dot executable is /usr/bin/dot
Dot version: dot - graphviz version 2.40.1 (20161225.0304)
Installation seems OK. File generation OK.

I am confused about these versions numbers.

The tall image is there (I will remove it later on) : https://www.orekit.org/orbit-determination-overview-class-diagram.png

Many thanks for your help
commented Apr 13 by plantuml (189,260 points)
> I did check again I really installed 2.38.0-16.1 from snapshot.debian and it was really this version,
> which was from January 2017.
> Back in 2017, I had no problem generating this diagram.
2.38 is ok
It's version 2.40 that does not work well with PlantUML


> The environment variable GRAPHVIZ_DOT has not been set
> Dot executable is /usr/bin/dot
> Dot version: dot - graphviz version 2.40.1 (20161225.0304)
> Installation seems OK. File generation OK.
This really means that 2.40.1 is installed.
You can triple-check this by running:
/usr/bin/dot -V

As long a "/usr/bin/dot -V" will print 2.40.1, you will have issues.

Not sure how I can help you.
Maybe 2.38 is installed in another folder ?
If it is, you can use the GRAPHVIZ_DOT variable to point to 2.38 folder.

Or you can try to uninstall full GraphViz, then install again 2.38

Keep us informed about your progress!
commented Apr 13 by Luc Maisonobe
As per a comment in one of the discussion mentioned above, suppressing all labelled associations (i.e. the ": triggers" and ": run" in the diagram above) seems to be a workaround.
commented Apr 13 by Luc Maisonobe
It seems downgrading only the graphviz package was not sufficient as on Debian at least, the package is split into several parts.

I finally succeeded by downgrading: graphviz, libcdt5, libgvc6, libgvpr2, libcgraph6, libpathplan4 and libxdot4.

Thanks again for your very quick and efficient help!
...