#30882 closed defect (fixed)

Stem python 3.8 RuntimeError: dictionary keys changed during iteration

Reported by: teor Owned by: atagar
Priority: Medium Milestone:
Component: Archived/Stem Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:


python 3.8 doesn't seem to like dictionary keys changing during iteration. This is on python nightly, so it might be a new python feature (or even a python bug).

It is reproducible: I've seen it in at least two runs so far.

  Jun 13 15:02:32.725 [notice] Bootstrapped 100% (done): Done
  done (17 seconds)
Shutting down tor... done
Traceback (most recent call last):
  File "./run_tests.py", line 479, in <module>
  File "./run_tests.py", line 306, in main
    integ_runner.start(target, args.attribute_targets, args.tor_path)
  File "/home/travis/build/torproject/stem/test/runner.py", line 262, in start
    self._owner_controller = self.get_tor_controller(True)
  File "/home/travis/build/torproject/stem/test/runner.py", line 482, in get_tor_controller
    controller.authenticate(password = CONTROL_PASSWORD, chroot_path = self.get_chroot())
  File "/home/travis/build/torproject/stem/stem/control.py", line 1110, in authenticate
    stem.connection.authenticate(self, *args, **kwargs)
  File "/home/travis/build/torproject/stem/stem/connection.py", line 596, in authenticate
  File "/home/travis/build/torproject/stem/stem/control.py", line 3993, in _post_authentication
    owning_pid = self.get_conf('__OwningControllerProcess', None)
  File "/home/travis/build/torproject/stem/stem/control.py", line 2261, in get_conf
    entries = self.get_conf_map(param, default, multiple)
  File "/home/travis/build/torproject/stem/stem/control.py", line 2364, in get_conf_map
    for key in reply:
RuntimeError: dictionary keys changed during iteration
The command "./run_tests.py --integ $TARGET" exited with 1.


Child Tickets

Change History (1)

comment:1 Changed 13 months ago by atagar

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.