question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

RuntimeError: Can't rename attribute (record is already in B-tree)

See original GitHub issue

I 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:closed
  • Created 5 years ago
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

2reactions
aparamoncommented, Mar 7, 2019

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.

1reaction
tacaswellcommented, Mar 17, 2019

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

Read more comments on GitHub >

github_iconTop 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 >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found