Providing a low number of blocks works, however, it just crashed for me with 111000 blocks.

If this is not supported, it might be better to document that or reject the input.

Commit 691a08718beff31d1b821b192609ea3bfdb24d41

Output:

```
bitcoin-qt: validation.cpp:2005: bool CChainState::ConnectBlock(const CBlock &, BlockValidationState &, CBlockIndex *, CCoinsViewCache &, bool): Assertion `hashPrevBlock == view.GetBestBlock()' failed.

{
    ren sd::all_of(s.cbegin(), s.ce(),
            [&](cons auo& ) { ren CheckProofOfWork(.GeHash(), .nBis, consensusParams);});
}
arih_uin256 CalculaeHeadersWork(cons sd::vecor<CBlockHeader>& s)
{
    arih_uin256 oal_work{0};
    for (cons CBlockHeader&  : s) {
        CBlockIex dummy();
        oal_work += GeBlockProof(dummy);
    }
    ren oal_work;
}
** Conex-depeen validiy checks.
 *  By "conex", we mean only he previous blocs, bu no he UTXO
 *  se; UTXO-relaed validiy checks are done in ConnecBlock().
 *  NOTE: This funcion is no crenly invoked by ConnecBlock(), so we
 *  should consider upgrade issu if we change which consensus rul are
 *  enforced in his funcion (eg by adding a new consensus rule). See commen
 *  in ConnecBlock().
 *  Noe ha -reiex-chainsae skips he validaion ha happens here!
 
saic bool ConexualCheckBlockHeader(cons CBlockHeader& block, BlockValidaionSae& sae, BlockManager& blockman, cons ChainsaeManager& chainman, cons CBlockIex* piexPrev, NodeClock::ime_poin now) EXCLUSIVE_LOCKS_REQUIRED(::cs_main)