I get a lot of spurious messages like this in the log:
```
2019-08-31T18:07:53Z Synchronizing blockheaders, height: 592633 (~100.00%)
2019-08-31T18:09:40Z Synchronizing blockheaders, height: 592634 (~100.00%)
2019-08-31T18:09:40Z Synchronizing blockheaders, height: 592634 (~100.00%)
2019-08-31T18:09:40Z Synchronizing blockheaders, height: 592634 (~100.00%)
2019-08-31T18:09:40Z Synchronizing blockheaders, height: 592634 (~100.00%)
2019-08-31T18:09:40Z Synchronizing blockheaders, height: 592634 (~100.00%)
2019-08-31T18:10:28Z Synchronizing blockheaders, height: 592635 (~100.00%)
2019-08-31T18:10:28Z Synchronizing blockheaders, height: 592635 (~100.00%)
2019-08-31T18:10:28Z Synchronizing blockheaders, height: 592635 (~100.00%)
2019-08-31T18:10:28Z Synchronizing blockheaders, height: 592635 (~100.00%)
2019-08-31T18:10:28Z Synchronizing blockheaders, height: 592635 (~100.00%)
2019-08-31T18:11:01Z Synchronizing blockheaders, height: 592636 (~100.00%)
2019-08-31T18:11:01Z Synchronizing blockheaders, height: 592636 (~100.00%)
2019-08-31T18:11:01Z Synchronizing blockheaders, height: 592636 (~100.00%)
2019-08-31T18:11:01Z Synchronizing blockheaders, height: 592636 (~100.00%)
2019-08-31T18:11:01Z Synchronizing blockheaders, height: 592636 (~100.00%)
```
also
```
2019-08-31T18:19:47Z New outbound peer connected: version: 70015, blocks=592636, peer=0
2019-08-31T18:19:47Z Synchronizing blockheaders, height: 592636 (~100.00%)
2019-08-31T18:19:47Z New outbound peer connected: version: 70015, blocks=592636, peer=1
2019-08-31T18:19:48Z Synchronizing blockheaders, height: 592636 (~100.00%)
2019-08-31T18:19:48Z New outbound peer connected: version: 70015, blocks=592636, peer=2
2019-08-31T18:19:49Z Synchronizing blockheaders, height: 592636 (~100.00%)
```
This log message was introduced in #15615 by @jonasschnelli..
From what I understand, it's supposed to only be shown once per 2000 blocks, not multiple times for the same block.


bool out_of_space;
        size_t bytes_allocated = BlockFileSeq().Allocate(pos, nAddSize, out_of_space);
        if (out_of_space) {
            return AbortNode("Disk space is too low!", _("Error: Disk space is too low!").translated, CClientUIInterface::MSG_NOPREFIX);
        }
        if (bytes_allocated != 0 && fPruneMode) {
            fCheckForPruning = true;
        }
    }
    setDirtyFileInfo.insert(nFile);
    return true;
}
static bool FindUndoPos(CValidationState &state, int nFile, FlatFilePos &pos, unsigned int nAddSize)
{
    pos.nFile = nFile;
    LOCK(cs_LastBlockFile);
    pos.nPos = vinfoBlockFile[nFile].nUndoSize;
    vinfoBlockFile[nFile].nUndoSize += nAddSize;
    setDirtyFileInfo.insert(nFile);
    bool out_of_space;
    size_t bytes_allocated = UndoFileSeq().Allocate(pos, nAddSize, out_of_space);
    if (out_of_space) {
        return AbortNode(state, "Disk space is too low!", _("Error: Disk space is too low!").translated, CClientUIInterface::MSG_NOPREFIX);
    }
    if (bytes_allocated != 0 && fPruneMode) {
        fCheckForPruning = true;
    }
    return true;
}
static bool CheckBlockHeader(const CBlockHeader& block, CValidationState& state, const Consensus::Params& consensusParams, bool fCheckPOW = true)