logilab-common #270922 get_cycles is broken on Python3 [rejected]

graph.get_cycles is broken in the latest logilab.common, see for instance the following traceback. Wrapping graph_dict.keys() in a list should do it.

 File "/home/ubuntu/src/bitbucket.org/logilab/pylint/.tox/py33/lib/python3.3/site-packages/pylint/test/unittest_lint.py", line 361, in test_lint_ext_module_with_file_output
   self.linter.check(strio)
 File "/home/ubuntu/src/bitbucket.org/logilab/pylint/.tox/py33/lib/python3.3/site-packages/pylint/lint.py", line 639, in check
   self._do_check(files_or_modules)
 File "/home/ubuntu/src/bitbucket.org/logilab/pylint/.tox/py33/lib/python3.3/site-packages/pylint/lint.py", line 774, in _do_check
   checker.close()
 File "/home/ubuntu/src/bitbucket.org/logilab/pylint/.tox/py33/lib/python3.3/site-packages/pylint/checkers/imports.py", line 240, in close
   for cycle in get_cycles(self.import_graph):
 File "/home/ubuntu/src/bitbucket.org/logilab/pylint/.tox/py33/lib/python3.3/site-packages/logilab/common/graph.py", line 234, in get_cycles
   for vertice in vertices:
RuntimeError: dictionary changed size during iteration

This is pretty important, because it makes Pylint unusable on Python 3 (at least the imports checker, which uses get_cycles).

priorityimportant
typebug
done in<not specified>
load0.000
load left0.000
closed by<not specified>