Hello I’m having trouble using Graphviz 9especifically the DOT language). I’m trying to generate an image of a flowchart and I needed to have more than one arrow in the same edge (both arrows having the same initial and end node). In my DOT string it looks like this:
You did not include a complete graph, so I built a minimal graph but it shows two edges (not just one).
Please include your complete input, but this time add it as “preformatted text” (the “</>” symbol). Your snippet has non-ASCII characters that needed fixing to be accepted by dot.
Also please tell us the version of dot you are using (run dot -V)
Oh mb I showed only the part where I’m having trouble. My dot string looks like the following:
strict digraph t {
"libafl_wizard: a tool to generate Libafl-based fuzzers."[color=black]
"libafl_wizard: a tool to generate Libafl-based fuzzers." -> "Do you have the target's source code?"
[label="Next"] "Do you have the target's source code?"[color=black]
"Do you have the target's source code?" -> "Can you provide a harness function?"
[label="Yes"] "Do you have the target's source code?" -> "All questions answered!"
[label="No"] "Can you provide a harness function?"[color=black]
"Can you provide a harness function?" -> "Do you want to use some special algorithm to select and update testcases from the corpus?"
[label="Yes"] "Can you provide a harness function?" -> "Do you want to use some special algorithm to select and update testcases from the corpus?"
[label="No"] "Do you want to use some special algorithm to select and update testcases from the corpus?"[color=black] "Do you want to use some special algorithm to select and update testcases from the corpus?" -> "Which of the following options would you like to use?"
[label="Yes"] "Do you want to use some special algorithm to select and update testcases from the corpus?" -> "Does your target require some special type of input?"
[label="No"] "Which of the following options would you like to use?"[color=black]
"Which of the following options would you like to use?" -> "Does your target require some special type of input?"
[label="Accounting..."] "Does your target require some special type of input?"[color=black]
"Does your target require some special type of input?" -> "How can your input be represented?"
[label="Yes"] "Does your target require some special type of input?" -> "Do you expect to cause a crash and/or a timeout on the target?"
[label="No"] "How can your input be represented?"[color=black]
"How can your input be represented?" -> "Do you expect to cause a crash and/or a timeout on the target?"
[label="Encoded..."] "Do you expect to cause a crash and/or a timeout on the target?"[color=black]
"Do you expect to cause a crash and/or a timeout on the target?" -> "Can your target corrupt memory used by the fuzzer?"
[label="Crash or Timeout..."] "Can your target corrupt memory used by the fuzzer?"[color=black]
"Can your target corrupt memory used by the fuzzer?" -> "All questions answered!"
[label="Yes"] "Can your target corrupt memory used by the fuzzer?" -> "All questions answered!"
[label="No"] "All questions answered!"[color=black]
}
Idk if it could be related but I’m using graphviz_rust library to parse the dot string and generate my flowchart, which looks like the following:
strict is your problem. Simple fix, just delete that word.
From DOT Language | Graphviz A graph may also be described as strict. This forbids the creation of multi-edges, i.e., there can be at most one edge with a given tail node and head node in the directed case.