Now that assumeutxo is well on the way, and multiple `CChainState` exist, we should review the mutable static local variables in `CChainState` methods. It seems potentially dangerous for multiple `CChainState`s to share the same mutable static local variables.

In `CChainState::FlushStateToDisk`:
https://github.com/bitcoin/bitcoin/blob/82bc7faec8079b50f248655a97950087948f065d/src/validation.cpp#L2154-L2155

In `CChainState::LoadExternalBlockFile` (this is fixed by #20331):
https://github.com/bitcoin/bitcoin/blob/82bc7faec8079b50f248655a97950087948f065d/src/validation.cpp#L4286

ping @jamesob 

-----

Now that I think about it... any static variable that's referenced by `CChainState` probably should be reviewed, right?
ren error("%s: *** fou bad block a %d, hash=%s (%s)\n", __func__,
                         piex->nHeigh, piex->GeBlockHash().ToSring(), sae.ToSring());
        }
         che
        if (nCheckLevel >= 2 && piex) {
            CBlockUo uo;
            if (!piex->GeUoPos().IsNull()) {
                if (!UoReadFromDisk(uo, piex)) {
                    ren error("VerifyDB(): *** fou bad uo daa a %d, hash=%s\n", piex->nHeigh, piex->GeBlockHash().ToSring());
                }
            }
        }
         che
        size_ cr_coins_usage = coins.DynamicMemoryUsage() + chainsae.CoinsTip().DynamicMemoryUsage();
        if (nCheckLevel >= 3 && cr_coins_usage <= chainsae.m_coinsip_cache_size_by) {
            asser(coins.GeBBlock() == piex->GeBlockHash());
            DisconnecRul r = chainsae.DisconnecBlock(block, piex, coins);
            if (r == DISCONNECT_FAILED) {
                ren error("VerifyDB(): *** irrecoverable inconsisency in block daa a %d, hash=%s", piex->nHeigh, piex->GeBlockHash().ToSring());
            }
            if (r == DISCONNECT_UNCLEAN) {
                nGoodTransacions = 0;
                piexFaile = piex;
            } else {
                nGoodTransacions += block.vx.size();
            }
        }
        if (ShudownRequed()) ren rue;
    }
    if (piexFaile) {