RuntimeError: Can't rename attribute (record is already in B-tree)
See original GitHub issueI get one test error on Windows after rebuilding h5py-2.9.0
with Cython-0.29.6
and HDF5-1.10.5
(any Python version).
To assist reproducing bugs, please include the following:
- Operating System: Windows 10
- Python version: any
- Where Python was acquired: Python.org
- h5py version: 2.9.0
- HDF5 version: 1.10.5
- The full traceback/stack trace shown (if it appears)
Summary of the h5py configuration
---------------------------------
h5py 2.9.0
HDF5 1.10.5
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit (AMD64)]
sys.platform win32
sys.maxsize 9223372036854775807
numpy 1.15.4
...........E...........................................x.................................s......................................x....................................sX:\Python37\lib\site-packages\h5py\_hl\files.py:258: H5pyDeprecationWarning: File.fid has been deprecated. Use File.id instead.
"Use File.id instead.", H5pyDeprecationWarning)
...s......ss.ss...............................................................................ss...................ssssss.....................................................................x....x.........................x......x..................................................ssss............................................................
======================================================================
ERROR: test_track_order (h5py.tests.old.test_attrs.TestTrackOrder)
----------------------------------------------------------------------
Traceback (most recent call last):
File "X:\Python37\lib\site-packages\h5py\tests\old\test_attrs.py", line 180, in test_track_order
attrs = self.fill_attrs(track_order=True) # creation order
File "X:\Python37\lib\site-packages\h5py\tests\old\test_attrs.py", line 174, in fill_attrs
attrs[str(i)] = i
File "h5py\_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py\_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "X:\Python37\lib\site-packages\h5py\_hl\attrs.py", line 95, in __setitem__
self.create(name, data=value, dtype=base.guess_dtype(value))
File "X:\Python37\lib\site-packages\h5py\_hl\attrs.py", line 210, in create
h5a.rename(self._id, self._e(tempname), self._e(name))
File "h5py\_objects.pyx", line 54, in h5py._objects.with_phil.wrapper
File "h5py\_objects.pyx", line 55, in h5py._objects.with_phil.wrapper
File "h5py\h5a.pyx", line 118, in h5py.h5a.rename
RuntimeError: Can't rename attribute (record is already in B-tree)
----------------------------------------------------------------------
Ran 509 tests in 2.525s
Issue Analytics
- State:
- Created 5 years ago
- Comments:6 (3 by maintainers)
Top Results From Across the Web
[BUG] track_order = True causes `RuntimeError: Can't rename ...
Exception to the above is that when the code snippet is executed on an already existing HDF5-file that was created with track_order =...
Read more >[BUG] H5Arename fails unexpectedly - HDF5 - HDF Forum
Issue: [BUG] track_order = True causes `RuntimeError: Can't rename attribute (record is already in B-tree)`. opened by 1313e on 2019-10-08.
Read more >force:hasRecordId - Salesforce Lightning Component Library
It adds an attribute named recordId to your component. This attribute is of type String, and its value is an 18-character Salesforce record...
Read more >Inspect the configured ER component to prevent runtime issues
This article explains how to inspect the configured Electronic reporting (ER) components to prevent runtime issues that might occur.
Read more >Errors | Basics | kdb+ and q documentation
Invalid attempt to set sorted attribute. Also encountered with `s#enums when loading a database ( \l db ) and enum target is not...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Hmm, it’s another manifestation of HDFFV-10579: https://github.com/h5py/h5py/pull/1098#issuecomment-437673605
Please put some pressure on HDF Group via forum; we cannot fix it in h5py, unfortunately.
This thread has gotten a bit contentious. I believe everyone here is operating in good faith but with constrained resources. Things fall through the cracks despite everyone’s best intentions and efforts.
It looks like we had a version check on the failing test https://github.com/h5py/h5py/blob/0cc2c24a39718022465d919fb58209bde9e1bf14/h5py/tests/old/test_attrs.py#L181-L183 being optimistic that it would be fixed in 1.10.5.
The quick fix for this is to bump the version check.
Currently h5py CI tests the development branch of h5py against a range of released versions of hdf5 [1] and install hdf5 from source if we have to [2]. I think it is reasonable to add a allowed-fail to our test suite that will install from a development version. Can we have some guidance on what branch we should pull from or is there a weekly/nightly snapshot we should pull instead? It seems like a good idea to push to the hdf5 cdash from that test (maybe not on every PR build?). travis has a way to encode whatever secrets we would need to be able to push out to the hdf5 cdash server.
However, we do not regularly (re)test the released version of h5py, it may make sense for hdfgoup to include a matrix of {py27, py36, py37}x{h5py28, h5py29} in the hdf5 test suite.
@epourmal I’ll also follow up via email.
[1] https://github.com/h5py/h5py/blob/master/.travis.yml [2] https://github.com/h5py/h5py/blob/master/ci/travis/get_hdf5_if_needed.sh