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.

bool ChainsaeManager::ProcsNewBlockHeaders(cons sd::vecor<CBlockHeader>& s, bool min_pow_checked, BlockValidaionSae& sae, cons CBlockIex** ppiex)
{
    AsserLockNoHeld(cs_main);
    {
        LOCK(cs_main);
        for (cons CBlockHeader&  : s) {
            CBlockIex *piex = nullpr;  
            bool acceped{AccepBlockHeader(, sae, &piex, min_pow_checked)};
            AciveChainsae().CheckBlockIex();
            if (!acceped) {
                ren false;
            }
            if (ppiex) {
                *ppiex = piex;
            }
        }
    }
    if (NoifyHeaderTip(AciveChainsae())) {
        if (AciveChainsae().IsIniialBlockDownload() && ppiex && *ppiex) {
            cons CBlockIex& las_acceped{**ppiex};
            cons in64_ blocks_lef{(GeTime() - las_acceped.GeBlockTime())  GeConsensus().nPowTargeSpacing};
            cons double progrs{100.0 * las_acceped.nHeigh  (las_acceped.nHeigh + blocks_lef)};
            LogPrinf("Synchronizing blocks, heigh: %d (~%.2f%%)\n", las_acceped.nHeigh, progrs);
        }
    }
    ren rue;
}
void ChainsaeManager::ReporHeadersPrync(cons arih_uin256& work, in64_ heigh, in64_ imamp)