summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--release_docs/RELEASE.txt15
-rw-r--r--tools/src/h5repack/h5repack_refs.c9
2 files changed, 23 insertions, 1 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 6e87429..20e7fb5 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -32,6 +32,7 @@ CONTENTS
- New Features
- Support for new platforms and languages
+- Bug Fixes since HDF5-1.12.0-alpha1
- Major Bug Fixes since HDF5-1.10.0
- Supported Platforms
- Tested Configuration Features Summary
@@ -234,6 +235,20 @@ Support for new platforms, languages and compilers.
- Added cray-mpich/PrgEnv with gcc and Intel compilers on Linux 4.14.180
- Added spectrum mpi with clang, gcc and xl compilers on Linux 4.14.0
+Bug Fixes since HDF5-1.12.0-alpha1 release
+==================================
+ Tools:
+ ------
+ - h5repack was fixed to repack the reference attributes properly.
+ The code line that checks if the update of reference inside a compound
+ datatype is misplaced outside the code block loop that carries out the
+ check. In consequence, the next attribute that is not the reference
+ type was repacked again as the reference type and caused the failure of
+ repacking. The fix is to move the corresponding code line to the correct
+ code block.
+
+ (KY -2020/02/10, HDFFV-11014)
+
Major Bug Fixes since HDF5-1.10.0 release
==================================
diff --git a/tools/src/h5repack/h5repack_refs.c b/tools/src/h5repack/h5repack_refs.c
index e6a747d..9544ee3 100644
--- a/tools/src/h5repack/h5repack_refs.c
+++ b/tools/src/h5repack/h5repack_refs.c
@@ -530,9 +530,16 @@ static int copy_refs_attr(hid_t loc_in,
ref_comp_size = NULL;
}
}
+ /* This line below needs to be moved in this loop instead of inserting outside. Otherwise,
+ ref_comp_field_n may be >0 for the next attribute, which may not be
+ the reference type and will be accidently treated as the reference type.
+ It will then cause the H5Acreate2 failed since that attribute is already created.
+ KY 2020-02-10
+ */
+ is_ref_comp = (ref_comp_field_n > 0);
+
}
- is_ref_comp = (ref_comp_field_n > 0);
if (!(is_ref || is_ref_vlen || is_ref_array || is_ref_comp)) {
if (H5Tclose(mtype_id) < 0)