Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync develop changes May 6 - May 20 to hdf5_1_14 #4503

Merged
merged 22 commits into from
May 23, 2024

Conversation

lrknox
Copy link
Collaborator

@lrknox lrknox commented May 20, 2024

No description provided.

jschueller and others added 19 commits May 20, 2024 11:15
…#4453)

All calls to the H5I routines are now made in API routines (sometimes in
FUNC_ENTER/LEAVE_* macros), except for some calls to H5E_clear_stack() within
the library, but I'm planning to remove those over time.

Also, made all the library internal error messages into static const variables,
instead of malloc'ing them, which means that they can just be referenced
and not copied.

Several new and updated auto-generated header files were necessary to enable
this.
…conversion (HDFGroup#4459)

Also fixes issues with handling of partially initialized datatypes during library shutdown
…up#4477)

* Properly clean up cache when failing to load an object header

* Don't check message type a second time in H5G__open_oid if the first attempt returns error

* Add more asserts to H5O__assert() to avoid segfaults

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Fixes a race condition where the reader opens the file and sets its EOF from the
file's size (from the stat() call in the driver open callback).  Then, before
the reader can read the file's superblock, a SWMR writer races in, extends the
file, and closes the file, writing an updated superblock with the 'writer' and
'SWMR writer' flags in the superblock off (appropriately).  Then the reader
proceeds to read the superblock, and flags the EOF as wrong.  Taking out the
check for the 'writer' and 'SWMR writer' flags will cause SWMR readers to avoid
flagging the file as incorrect.
Document the limitation in the Passthrough Conncector section of the VOL Connector Author Guide.
The limitation is posted by Neil in the github issue on Dec 22, 2022.
…ze (HDFGroup#4491)

* Improve spec. reading superblock into cache (a little) by using v2 size

Instead of reading the absolute minimal possible, use the likely value of
a v2+ superblock w/8-byte addresses & lengths.
…te with corder tracking enabled (HDFGroup#4462)

* Fix for github issue HDFGroup#1388: can't delete renamed dense attribute with corder tracking enabled

The problem occurs in step 3(b) below which will delete the attribute with corder x
from the creation order index v2 B-tree.

The rename sequence in H5A__dense_rename() occurs in the following order:
1) The old attribute with corder x was removed from the creation order index v2 B-tree
2) The new renamed attribute was inserted via H5A__dense_insert():
(a) insert the attribute with new name j into the name index v2 B-tree
(b) insert the attribute with corder x into the creation order index v2 B-tree
3) The old attribute was removed via H5A__dense_remove():
(a) remove the attribute with old name k from the name index v2 B-tree
(b) remove the attribute with coorder x from the creation order index v2 B-tree

Fix: deactivate the "corder_bt2_addr" field so that H5A__dense_remove()
won't delete the attribute with corder x from the creation order index v2 B-tree.
* Revert "Remove Autotools sed hack (HDFGroup#3848)"

This reverts commit 8b3ffde.

* Fix libtool sed cleanup on MacOS

Convert sed -i line to sed > libtool.bak && mv libtool.bak libtool
to avoid non-portable -i option.
@lrknox lrknox changed the title Sync develop changes to 1 14 Sync develop changes May 6 - May 20 to hdf5_1_14 May 20, 2024
@lrknox lrknox added Priority - 0. Blocker ⛔ This MUST be merged for the release to happen Branch - 1.14 PRs to hdf5_1_14 Component - C Library Core C library issues (usually in the src directory) Component - Documentation Doxygen, markdown, etc. Component - Java Java wrappers Component - Fortran Fortran wrappers Component - Testing Code in test or testpar directories, GitHub workflows Component - Build CMake, Autotools labels May 20, 2024
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The plugin tgzname needs changed from master to 1_14. (line 42)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also then the plugins repo needs the PR merged

find_package (ZLIB) # Legacy find
endif ()
if (ZLIB_FOUND)
if (H5_ZLIB_FOUND)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like we'll either need to merge the zlib/szip fixes immediately after this PR or add them here.

src/H5public.h Outdated
/**
* Short version string
*/
#define H5_VERS_STR "1.15.0"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think h5vers will maintain this in the future, but I'm guessing for this PR that this should be set to 1.14.5 or similar?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated the version in line94 to 1.14.5-1. I'm not sure h5vers will maintain it as it is, because H5VERS_STR in line 94 is new, apparently duplicating line 98 but without the "HDF5 library version:" text. I think it's unlikely that h5vers was updated to maintain H5_VERS_STR in either develop or hdf5_1_14. It should be done, though.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

h5vers was updated in #4453 where H5_VERS_STR was introduced.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok, that's good. #4453 is in the sync, so it's adding H5_VERS_STR, but h5vers didn't run yet in the hdf5_1_14 branch to update the version. It should be fine.

src/H5public.h Outdated Show resolved Hide resolved
lrknox and others added 3 commits May 22, 2024 13:26
* Set H5 specific vars immediately if legacy find

* Correct find process vars (vs in-line build)

* Correct SZIP find

* Everything is libaec 1.0.6 or newer

* Correct option help text
@lrknox lrknox merged commit 86f603e into HDFGroup:hdf5_1_14 May 23, 2024
57 checks passed
@lrknox lrknox deleted the sync_develop_changes_to_1_14 branch June 7, 2024 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Branch - 1.14 PRs to hdf5_1_14 Component - Build CMake, Autotools Component - C Library Core C library issues (usually in the src directory) Component - Documentation Doxygen, markdown, etc. Component - Fortran Fortran wrappers Component - Java Java wrappers Component - Testing Code in test or testpar directories, GitHub workflows Priority - 0. Blocker ⛔ This MUST be merged for the release to happen
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants