Comment 0 for bug 1834379

Revision history for this message
Emerson Knapp (emersonknapp) wrote : armhf python3-pygraphviz package errors for simple use case

Using the following test file, and running python3 test.py, the program raises an error. However program exits with no output as expected on x86_64 and aarch64

```
# test.py
#!/usr/bin/env python3

import pygraphviz

graph = pygraphviz.AGraph()
graph.add_node('foo')
graph.add_node('bar')
graph.add_edge('foo', 'bar')
```

Error seen

```
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pygraphviz/agraph.py", line 1561, in __new__
    nh = gv.agnode(graph.handle, n.encode(graph.encoding), _Action.find)
KeyError: 'agnode: no key'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "test.py", line 8, in <module>
    graph.add_edge('foo', 'bar')
  File "/usr/lib/python3/dist-packages/pygraphviz/agraph.py", line 478, in add_edge
    e = Edge(self, eh=eh)
  File "/usr/lib/python3/dist-packages/pygraphviz/agraph.py", line 1625, in __new__
    s = Node(graph, nh=source)
  File "/usr/lib/python3/dist-packages/pygraphviz/agraph.py", line 1563, in __new__
    raise KeyError("Node %s not in graph." % n)
KeyError: 'Node None not in graph.'
```

If I upgrade to 1.5 via pip after installing the apt dependency libgraphviz-dev, this same snippet works on all of these platforms.

It also works if I install pygraphviz 1.4rc1 from pip. Also, it seems to work with the debian package python3-pygraphviz 1.4 from cosmic. As far as I can tell, there are no differences between the cosmic and the bionic packages, other than it was rebuilt for Python 3.7.

Here's a summary:

OS pygraphviz version Installed from debian or pip Example Works?
Bionic 1.4~rc1 Debian No
Cosmic 1.4~rc1 Debian Yes
Disco 1.5 Debian Yes
Bionic 1.4~rc1 pip Yes
Bionic 1.5 pip Yes

And one more data point; if I pull down the debian sources (apt-get source python3-pygraphviz ; apt-get build-dep python3-pygraphviz), build with no modifications (debuild -uc -us), and then install (dpkg -i python3-pygraphviz_1.4~rc1-1build2_armhf.deb), it works just fine.

From all of this, I can only conclude that the Ubuntu Bionic armhf debian package is somehow corrupt. Perhaps a rebuild of the package would solve the problem.

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: python3-pygraphviz 1.4~rc1-1build2
ProcVersionSignature: Ubuntu 4.15.0-1041.43-aws 4.15.18
Uname: Linux 4.15.0-1041-aws aarch64
ApportVersion: 2.20.9-0ubuntu7.6
Architecture: armhf
Date: Wed Jun 26 22:23:47 2019
ProcEnviron:
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
SourcePackage: python-pygraphviz
UpgradeStatus: No upgrade log present (probably fresh install)