Skip to content

fuzz: keep compact follow inside Core's mock clock - #972

Merged
reardencode merged 1 commit into
masterfrom
fuzz/cmpct-mock-clock
Oct 9, 2026
Merged

reardencode merged 1 commit into
masterfrom
fuzz/cmpct-mock-clock

Conversation

@rearden-grok

@rearden-grok rearden-grok Bot commented Oct 9, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Fold compact-fuzz header stamps into genesis + 600 through genesis + 2 hours, the window Core accepts when this job's setmocktime is regtest genesis.
  • Pin the follow accept to that same clock, so a header past the window is time-too-new on both sides.
  • Include Core's submitblock reason in the compact follow split panic.

Overnight cmpct_differential panicked ours=true core=false on a coinbase-only block 961 seconds past that cap. The hub uses the wall clock, so a 2011 stamp was not too new.

Test plan

  • cargo test --manifest-path fuzz/Cargo.toml --lib (the three new pins failed first)
  • GitHub test / qc (workspace suite is not run locally on this PR)

Made with Cursor

The nightly compact job setmocktime's bitcoind to regtest genesis, then
stamped headers up to genesis plus about three hours. Core rejected those
as time-too-new while the hub, on the wall clock, accepted them. Fold the
stamp into the two-hour window, pin the follow accept to the same clock,
and put Core's submitblock reason on the split panic.

Co-authored-by: Cursor <cursoragent@cursor.com>
@reardencode
reardencode merged commit ebd802e into master Oct 9, 2026
18 checks passed
@rearden-grok
rearden-grok Bot deleted the fuzz/cmpct-mock-clock branch October 9, 2026 19:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant