FS#64647 - [python-stem] RuntimeError: dictionary keys changed during iteration

Attached to Project: Community Packages
Opened by Alex Serra (bounteous17) - Monday, 25 November 2019, 21:25 GMT
Last edited by Toolybird (Toolybird) - Sunday, 30 April 2023, 07:34 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Levente Polyak (anthraxx)
Architecture All
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Description:
Using the latest git version of the python-stem package solves the problem.

Additional info:
* nyx version 2.1.0 (released January 12, 2019)

Steps to reproduce:
[bash]$ /usr/bin/nyx

Traceback (most recent call last):
File "/usr/lib/python3.8/site-packages/stem/connection.py", line 370, in _connect_auth
authenticate(control_socket, password, chroot_path)
File "/usr/lib/python3.8/site-packages/stem/connection.py", line 625, in authenticate
raise auth_exc
stem.connection.MissingPassword: no passphrase provided

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "./run_nyx", line 14, in <module>
nyx.main()
File "/home/bounteous/Projects/nyx/nyx/__init__.py", line 199, in main
nyx.starter.main()
File "/usr/lib/python3.8/site-packages/stem/util/conf.py", line 289, in wrapped
return func(*args, config = config, **kwargs)
File "/home/bounteous/Projects/nyx/nyx/starter.py", line 90, in main
controller = init_controller(
File "/home/bounteous/Projects/nyx/nyx/__init__.py", line 337, in init_controller
TOR_CONTROLLER = stem.connection.connect(*args, **kwargs)
File "/usr/lib/python3.8/site-packages/stem/connection.py", line 291, in connect
return _connect_auth(control_connection, password, password_prompt, chroot_path, controller)
File "/usr/lib/python3.8/site-packages/stem/connection.py", line 404, in _connect_auth
return _connect_auth(control_socket, password, password_prompt, chroot_path, controller)
File "/usr/lib/python3.8/site-packages/stem/connection.py", line 375, in _connect_auth
return controller(control_socket, is_authenticated = True)
File "/usr/lib/python3.8/site-packages/stem/control.py", line 1057, in __init__
super(Controller, self).__init__(control_socket, is_authenticated)
File "/usr/lib/python3.8/site-packages/stem/control.py", line 585, in __init__
self._post_authentication()
File "/usr/lib/python3.8/site-packages/stem/control.py", line 3902, in _post_authentication
owning_pid = self.get_conf('__OwningControllerProcess', None)
File "/usr/lib/python3.8/site-packages/stem/control.py", line 2170, in get_conf
entries = self.get_conf_map(param, default, multiple)
File "/usr/lib/python3.8/site-packages/stem/control.py", line 2273, in get_conf_map
for key in reply:
RuntimeError: dictionary keys changed during iteration
This task depends upon

Closed by  Toolybird (Toolybird)
Sunday, 30 April 2023, 07:34 GMT
Reason for closing:  Fixed
Additional comments about closing:  Old and stale. Cannot repro. Assuming fixed.
Comment by loqs (loqs) - Monday, 25 November 2019, 21:56 GMT Comment by Simon Fernandez (Pantoufle) - Thursday, 28 November 2019, 14:01 GMT
As described in the associated tor bug tracker ticket ( https://trac.torproject.org/projects/tor/ticket/32552 ) using the git version of python-stem works fine.
The package should be modified to allow python-stem-git as optional dependency that can replace python-stem. Because right now, nyx asks for python-stem specificaly.

Comment by loqs (loqs) - Thursday, 28 November 2019, 15:53 GMT
@Pantoufle that is an issue with AUR python-stem-git PKGBUILD if it had
conflicts=('python-stem')
provides=('python-stem')
then nyx could use it in place of python-stem
You could also patch python-stem with b5aecb743d33db1a6378d59792d8e57305b6c6f2

Attached patch for the PKGBUILD adding the fix which causes less tests to skip but triggers a test failure so that test was disabled.
Comment by Simon Fernandez (Pantoufle) - Thursday, 28 November 2019, 17:14 GMT
Thanks a lot for the help ! Got it working !

Loading...