Open
Description
[011] box-py/iproto.test.py
[011] Test.run() received the following error:
[011] Traceback (most recent call last):
[011] File "/home/runner/work/tarantool/tarantool/test-run/lib/test.py", line 190, in run
[011] self.execute(server)
[011] File "/home/runner/work/tarantool/tarantool/test-run/lib/tarantool_server.py", line 405, in execute
[011] exec(code, new_globals)
[011] File "box-py/iproto.test.py", line 43, in <module>
[011] for (k,v) in list(globals().items()):
[011] RuntimeError: dictionary changed size during iteration
[011] [ fail ]
https://github.com/tarantool/tarantool/runs/2280702426
I tried to reproduce it, but I didn't find a way.
There was quite similar problem in scipy, but the root of the problem remains unclear.
Some thoughts:
k
andv
are created in the global scope, so operations reordering (lazy evaluation of the list) may trigger this issue in theory. Does Python AOT compiler perform optimizations of this kind?- May GC cause a dictionary size shrink? (No?)