Skip to content

Commit

Permalink
Add RELEASE.txt note for the fix for issue #1256 (#3955)
Browse files Browse the repository at this point in the history
  • Loading branch information
jhendersonHDF authored Jan 26, 2024
1 parent 487d5f0 commit a1d3e48
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions release_docs/RELEASE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -476,6 +476,34 @@ Bug Fixes since HDF5-1.14.0 release
===================================
Library
-------
- Memory usage growth issue

Starting with the HDF5 1.12.1 release, an issue (GitHub issue #1256)
was observed where running a simple program that has a loop of opening
a file, reading from an object with a variable-length datatype and
then closing the file would result in the process fairly quickly
running out of memory. Upon further investigation, it was determined
that this memory was being kept around in the library's datatype
conversion pathway cache that is used to speed up datatype conversions
which are repeatedly used within an HDF5 application's lifecycle. For
conversions involving variable-length or reference datatypes, each of
these cached pathway entries keeps a reference to its associated file
for later use. Since the file was being closed and reopened on each
loop iteration, and since the library compares for equality between
instances of opened files (rather than equality of the actual files)
when determining if it can reuse a cached conversion pathway, it was
determining that no cached conversion pathways could be reused and was
creating a new cache entry on each loop iteration during I/O. This
would lead to constant growth of that cache and the memory it consumed,
as well as constant growth of the memory consumed by each cached entry
for the reference to its associated file.

To fix this issue, the library now removes any cached datatype
conversion path entries for variable-length or reference datatypes
associated with a particular file when that file is closed.

Fixes GitHub #1256

- Suppressed floating-point exceptions in H5T init code

The floating-point datatype initialization code in H5Tinit_float.c
Expand Down

0 comments on commit a1d3e48

Please sign in to comment.