From 10bea9ac460e781f7e71afb3b85d9a4e4678c3a1 Mon Sep 17 00:00:00 2001 From: Vailin Choi Date: Wed, 14 Aug 2019 12:43:18 -0500 Subject: Fix for HDFFV-10813 H5Fset_metadata_read_retry_info() test fails on jelly with PGI/19. --- release_docs/RELEASE.txt | 17 +++++++++++++++++ src/H5Fint.c | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 094a81f..2cc880a 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -326,6 +326,23 @@ Bug Fixes since HDF5-1.10.3 release Library ------- + - Fixed the test failure from test_metadata_read_retry_info() in + test/swmr.c + + The test failure is due to the incorrect number of bins returned for + retry info (info.nbins). The # of bins expected for 101 read attempts + is 3 instead of 2. The routine H5F_set_retries() in src/H5Fint.c + calculates the # of bins by first obtaining the log10 value for + (read attempts - 1). For PGI/19, the log10 value for 100 read attempts + is 1.9999999999999998 instead of 2.00000. When casting the log10 value + to unsigned later on, the decimal part is chopped off causing the test + failure. + + This was fixed by performing ((value of log10) + 1) first before casting + the result to unsigned. + + (VC - 2019/8/14, HDFFV-10813) + - Fixed an issue where creating a file with non-default file space info together with library high bound setting to H5F_LIBVER_V18. diff --git a/src/H5Fint.c b/src/H5Fint.c index c9c6658..77b0cef 100644 --- a/src/H5Fint.c +++ b/src/H5Fint.c @@ -2993,7 +2993,7 @@ H5F_set_retries(H5F_t *f) f->shared->retries_nbins = 0; if(f->shared->read_attempts > 1) { tmp = HDlog10((double)(f->shared->read_attempts - 1)); - f->shared->retries_nbins = (unsigned)tmp + 1; + f->shared->retries_nbins = (unsigned)(tmp + 1); } FUNC_LEAVE_NOAPI(SUCCEED) -- cgit v0.12