Dot.exe no longer works

Hi,

trying this cmd: graphviz\bin\dot -Tpng -Gcharset=Latin1 -o5.png input.gv
i get the windoes error “dot.exe no longer works”
Using the content of input.gv in the online graphviz editor works perfect.
Appreciate any hint, why dot.exe cannot process the Input-File

Using: dot - graphviz version 7.1.0 (20230121.1956)
Find attached the Input-File + Log-file
input.gv (1.4 KB)
log.txt (2.5 KB)

Thanks for any help

I think we need more context on (1) how you installed Graphviz, (2) what operating system you are running, and (3) how you are running Graphviz. The error you’ve quoted doesn’t come from anywhere in Graphviz itself, so some external wrapper or system must be printing that error.

Thanks for the reply, here the missing infomation
(1) executed windows_10_cmake_Release_graphviz-install-7.1.0-win64.exe
Installpath: D:\Program Files
(2) using Windows10
(3) within an windows-ascii-Terminal i’m executing the cmd:
graphviz\bin\dot -Tpng -Gcharset=Latin1 -o5.png input.gv

Basically graphviz works in this setup. If i’m using a different Input-File the png-File of the graph is generate as expected.
If i delete line 31-38 in the uploaded input.gv, graphviz works also.
I was not able to find teh reason why line 31-39 cause the error

Sorry, I’m not sure what the problem is either. Nothing about lines 31-38 look problematic to me.

This causes a segmentation fault on my Linux system (really wsl2 - Linux under Windows).
I think the problem is a combination of

    splines=ortho;  
    concentrate=true;

Maybe related to #2183 (Segmentation fault with splines = ortho, a labeled edge, and concentrate = true (#2183) · Issues · graphviz / graphviz · GitLab)

Ah indeed. UBSan has the following to say:

$ env UBSAN_OPTIONS=print_stacktrace=1 LD_LIBRARY_PATH=${PREFIX}/lib ${PREFIX}/bin/dot -Tpng -Gcharset=Latin1 -o /dev/null /tmp/1501.gv 
splines.c:222:12: runtime error: member access within null pointer of type 'struct Agobj_t'
    #0 0x7fbf2af4b59c  (/tmp/tmp.wvAJtj9vxt/lib+0x54b59c)
    #1 0x7fbf2af4c8f4  (/tmp/tmp.wvAJtj9vxt/lib+0x54c8f4)
    #2 0x7fbf2b0af403  (/tmp/tmp.wvAJtj9vxt/lib+0x6af403)
    #3 0x7fbf2b0b133a  (/tmp/tmp.wvAJtj9vxt/lib+0x6b133a)
    #4 0x7fbf25cb043a in _dot_splines /tmp/tmp.FpMlosEKrT/graphviz/lib/dotgen/dotsplines.c:291
    #5 0x7fbf25cba78b in dot_splines /tmp/tmp.FpMlosEKrT/graphviz/lib/dotgen/dotsplines.c:524
    #6 0x7fbf25c2f192 in dotLayout /tmp/tmp.FpMlosEKrT/graphviz/lib/dotgen/dotinit.c:320
    #7 0x7fbf25c327e5 in doDot /tmp/tmp.FpMlosEKrT/graphviz/lib/dotgen/dotinit.c:447
    #8 0x7fbf25c33124 in dot_layout /tmp/tmp.FpMlosEKrT/graphviz/lib/dotgen/dotinit.c:494
    #9 0x7fbf2ae41d19  (/tmp/tmp.wvAJtj9vxt/lib+0x441d19)
    #10 0x564764c9c72e in main /tmp/tmp.FpMlosEKrT/graphviz/cmd/dot/dot.c:89
    #11 0x7fbf29e29d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    #12 0x7fbf29e29e3f in __libc_start_main_impl ../csu/libc-start.c:392
    #13 0x564764c9c364 in _start (/tmp/tmp.wvAJtj9vxt/bin/dot+0x2364)

This differs from the trace in Segmentation fault with splines = ortho, a labeled edge, and concentrate = true (#2183) · Issues · graphviz / graphviz · GitLab, but it’s certainly a Graphviz bug.

Ortho is certainly a “work in progress” (or no progress right now).
I’ve looked at the code to no avail (I was never a serious C coder), but it looks thoughtful to me, just not tested sufficiently.
Maybe I’ll ask ChatGPT or Alexa, or my (unnamed) refrigerator to help me debug it. (feeble attempt at humor)

We appear to have a fix for this one, fix: anticipate non-normal edges when constructing ortho splines (!3128) · Merge requests · graphviz / graphviz · GitLab