diff --git a/src/index/base.cpp b/src/index/base.cpp --- a/src/index/base.cpp +++ b/src/index/base.cpp @@ -96,6 +96,9 @@ prune_violation = false; break; } + // block->pprev must exist at this point, since block_to_test is + // part of the chain and thus must be encountered when going + // backwards from the tip assert(block->pprev); block = block->pprev; } diff --git a/test/functional/feature_blockfilterindex_prune.py b/test/functional/feature_blockfilterindex_prune.py --- a/test/functional/feature_blockfilterindex_prune.py +++ b/test/functional/feature_blockfilterindex_prune.py @@ -39,6 +39,9 @@ self.log.info("prune some blocks") pruneheight = node.pruneblockchain(400) + # The prune heights used here and below are magic numbers that are + # determined by the thresholds at which block files wrap, so they depend + # on disk serialization and default block file size. # The difference in number of blocks per block file between Bitcoin ABC # and Bitcoin Core is caused by additional witness data in coinbase # transactions for core.