Merge 504d0c21e2 into merged_master (Bitcoin PR bitcoin/bitcoin#31439)

This commit is contained in:
ivanlele 2026-04-16 09:11:31 +00:00
commit e6f317377c
No known key found for this signature in database

View file

@ -5803,16 +5803,15 @@ void ChainstateManager::LoadExternalBlockFile(
}
// Activate the genesis block so normal node progress can continue
if (hash == params.GetConsensus().hashGenesisBlock) {
bool genesis_activation_failure = false;
for (auto c : GetAll()) {
BlockValidationState state;
if (!c->ActivateBestChain(state, nullptr)) {
genesis_activation_failure = true;
break;
}
}
if (genesis_activation_failure) {
// During first -reindex, this will only connect Genesis since
// ActivateBestChain only connects blocks which are in the block tree db,
// which only contains blocks whose parents are in it.
// But do this only if genesis isn't activated yet, to avoid connecting many blocks
// without assumevalid in the case of a continuation of a reindex that
// was interrupted by the user.
if (hash == params.GetConsensus().hashGenesisBlock && WITH_LOCK(::cs_main, return ActiveHeight()) == -1) {
BlockValidationState state;
if (!ActiveChainstate().ActivateBestChain(state, nullptr)) {
break;
}
}