Skip to content

Forward-port #932 (genesis append, #931) and #930 (StartOS RUST_LOG) to master - #934

Merged
bkeroack merged 2 commits into
masterfrom
fix/fwdport-061-genesis-rustlog
Oct 8, 2026
Merged

bkeroack merged 2 commits into
masterfrom
fix/fwdport-061-genesis-rustlog

Conversation

@bkeroack

@bkeroack bkeroack commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

Brings two release/0.6 fixes to master, cherry-picked with -x:

Both commits applied cleanly except for the release-notes files. Each code patch is identical to the one on release/0.6: the git patch-id of each original (all paths except CHANGELOG.md and docs/release-notes/) equals that of its cherry-pick here.

Fixes #931

Release notes

The CHANGELOG.md bullets and the docs/release-notes/0.6.1-pre.md sections stay on release/0.6, as in #921, #926 and #928. They will reach master with the 0.6.1 cut.

Verified

Ran locally on this branch:

  • cargo clippy --all-targets --all-features -- -D warnings
  • cargo build --tests --features e2e
  • the node lib suite: 2159 passed, including both new genesis tests
  • the regtest reindex and SIGTERM tests: 16 passed
  • the StartOS package tests (npm test): 19 passed, including the new RUST_LOG check

On release/0.6, both patches passed CI and a Devin review before they merged.

🤖 Generated with Claude Code

bkeroack and others added 2 commits October 7, 2026 16:02
…#932)

A full -reindex empties the database, and ChainState::new then took the
empty store for a new datadir: genesis was not in the block index, so it
appended the genesis block to the last block file. Every reindex left a
duplicate genesis record behind, and on a datadir switched from Bitcoin
Core it wrote into one of Core's files.

On an empty store, ChainState::new now reads the first record of
blk00000.dat, through the xor.dat key, and when its payload is the
genesis block byte for byte, indexes genesis there. satd and Core both
write genesis first. A datadir whose files do not begin with it (a new
one, a pruned one) gets it written as before. Core reaches the same
result by finding genesis in the files during its reindex.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit e17fe07)
StartOS starts every daemon with RUST_LOG=warn,start_core=debug in its
environment, and satd takes its log filter from RUST_LOG over its own
default of info. Under the package, the service log carried warnings
only: no sync progress, no reindex phases, no shutdown steps. Found
while testing the 0.6.1 reindex and stop fixes in a StartOS VM, where
the process environment showed the inherited value.

The satd daemon now sets RUST_LOG=info. A test checks the satd daemon's
exec carries it, and that satd still reads RUST_LOG.

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 33902a4)
@bkeroack
bkeroack merged commit 7c1e26b into master Oct 8, 2026
38 checks passed
@bkeroack
bkeroack deleted the fix/fwdport-061-genesis-rustlog branch October 8, 2026 18:49
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.

A full -reindex appends a duplicate genesis block to the last block file

1 participant