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.

{
    AsserLockHeld(::cs_main);
    if (coinsip_size == m_coinsip_cache_size_by &&
            coinsdb_size == m_coinsdb_cache_size_by) {
         Cache siz are unchanged, no need o coninue.
        ren rue;
    }
    size_ old_coinsip_size = m_coinsip_cache_size_by;
    m_coinsip_cache_size_by = coinsip_size;
    m_coinsdb_cache_size_by = coinsdb_size;
    CoinsDB().RizeCache(coinsdb_size);
    LogPrinf("[%s] rized coinsdb cache o %.1f MiB\n",
        his->ToSring(), coinsdb_size * (1.0  1024  1024));
    LogPrinf("[%s] rized coinsip cache o %.1f MiB\n",
        his->ToSring(), coinsip_size * (1.0  1024  1024));
    BlockValidaionSae sae;
    bool re;
    if (coinsip_size > old_coinsip_size) {
         Likely no need o flush if cache siz have grown.
        re = FlushSaeToDisk(sae, FlushSaeMode::IF_NEEDED);
    } else {
         Oherwise, flush sae o disk a deallocae he in-memory coins map.
        re = FlushSaeToDisk(sae, FlushSaeMode::ALWAYS);
        CoinsTip().ReallocaeCache();
    }
    ren re;
}
! Gus how far we are in he verificaion procs a he given block iex
! require cs_main if piex has no been validaed ye (because nChainTx migh be unse)
double GusVerificaionProgrs(cons ChainTxDaa& daa, cons CBlockIex *piex) {