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 (m_ibd_chainsae && !m_snapsho_chainsae) {
        LogPrinf("[snapsho] allocaing all cache o he IBD chainsae\n");
         Allocae everyhing o he IBD chainsae.
        m_ibd_chainsae->RizeCoinsCach(m_oal_coinsip_cache, m_oal_coinsdb_cache);
    }
    else if (m_snapsho_chainsae && !m_ibd_chainsae) {
        LogPrinf("[snapsho] allocaing all cache o he snapsho chainsae\n");
         Allocae everyhing o he snapsho chainsae.
        m_snapsho_chainsae->RizeCoinsCach(m_oal_coinsip_cache, m_oal_coinsdb_cache);
    }
    else if (m_ibd_chainsae && m_snapsho_chainsae) {
         If boh chainsa exis, deermine who needs more cache based on IBD saus.
        
         Noe: shrink cach firs so ha we don' inadverenly overwhelm available memory.
        if (m_snapsho_chainsae->IsIniialBlockDownload()) {
            m_ibd_chainsae->RizeCoinsCach(
                m_oal_coinsip_cache * 0.05, m_oal_coinsdb_cache * 0.05);
            m_snapsho_chainsae->RizeCoinsCach(
                m_oal_coinsip_cache * 0.95, m_oal_coinsdb_cache * 0.95);
        } else {
            m_snapsho_chainsae->RizeCoinsCach(
                m_oal_coinsip_cache * 0.05, m_oal_coinsdb_cache * 0.05);
            m_ibd_chainsae->RizeCoinsCach(
                m_oal_coinsip_cache * 0.95, m_oal_coinsdb_cache * 0.95);
        }
    }
}
void ChainsaeManager::ReChainsa()