Skip to content

Refresh release assets and fix reindex stability - #4

Merged
Nikovash merged 3 commits into
devfrom
Codex
Jun 25, 2026
Merged

Refresh release assets and fix reindex stability#4
Nikovash merged 3 commits into
devfrom
Codex

Conversation

@Nikovash

Copy link
Copy Markdown
Owner

Summary

This merges the latest Codex work into dev.

  • Refresh macOS and Windows release packaging/version handling
  • Update Yerbas application, installer, tray, and release icon assets
  • Normalize updated icon file permissions
  • Bump the development version to 3.3.420.71
  • Prevent -reindex from dereferencing a null previous-block index during median-time-past validation
  • Fall back to the current block time when no previous block exists
  • Add throttled reindex progress messages to debug.log
  • Report the first imported block, every 1,000 blocks, or once per minute during slower imports
  • Include equivalent logging for recursively processed out-of-order blocks

Root cause

During early block import, ContextualCheckBlock() could receive a null pindexPrev. When median-time-past locktime rules were active, the code still called pindexPrev->GetMedianTimePast(), causing an immediate segmentation fault.

Validation

  • Full reindex now progresses through historical blocks without the previous crash
  • Reindex progress is visible in both the Qt interface and debug.log
  • Qt successfully completes the heavy startup phase and returns to the main wallet
  • GitHub reports the branches can be merged automatically

Nikovash added 3 commits June 24, 2026 20:53
- Update macOS workflow packaging so release archives extract into versioned Yerbas folders instead of the internal build staging directory
- Update Windows and Linux workflow packaging so zip and tar artifacts use versioned top-level release folders
- Keep CI version selection simple by reading release-version from build.properties and failing loudly when it is missing
- Refresh Yerbas icon assets across Qt resources and shared pixmap outputs
- Update legacy bitcoin, dash, favicon, ICNS, ICO, PNG, and SVG assets used by launchers, bundles, installers, and Qt resources
- Bump build version for the next `Codex` test build
- Fix a reindex crash in ContextualCheckBlock when importing early blocks from blk00000.dat
- Guard the median-time-past locktime cutoff so it only calls pindexPrev->GetMedianTimePast when a previous block index exists
- Fall back to the current block time when validating genesis or other no-prev-index import cases
- Root cause was the reindex/import path allowing pindexPrev to be null while BIPCSV median-time-past logic still attempted to dereference it
- Prevents yerbas-loadblk from segfaulting during -reindex in both yerbasd and yerbas-qt
- Verified reindex now progresses through historical blocks instead of crashing immediately on blk00000.dat
- Add periodic LoadExternalBlockFile progress logging during block import and reindex
- Log the first accepted block, every 1000 accepted blocks, or once per minute during slower import sections
- Include loaded block count, resolved height, and block hash in the reindex progress output
- Add matching progress logging for recursively processed out-of-order child blocks
- Makes long reindex runs visible in debug.log without requiring -debug=reindex
- Avoids logging every block so debug.log does not get spammed during full chain rebuilds
@Nikovash
Nikovash merged commit bf5c66a into dev Jun 25, 2026
18 checks passed
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