summaryrefslogtreecommitdiffstats
path: root/release_docs
diff options
context:
space:
mode:
authorjhendersonHDF <jhenderson@hdfgroup.org>2022-02-08 04:04:41 (GMT)
committerGitHub <noreply@github.com>2022-02-08 04:04:41 (GMT)
commit01092658a3095c31d7dc1ed1beebbd965095c244 (patch)
tree34f67ee1370a3b0d5a8a22e606c42cb729b4a5f8 /release_docs
parentc9347450c11edc8d73542a6244333d04f3462045 (diff)
downloadhdf5-01092658a3095c31d7dc1ed1beebbd965095c244.zip
hdf5-01092658a3095c31d7dc1ed1beebbd965095c244.tar.gz
hdf5-01092658a3095c31d7dc1ed1beebbd965095c244.tar.bz2
Fix metadata cache bug when resizing a pinned/protected entry (#1358)
When resizing a pinned/protected cache entry, the metadata cache code previously would wait until after resizing the entry to attempt to log the newly-dirtied entry. This would cause H5C_resize_entry to mark the entry as dirty and make H5AC_resize_entry think that it doesn't need to add the newly-dirtied entry to the dirty entries skiplist. Thus, a subsequent H5AC__log_moved_entry would think it needs to allocate a new entry for insertion into the dirty entry skip list, since the entry doesn't exist on that list. This causes an assertion failure, as the code to allocate a new entry assumes that the entry is not dirty.
Diffstat (limited to 'release_docs')
-rw-r--r--release_docs/RELEASE.txt17
1 files changed, 17 insertions, 0 deletions
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index ece00cc..d5dde34 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -1075,6 +1075,23 @@ Bug Fixes since HDF5-1.12.0 release
===================================
Library
-------
+ - Fixed a metadata cache bug when resizing a pinned/protected cache entry
+
+ When resizing a pinned/protected cache entry, the metadata
+ cache code previously would wait until after resizing the
+ entry to attempt to log the newly-dirtied entry. This would
+ cause H5C_resize_entry to mark the entry as dirty and make
+ H5AC_resize_entry think that it doesn't need to add the
+ newly-dirtied entry to the dirty entries skiplist.
+
+ Thus, a subsequent H5AC__log_moved_entry would think it
+ needs to allocate a new entry for insertion into the dirty
+ entry skip list, since the entry doesn't exist on that list.
+ This causes an assertion failure, as the code to allocate a
+ new entry assumes that the entry is not dirty.
+
+ (JTH - 2022/01/12)
+
- Fixed an H5Pget_filter_by_id1/2() assert w/ out of range filter IDs
Both H5Pget_filter_by_id1 and 2 did not range check the filter ID, which