Here is another case where (misused) minlen caused grief.
Dot is challenged by graphs with many ranks (thousands, tens of thousands).
Sometimes they are “real” ranks (many nodes & many of edges), sometimes “kind of real” ranks (virtual nodes added for edge labels), and sometimes “possibly avoidable?” ranks (virtual nodes & edges added just to pad out the minlen value) . As in the two graphs mentioned above.
It would seem possible to remove “unnecessary” virtual nodes & edges for phase 3 (2nd network simplex) and then restore them afterwards.
Here is a tiny example of minlen gone bad (core dump):
/***
goal: - a graph that would calse phase=3 performance problems
***/
digraph tall{
edge[minlen=50000]
a -> {b c d e f}
edge[minlen=50500]
b -> {g h i}
}