Ordering of ports in an html-like label causes edge of other node to render incorrectly
Steps to reproduce
For a benchmark, the expected graph can be rendered using the following source: gv_source_good.txt
Rendering the graph specified in gv_source_bad.txt produces the following errors:
Warning: Arrow type "10" unknown - ignoring
Warning: Arrow type "10" unknown - ignoring
and replaces an edge of the graph with an errant edge originating at the wrong port on the source node and terminating at the wrong port of the target node.
The only difference between the two codes is that lines 87 and 88, which are port specifications for a node that is not a source or target of the edge in question, are swapped:
line 87/88 of the bad config:
<td port="OutputPort-INPUT_CIM_oa_InputPort-0"><b>INPUT_CIM_oa_InputPort-0</b></td>
<td port="OutputPort-INPUT_CIM_ob_InputPort-0"><b>INPUT_CIM_ob_InputPort-0</b></td>
and of the good config:
<td port="OutputPort-INPUT_CIM_ob_InputPort-0"><b>INPUT_CIM_ob_InputPort-0</b></td>
<td port="OutputPort-INPUT_CIM_oa_InputPort-0"><b>INPUT_CIM_oa_InputPort-0</b></td>
Expected Behaviour
Actual Behaviour
OS Version
Windows 10 Home build 19041.330
MacOS Catalina
Graphviz Version
version 2.38.0 (20140413.2041) on Windows
version 2.40.1 (20161225.0304) on Mac
Additional info
I believe this may be related to the problems detailed in this issue and this stackoverflow thread, but the workarounds posted in the threads seem specific to their graphs.
Help would be greatly appreciated! Thank you!