[simbench] Conversion to IPv6 failed
Steps to reproduce:
Change to branch simbench
Execute the cli command python3 Experiment.py --seed=1317 --node_count=213 --graph=simbench --graph-seed=181 --hubs-count-distance=0 --hubs-count-path=1 --path-label-max-length=8 --hub-placement-strategy-path=girvan_newman --hub-placement-strategy-distance=girvan_newman --selected-node=417 --hovering-node=351 --display-hubs --display-node-labels --display-edges-between-two-nodes --export-to-png
Expected behaviour:
PNG file is created in directory png/
. Two Node label pop-up showing either "None" or a valid IPv6 address.
Experienced behaviour:
Crash.
File "Experiment.py", line 233, in <module>
main()
File "Experiment.py", line 92, in main
run_experiment(args)
File "Experiment.py", line 210, in run_experiment
P.generate_canvas(args, G, pos, hubs, measurements, clusters, node_labels,_selected_node=args.selected_node, _hovering_node=args.hovering_node)
File "/home/stuebs/Code/gridtopology-clean/src/experiment1/Plotter.py", line 234, in generate_canvas
self.draw_nodes()
File "/home/stuebs/Code/gridtopology-clean/src/experiment1/Plotter.py", line 374, in draw_nodes
label = self.set_node_labels()
File "/home/stuebs/Code/gridtopology-clean/src/experiment1/Plotter.py", line 290, in set_node_labels
label[i] += "{}\n".format(label_mapping.label_to_ipv6(self.node_labels[i], c))
File "/home/stuebs/Code/gridtopology-clean/src/experiment1/label_mapping.py", line 56, in label_to_ipv6
ipv6 = ipaddress.IPv6Address(ipv6_int)
File "/usr/lib/python3.8/ipaddress.py", line 1837, in __init__
self._ip = self._ip_int_from_string(addr_str)
File "/usr/lib/python3.8/ipaddress.py", line 1574, in _ip_int_from_string
raise AddressValueError(msg)
ipaddress.AddressValueError: At least 3 parts expected in '-7306073769693437767'
Additional Information
A fine set of cli arguments for reference: python3 Experiment.py --seed=1317 --node_count=213 --graph=simbench --graph-seed=181 --hubs-count-distance=0 --hubs-count-path=1 --path-label-max-length=8 --hub-placement-strategy-path=girvan_newman --hub-placement-strategy-distance=girvan_newman --selected-node=2 --hovering-node=1 --display-hubs --display-node-labels --display-edges-between-two-nodes --export-to-png
.
The difference is only the selected and hovered nodes.
See also the interactive version
python3 Experiment.py --seed=1317 --node_count=213 --graph=simbench --graph-seed=181 --hubs-count-distance=0 --hubs-count-path=1 --path-label-max-length=8 --hub-placement-strategy-path=girvan_newman --hub-placement-strategy-distance=girvan_newman --selected-node=2 --hovering-node=1 --display-hubs --display-node-labels --display-edges-between-two-nodes --plot