vmiklos / ged2dot

GEDCOM to Graphviz converter
https://vmiklos.hu/ged2dot/
Mozilla Public License 2.0
96 stars 18 forks source link

Ubuntu / LibreOffice 7.3.0.3 / ElementTree.ParseError: no element found #201

Closed johnjohndoe closed 2 years ago

johnjohndoe commented 2 years ago

Environment

Reproducer steps

  1. Open https://raw.githubusercontent.com/blokhin/genealogical-trees/master/data/tsars.ged with LibreOffice

Actual result

Expected behavior

vmiklos commented 2 years ago

Running that input from the cmdline also fails:

$ ./ged2dot.py --input workdir/gh201/tsars.ged --output test.dot
Traceback (most recent call last):
  File "./ged2dot.py", line 658, in <module>
    main()
  File "./ged2dot.py", line 654, in main
    convert(config.get_dict())
  File "./ged2dot.py", line 620, in convert
    root_family = graph_find(graph, config["rootfamily"])
  File "./ged2dot.py", line 117, in graph_find
    assert len(results) == 1
AssertionError

Let me see what can be done with that.

vmiklos commented 2 years ago

Getting back to this, the actual .ged opening in LO works fine for me. What version of graphviz do you have?

failed at node 1429[0] dot: maze.c:311: chkSgraph: Assertion `np->cells[0]' failed.

This sounds like the underlying graphviz crashes for you, but not here.

First I get the popup to choose the root family:

image

and if I accept the defaults, I get:

image

Which looks reasonable.

$ dot -V
dot - graphviz version 2.40.1 (20161225.0304)

is what I have, what about you?

johnjohndoe commented 2 years ago

dot - graphviz version 2.43.0 (0)

vmiklos commented 2 years ago

Hm, so either I feed different input to 'dot' or the newer 'dot' has a regression that my old 'dot' doesn't have.

Could you please run:

dot -Tsvg /path/to/in.txt

with this input: in.txt and see if that still crashes? Thanks.

johnjohndoe commented 2 years ago

Here is the tail of the shell output:

Warning: No such file or directory while opening /home/vmiklos/git/libreoffice/lo73/opt/UserInstallation/user/uno_packages/cache/uno_packages/lu29209t3uuuw.tmp_/gedcom-v7.3-5-gea76fe8.oxt/marriage.svg
Error: No or improper image file="/home/vmiklos/git/libreoffice/lo73/opt/UserInstallation/user/uno_packages/cache/uno_packages/lu29209t3uuuw.tmp_/gedcom-v7.3-5-gea76fe8.oxt/marriage.svg"
in label of node 43
Warning: No such file or directory while opening /home/vmiklos/git/libreoffice/lo73/opt/UserInstallation/user/uno_packages/cache/uno_packages/lu29209t3uuuw.tmp_/gedcom-v7.3-5-gea76fe8.oxt/marriage.svg
Error: No or improper image file="/home/vmiklos/git/libreoffice/lo73/opt/UserInstallation/user/uno_packages/cache/uno_packages/lu29209t3uuuw.tmp_/gedcom-v7.3-5-gea76fe8.oxt/marriage.svg"
in label of node 54
failed at node 1429[0]
dot: maze.c:311: chkSgraph: Assertion `np->cells[0]' failed.
[1]    146025 abort (core dumped)  dot -Tsvg in.txt
vmiklos commented 2 years ago

Really strange. Here is what I tried:

1) https://gitlab.com/graphviz/graphviz seems to not contain a tag named "2.43.0" 2) https://packages.ubuntu.com/search?keywords=graphviz&searchon=names&suite=focal&section=all seems to ship 2.42.2 3) I built 2.42.2 from git, but still can't reproduce your crash, even looked at Makefiles and seems nobody specified -DNDEBUG to disable assert() calls.

I wonder if it makes sense to continue tracking down your bug or just close this and you are free to re-report this to graphviz?

In general, I would like to see them fix the root cause, rather than work something around in ged2dot.

johnjohndoe commented 2 years ago

Thanks for the effort! I would also think that you should not invest more time. I quickly checked that dot is symlinked to /usr/sbin/libgvc6-config-update if this helps anyhow. I can't say where version 2.43.0 comes from. It might originate from some PPA I have added. No idea how to track this down.