Skip to content

Backport release/v6.4: Fix last commit hash missmatch during replay#3100

Merged
masih merged 1 commit intorelease/v6.4from
backport-3097-to-release/v6.4
Mar 20, 2026
Merged

Backport release/v6.4: Fix last commit hash missmatch during replay#3100
masih merged 1 commit intorelease/v6.4from
backport-3097-to-release/v6.4

Conversation

@seidroid
Copy link
Copy Markdown

@seidroid seidroid bot commented Mar 20, 2026

Backport of #3097 to release/v6.4.

The Commit.Hash() algorithm was changed in CON-76 (#2600) to include
Height, Round, and BlockID in the Merkle tree alongside signatures.
Blocks stored by v6.3 nodes have LastCommitHash computed with the old
signatures-only algorithm. When v6.4 loads these blocks during ABCI
handshake replay, ValidateBasic recomputes the hash with the new
algorithm, producing a different value and causing a panic first
observed on `arctic-1`.

Adds Commit.LegacyHash() that uses the old (signatures-only) algorithm,
and updates Block.ValidateBasic() to fall back to it when the new hash
doesn't match.

Note that release 6.5 would make this fallback path entirely redundant,
and it should be removed in the next release.

Separated out from #3095
to capture a clear commit history of changes for the future
archeologists.

(cherry picked from commit 512976d)
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 20, 2026

The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedMar 20, 2026, 3:51 PM

@github-actions
Copy link
Copy Markdown

The latest Buf updates on your PR. Results from workflow Buf / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed✅ passedMar 20, 2026, 3:48 PM

@masih masih enabled auto-merge (squash) March 20, 2026 15:51
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 20, 2026

Codecov Report

❌ Patch coverage is 69.23077% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 58.38%. Comparing base (567ec92) to head (0abd674).
⚠️ Report is 1 commits behind head on release/v6.4.

Files with missing lines Patch % Lines
sei-tendermint/types/block.go 69.23% 2 Missing and 2 partials ⚠️
Additional details and impacted files

Impacted file tree graph

@@              Coverage Diff              @@
##           release/v6.4    #3100   +/-   ##
=============================================
  Coverage         58.38%   58.38%           
=============================================
  Files              2088     2088           
  Lines            172082   172094   +12     
=============================================
+ Hits             100466   100485   +19     
+ Misses            62659    62649   -10     
- Partials           8957     8960    +3     
Flag Coverage Δ
sei-chain-pr 81.79% <69.23%> (?)
sei-db 70.62% <ø> (+0.21%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
sei-tendermint/types/block.go 86.99% <69.23%> (-0.40%) ⬇️

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@masih masih merged commit 24db4e8 into release/v6.4 Mar 20, 2026
41 of 43 checks passed
@masih masih deleted the backport-3097-to-release/v6.4 branch March 20, 2026 16:03
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.

2 participants