I have installed version 7.1.0 (20230121.1956) and am able to reproduce the problem. I have simplified the graph as much as I can while still reproducing the problem. I believe the problem is related to a missing "rank=same" in subgraph "cluster-Margaret-and-Stanley-children" (enclosed in green box).
Another oddity is that some edges are routed through the middle of a node rather than around the node. These are highlighted in red.
graphviz version: dot - graphviz version 2.43.0 (0)
OS: Ubuntu 20.04.2 LTS running on oracle virtual box 6.1 (host system windows 10)
dot -T jpg triangulation-failed.gv 1>triangulation-failed.jpg
libpath/shortest.c:324: triangulation failed
libpath/shortest.c:207: cannot find triangle path
Warning: Unable to reclaim box space in spline routing for edge "Melvin" -> "Howard". Something is probably seriously wrong.
Hi Steve. This is marked as a Windows issue. Out of curiosity, what OS are you using ?
If a polygon of 4 sides (aka rectangle) has a non-zero distortion or skew then the size of the polygon approximately doubles in width even though the size of the text is unchanged. Since house is a skewed pentagon, it is probably affected by this same issue.
Sorry, I have been called away. I will finish this later.
graphviz version: dot - graphviz version 2.43.0 (0)
OS: Ubuntu 20.04.2 LTS running on oracle virtual box 6.1 (host system windows 10)
dot -T jpg triangulation-failed.gv 1>triangulation-failed.jpg
libpath/shortest.c:324: triangulation failed
libpath/shortest.c:207: cannot find triangle path
Warning: Unable to reclaim box space in spline routing for edge "Melvin" -> "Howard". Something is probably seriously wrong.
Maybe it is time for me to install a linux VM :) I used linux at work for years, but only as an applications programmer. This is not blocking me. Thanks for taking a look.
Sorry about that. I accidentally attached the files before the description.
I am using dot with graphviz version 2.47.0 (20210316.0004) Using windows 10 home edition with 16 GByte.
Command is: dot -Tpdf extra-arrow.gv -o extra-arrow.pdf
Using newrank.
I have a graph with 4 nodes and three edges in a nested cluster. About 75% of the time the graph seems to be rendered correctly - although I find it odd to see two arrows lying on top of each other so that one line goes through the arrowhead of the other line. About 25% of the time there is an extra green arrow.
It is possible that this is related to issue #1986, but the graph is slightly different and the manifestation is different (a) with this issue I do not see any warnings or errors when processing the .gv file. (b) For #1986, the output (to my eye) was always identical.
What ties this issue and #1986 together is that they both have visibly different results about 25% of the time (a) a warning message for #1986 and (b) an extra arrow for this issue.
Three files are attached:
a. The .gv file. b. The "one-green-arrow.pdf" which occurs about 75% of the time on my system. c. The "two-green-arrows.pdf" which occurs about 25% of the time on my system.
Thanks for your response.
This is not a blocker and is not causing me any real problems. I removed the cycle I created by mistake from the original file and the warning message has gone away. However, I think there is still something loose someplace.
The exact warning message is:
Warning: merge_oneway glitch
This appears to be from a line in lib/dotgen/fastgr.c:337
agerr(AGWARN,"merge_oneway glitch\n")
I noticed something else odd after I submitted the report. The .gv files specifies one edge from "Steven Baker" to "Joseph" and one edge in the reverse direction. However when I look at the .pdf file I see three edges between these two nodes. There appears to be a random duplicate edge. I've attached a .gv file which is almost the same as the original (I renamed "Pat Baker" to Edward to match the label) but highlights the oddity by coloring the edge from "Steve Baker" to Joseph in red and the reverse edge from Joseph to "Steve Baker" in green. If you look at the .pdf you will see that there are two green edges, but only a single use of green in .gv file.
Maybe I've used some kind of operator that creates two edges between a pair of nodes from a single instruction ?
Perhaps this is a second manifestation of the same problem. I'm curious whether you see this problem, too. I will attach the .gv and .pdf file.
dot - graphviz version 2.47.0 (20210316.0004) First seen on 2.46.0 and problem still present in the above version.
dot command:
dot -Tpdf merge-oneway-glitch.gv -o merge-oneway-glitch.pdf && firefox merge-oneway-glitch.pdf
Running Windows 10 Home (version 2004, build 19041.867) (64 bit, 16 GByte,)
My expectation: no warning messages.
I have simplified the original dot file to create an example with six nodes and eight edges. However, the problem now appear only about 1/3 of the time I run it. The original dot file was about 10 times larger and the problem appeared 100% of the time.
I suspect an malloc() problem or buffer overflow problem because the behavior should be deterministic.
The problem may be related to duplicate edges between two nodes that form a cycle or maybe to a nested cluster.