PyTables: HDF5 1.10 breaks pytables 3.2.2

On Arch Linux HDF5 was just upgraded to 1.10. This seems to break array creation. E.g.

>>> f2 = tables.open_file('test.hdf5', 'w')
>>> f2.create_array('/', 'test', obj=np.random.randn(100))

Gives the following error,

---------------------------------------------------------------------------
HDF5ExtError                              Traceback (most recent call last)
<ipython-input-4-509467cf97dc> in <module>()
----> 1 f2.create_array('/', 'test', obj=np.random.randn(100))

/home/dsteinberg/.virtualenvs/uncover-ml/lib/python3.5/site-packages/tables/file.py in create_array(self, where, name, obj, title, byteorder, createparents, atom, shape)
   1150         parentnode = self._get_or_create_path(where, createparents)
   1151         return Array(parentnode, name,
-> 1152                      obj=obj, title=title, byteorder=byteorder)
   1153 
   1154     createArray = previous_api(create_array)

/home/dsteinberg/.virtualenvs/uncover-ml/lib/python3.5/site-packages/tables/array.py in __init__(self, parentnode, name, obj, title, byteorder, _log, _atom)
    185         # Ordinary arrays have no filters: leaf is created with default ones.
    186         super(Array, self).__init__(parentnode, name, new, Filters(),
--> 187                                     byteorder, _log)
    188 
    189     def _g_create(self):

/home/dsteinberg/.virtualenvs/uncover-ml/lib/python3.5/site-packages/tables/leaf.py in __init__(self, parentnode, name, new, filters, byteorder, _log)
    260         # is a lazy property that automatically handles their loading.
    261 
--> 262         super(Leaf, self).__init__(parentnode, name, _log)
    263 
    264     def __len__(self):

/home/dsteinberg/.virtualenvs/uncover-ml/lib/python3.5/site-packages/tables/node.py in __init__(self, parentnode, name, _log)
    265             #   Create or open the node and get its object ID.
    266             if new:
--> 267                 self._v_objectid = self._g_create()
    268             else:
    269                 self._v_objectid = self._g_open()

/home/dsteinberg/.virtualenvs/uncover-ml/lib/python3.5/site-packages/tables/array.py in _g_create(self)
    217             # on
    218             (self._v_objectid, self.shape, self.atom) = self._create_array(
--> 219                 nparr, self._v_new_title, self.atom)
    220         except:  # XXX
    221             # Problems creating the Array on disk. Close node and re-raise.

tables/hdf5extension.pyx in tables.hdf5extension.Array._create_array (tables/hdf5extension.c:14170)()

HDF5ExtError: Problems creating the Array.

Downgrading HDF5 from 1.10 -> 1.8 fixes the issue. Sorry if this is already known!

Thanks!

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 19 (7 by maintainers)

Commits related to this issue

Most upvoted comments

@tomkooij Yes, the error is now gone. I was able to run the tests from build/lib.linux-XXX directory.