Incorrect use of LineDash in visualizer/core.py causes visualizer to crash
In Line 533 of src/visualizer/visualizer/core.py,
line_dash=GooCanvas.LineDash([10.0, 10.0 ]),
should be:
line_dash=GooCanvas.CanvasLineDash.newv([10.0, 10.0 ]),
at least according to the GooCanvas documentation I've looked at. For example, see Line 39 of src/visualizer/visualizer/plugins/wifi_intrastructure_link.py
Currently, the visualizer crashes for me for some simulations, such as udp-echo (unless I make the above change):
./waf configure --enable-examples
./waf --run udp-echo --visualize
Waf: Entering directory `/path/omitted/ns-allinone-3.29/ns-3.29/build'
[2761/2781] Compiling build/src/visualizer/visualizer/core.pyo
[2764/2781] Compiling build/src/visualizer/visualizer/core.pyc
Waf: Leaving directory `/path/omitted/ns-allinone-3.29/ns-3.29/build'
Build commands will be stored in build/compile_commands.json
'build' finished successfully (4.050s)
Could not load plugin 'show_last_packets.py': No module named kiwi.ui.objectlist
Could not load icon applets-screenshooter due to missing gnomedesktop Python module
scanning topology: 4 nodes...
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "/path/omitted/ns-allinone-3.29/ns-3.29/src/visualizer/visualizer/core.py", line 1857, in start
viz.start()
File /path/omitted/ns-allinone-3.29/ns-3.29/src/visualizer/visualizer/core.py", line 1533, in start
self.scan_topology()
File "/path/omitted/ns-allinone-3.29/ns-3.29/src/visualizer/visualizer/core.py", line 1140, in scan_topology
self.get_channel(channel)
File "/path/omitted/ns-allinone-3.29/ns-3.29/src/visualizer/visualizer/core.py", line 1194, in get_channel
channel = Channel(ns3_channel)
File "/path/omitted/ns-allinone-3.29/ns-3.29/src/visualizer/visualizer/core.py", line 528, in __init__
line_dash=GooCanvas.LineDash([10.0, 10.0 ]),
File "/usr/lib/python2.7/dist-packages/gi/module.py", line 137, in __getattr__
self.__name__, name))
AttributeError: 'gi.repository.GooCanvas' object has no attribute 'LineDash'
I'm using ns-3.29 on Ubuntu 18.04