HDF Bulletin: HDF5 1.8 Corruption Problem 02/26/10

A corruption problem was found in the HDF5 1.8 release, which affects versions 1.8.0 through 1.8.4. The problem has been fixed in HDF5 1.8.4 Patch 1.

What Causes The Problem

Files that have this corruption problem meet all of the following circumstances:

If your data matches these criteria, then you may have generated files that have incorrectly encoded IDs for attributes and shared object header messages.

How To Determine If Your Files Are Corrupted

There is no foolproof way to detect a file with these IDs incorrectly encoded, but if the h5dump tool reports an error message similar to the following when displaying information about the file, it is likely that you have a file with this problem:

      h5dump error: error getting attribute information

For files created with netCDF-4, this message will generally display when dumping information about the root group. If your application is generating an error stack similar to this, it is also likely that the file has this problem:

       .
       .
       .
       #008: ../../hdf5_v1.8/src/H5B2int.c line 1951 in H5B2_iterate_node():
   iterator function failed major: B-Tree node minor: Unable to list node
       #009: ../../hdf5_v1.8/src/H5Adense.c line 1076 in
   H5A_dense_iterate_bt2_cb(): heap op callback failed major: Attribute minor:
   Can't operate on object
       #010: ../../hdf5_v1.8/src/H5HF.c line 680 in H5HF_op(): can't operate on
   object from fractal heap major: Heap minor: Can't operate on object
       #011: ../../hdf5_v1.8/src/H5HFman.c line 462 in H5HF_man_op(): unable to
   operate on heap object major: Heap minor: Can't operate on object
       #012: ../../hdf5_v1.8/src/H5HFman.c line 276 in H5HF_man_op_real():
   fractal heap object offset too large major: Heap minor: Out of range

Fixing The Problem

A tool is being developed that can be run on a corrupted file to correct it.

Please contact the HDF Helpdesk if you are unable to wait for this tool.