Bug 1712818

Summary: python-tables fails to build with Python 3.8
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-tablesAssignee: Thibault North <thibault.north>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: thibault.north, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-tables-3.5.2-1.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-06-02 13:08:57 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1686977    
Attachments:
Description Flags
Full log from Copr none

Description Miro Hrončok 2019-05-22 10:04:14 UTC
Created attachment 1571952 [details]
Full log from Copr

python-tables 3.4.4-7.fc31 and 3.5.1-1.fc31 fail to build with Python 3.8.0a4:


======================================================================
ERROR: None (tables.tests.test_basics.NoNodeCacheOpenFile)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/tests/test_basics.py", line 565, in test09e_renameGroup
    self.h5file.rename_node('/', name='agroup', newname='agroup_')
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 1701, in rename_node
    obj._f_rename(newname, overwrite)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 605, in _f_rename
    self._f_move(newname=newname, overwrite=overwrite)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 689, in _f_move
    self._g_move(newparent, newname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/group.py", line 603, in _g_move
    self._v_file._update_node_locations(oldpath, newpath)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 2852, in _update_node_locations
    for nodepath in cache:
  File "/usr/lib64/python3.8/weakref.py", line 223, in keys
    for k, wr in self.data.items():
RuntimeError: dictionary keys changed during iteration

======================================================================
ERROR: None (tables.tests.test_indexes.BasicReadTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/tests/test_indexes.py", line 566, in test10d_moveIndex
    table.move(agroup, "table2")
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/leaf.py", line 625, in move
    self._f_move(newparent, newname, overwrite, createparents)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 689, in _f_move
    self._g_move(newparent, newname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/table.py", line 2678, in _g_move
    itgroup._g_move(newigroup, newiname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/group.py", line 603, in _g_move
    self._v_file._update_node_locations(oldpath, newpath)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 2852, in _update_node_locations
    for nodepath in cache:
  File "/usr/lib64/python3.8/weakref.py", line 223, in keys
    for k, wr in self.data.items():
RuntimeError: dictionary keys changed during iteration

======================================================================
ERROR: None (tables.tests.test_indexes.ZlibReadTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/tests/test_indexes.py", line 566, in test10d_moveIndex
    table.move(agroup, "table2")
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/leaf.py", line 625, in move
    self._f_move(newparent, newname, overwrite, createparents)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 689, in _f_move
    self._g_move(newparent, newname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/table.py", line 2678, in _g_move
    itgroup._g_move(newigroup, newiname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/group.py", line 603, in _g_move
    self._v_file._update_node_locations(oldpath, newpath)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 2852, in _update_node_locations
    for nodepath in cache:
  File "/usr/lib64/python3.8/weakref.py", line 223, in keys
    for k, wr in self.data.items():
RuntimeError: dictionary keys changed during iteration

======================================================================
ERROR: None (tables.tests.test_indexes.BloscReadTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/tests/test_indexes.py", line 566, in test10d_moveIndex
    table.move(agroup, "table2")
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/leaf.py", line 625, in move
    self._f_move(newparent, newname, overwrite, createparents)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 689, in _f_move
    self._g_move(newparent, newname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/table.py", line 2678, in _g_move
    itgroup._g_move(newigroup, newiname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/group.py", line 603, in _g_move
    self._v_file._update_node_locations(oldpath, newpath)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 2852, in _update_node_locations
    for nodepath in cache:
  File "/usr/lib64/python3.8/weakref.py", line 223, in keys
    for k, wr in self.data.items():
RuntimeError: dictionary keys changed during iteration

======================================================================
ERROR: None (tables.tests.test_indexes.LZOReadTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/tests/test_indexes.py", line 566, in test10d_moveIndex
    table.move(agroup, "table2")
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/leaf.py", line 625, in move
    self._f_move(newparent, newname, overwrite, createparents)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 689, in _f_move
    self._g_move(newparent, newname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/table.py", line 2678, in _g_move
    itgroup._g_move(newigroup, newiname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/group.py", line 603, in _g_move
    self._v_file._update_node_locations(oldpath, newpath)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 2852, in _update_node_locations
    for nodepath in cache:
  File "/usr/lib64/python3.8/weakref.py", line 223, in keys
    for k, wr in self.data.items():
RuntimeError: dictionary keys changed during iteration

======================================================================
ERROR: None (tables.tests.test_indexes.Bzip2ReadTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/tests/test_indexes.py", line 566, in test10d_moveIndex
    table.move(agroup, "table2")
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/leaf.py", line 625, in move
    self._f_move(newparent, newname, overwrite, createparents)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 689, in _f_move
    self._g_move(newparent, newname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/table.py", line 2678, in _g_move
    itgroup._g_move(newigroup, newiname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/group.py", line 603, in _g_move
    self._v_file._update_node_locations(oldpath, newpath)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 2852, in _update_node_locations
    for nodepath in cache:
  File "/usr/lib64/python3.8/weakref.py", line 223, in keys
    for k, wr in self.data.items():
RuntimeError: dictionary keys changed during iteration

======================================================================
ERROR: None (tables.tests.test_indexes.ShuffleReadTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/tests/test_indexes.py", line 566, in test10d_moveIndex
    table.move(agroup, "table2")
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/leaf.py", line 625, in move
    self._f_move(newparent, newname, overwrite, createparents)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 689, in _f_move
    self._g_move(newparent, newname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/table.py", line 2678, in _g_move
    itgroup._g_move(newigroup, newiname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/group.py", line 603, in _g_move
    self._v_file._update_node_locations(oldpath, newpath)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 2852, in _update_node_locations
    for nodepath in cache:
  File "/usr/lib64/python3.8/weakref.py", line 223, in keys
    for k, wr in self.data.items():
RuntimeError: dictionary keys changed during iteration

======================================================================
ERROR: None (tables.tests.test_indexes.Fletcher32ReadTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/tests/test_indexes.py", line 566, in test10d_moveIndex
    table.move(agroup, "table2")
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/leaf.py", line 625, in move
    self._f_move(newparent, newname, overwrite, createparents)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 689, in _f_move
    self._g_move(newparent, newname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/table.py", line 2678, in _g_move
    itgroup._g_move(newigroup, newiname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/group.py", line 603, in _g_move
    self._v_file._update_node_locations(oldpath, newpath)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 2852, in _update_node_locations
    for nodepath in cache:
  File "/usr/lib64/python3.8/weakref.py", line 223, in keys
    for k, wr in self.data.items():
RuntimeError: dictionary keys changed during iteration

======================================================================
ERROR: None (tables.tests.test_indexes.ShuffleFletcher32ReadTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/tests/test_indexes.py", line 566, in test10d_moveIndex
    table.move(agroup, "table2")
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/leaf.py", line 625, in move
    self._f_move(newparent, newname, overwrite, createparents)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 689, in _f_move
    self._g_move(newparent, newname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/table.py", line 2678, in _g_move
    itgroup._g_move(newigroup, newiname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/group.py", line 603, in _g_move
    self._v_file._update_node_locations(oldpath, newpath)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 2852, in _update_node_locations
    for nodepath in cache:
  File "/usr/lib64/python3.8/weakref.py", line 223, in keys
    for k, wr in self.data.items():
RuntimeError: dictionary keys changed during iteration

======================================================================
ERROR: None (tables.tests.test_indexes.OneHalfTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/tests/test_indexes.py", line 566, in test10d_moveIndex
    table.move(agroup, "table2")
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/leaf.py", line 625, in move
    self._f_move(newparent, newname, overwrite, createparents)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 689, in _f_move
    self._g_move(newparent, newname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/table.py", line 2678, in _g_move
    itgroup._g_move(newigroup, newiname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/group.py", line 603, in _g_move
    self._v_file._update_node_locations(oldpath, newpath)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 2852, in _update_node_locations
    for nodepath in cache:
  File "/usr/lib64/python3.8/weakref.py", line 223, in keys
    for k, wr in self.data.items():
RuntimeError: dictionary keys changed during iteration

======================================================================
ERROR: None (tables.tests.test_indexes.UpperBoundTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/tests/test_indexes.py", line 566, in test10d_moveIndex
    table.move(agroup, "table2")
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/leaf.py", line 625, in move
    self._f_move(newparent, newname, overwrite, createparents)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 689, in _f_move
    self._g_move(newparent, newname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/table.py", line 2678, in _g_move
    itgroup._g_move(newigroup, newiname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/group.py", line 603, in _g_move
    self._v_file._update_node_locations(oldpath, newpath)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 2852, in _update_node_locations
    for nodepath in cache:
  File "/usr/lib64/python3.8/weakref.py", line 223, in keys
    for k, wr in self.data.items():
RuntimeError: dictionary keys changed during iteration

======================================================================
ERROR: None (tables.tests.test_indexes.LowerBoundTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/tests/test_indexes.py", line 566, in test10d_moveIndex
    table.move(agroup, "table2")
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/leaf.py", line 625, in move
    self._f_move(newparent, newname, overwrite, createparents)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/node.py", line 689, in _f_move
    self._g_move(newparent, newname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/table.py", line 2678, in _g_move
    itgroup._g_move(newigroup, newiname)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/group.py", line 603, in _g_move
    self._v_file._update_node_locations(oldpath, newpath)
  File "/builddir/build/BUILDROOT/python-tables-3.4.4-7.fc31.x86_64/usr/lib64/python3.8/site-packages/tables/file.py", line 2852, in _update_node_locations
    for nodepath in cache:
  File "/usr/lib64/python3.8/weakref.py", line 223, in keys
    for k, wr in self.data.items():
RuntimeError: dictionary keys changed during iteration

----------------------------------------------------------------------
Ran 6191 tests in 276.473s

FAILED (errors=12, skipped=44)

This blocks pandas.

Full log attached.

Comment 1 Miro Hrončok 2019-05-22 11:08:37 UTC
https://github.com/PyTables/PyTables/issues/733

Comment 2 Miro Hrončok 2019-05-27 13:26:16 UTC
Fix: https://github.com/PyTables/PyTables/pull/737