Graphviz_draw core dumping when using HTML labels

Bug report:

  • Are you running the latest graph-tool version?
  • Do you observe the problem with the current git version?
  • Are you using Macports or Homebrew? If yes, please submit an issue there instead: https://github.com/Homebrew/brew/issues and https://trac.macports.org/newticket
  • Did you compile graph-tool manually?
  • If you answered yes above, did you use the exact same compiler to build graph-tool, boost-python and Python?

When using graphviz_draw() with an HTML vertex label, it core dumps. The graphviz_draw() works without issues otherwise. I tracked the issue to the agstrdup_html() function call (https://git.skewed.de/count0/graph-tool/blob/master/src/graph_tool/draw/graphviz_draw.py#L97).

I am currently using Ubuntu 18.04, Python 3.6 (default), graph-tool 2.28 installed from apt from this repository: http://downloads.skewed.de/apt/bionic.

from graph_tool.all import *

g = Graph()

g.add_vertex(2)
g.add_edge(0, 1)

graphviz_draw(g, vprops={'label': '<x>' })

I would expect both vertices to have the same label x. If I remove the enclosing < >, it works. However, when enclosed with < >, to specify an HTML label, it core dumps - regardless if I place actual HTML tags or not.