Skip to content

[6.40][hbook] Pass the full 64 bit buffer address to HBNAM - #23968

Merged
guitargeek merged 1 commit into
root-project:v6-40-00-patchesfrom
guitargeek:cherry-pick-23628-v6-40
Nov 4, 2026
Merged

guitargeek merged 1 commit into
root-project:v6-40-00-patchesfrom
guitargeek:cherry-pick-23628-v6-40

Conversation

@guitargeek

Copy link
Copy Markdown
Contributor

Backport of #23938 to the 6.40 branch.

(cherry picked from commit 25df3ab)

Since 21cb0e6 (6.40.04), LOCF returns the full 64 bit word address
instead of the low 32 bits. HNMADR computes the word offset of a
column-wise ntuple variable as IADDW - LOCF(IQ(1)), but h2root and
THbookFile still passed the buffer address to HBNAM as a 32 bit int, so
IADDW lost bits 32 and 33 of the address while LOCF kept them. The
stored offset was off by a multiple of 2^30 words whenever those bits
were set, which is the case for most PIE placements, and HGNT2 then
wrote the ntuple columns to a wild address.

Pass the address as INTEGER*8 through HBNAM and compute the offset from
the full addresses. THbookFile::SetBranchAddress also passed the value
stored at the user pointer instead of the pointer; it now passes the
address like the other call sites.

Add a roottest that converts a small column-wise ntuple with h2root.
The input file is written by the included mkcwn.f with CERNLIB.

Fixes root-project#23628

Assisted-by: claude-code:claude-fable-5-1
(cherry picked from commit 25df3ab)
@github-actions

github-actions Bot commented Nov 3, 2026 •

Copy link
Copy Markdown

Test Results

    23 files      23 suites   3d 18h 1m 22s ⏱️
 3 883 tests  3 535 ✅   0 💤 348 ❌
81 271 runs  79 763 ✅ 813 💤 695 ❌

For more details on these failures, see this check.

Results for commit 2edb7ca.

♻️ This comment has been updated with latest results.

@guitargeek
guitargeek merged commit e1a6647 into root-project:v6-40-00-patches Nov 4, 2026
54 of 64 checks passed
@guitargeek
guitargeek deleted the cherry-pick-23628-v6-40 branch November 4, 2026 17:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant