Get synchronization retrieved hash chain is invalid error

error message:

########## BAD BLOCK #########
Chain config: {ChainID: 1 Homestead: 1150000 DAO: 1920000 DAOSupport: true EIP150: 2463000 EIP155: 2675000 EIP158: 2675000 Byzantium: 4370000 Constantinople: 7280000 Petersburg: 7280000 Istanbul: 9069000, Muir Glacier: 9200000, Engine: ethash}

Number: 9069000
Hash: 0x072cf1df374159c5f23087750d8a2f3201542da196939ce446ff2c5c390fe5f6
·································································
·································································
·································································
·································································
·································································
Error: invalid gas used (remote: 6395997 local: 6449093)
##############################
 
WARN [12-10|12:01:11.813] Synchronisation failed, dropping peer    peer=106a4c4cba9167bf err="retrieved hash chain is invalid"

environment

Geth
Version: 1.9.7
Architecture: amd64
Protocol Versions: [64 63]
Go Version: go1.13.1
Operating System: Linux

cause:

ethereum update 2.0, starting with block 9069000, found on github that this error

occurs with version 1.9.8 1.9.7

scheme:

updates geth to version 1.9.9. The following provides an update method

centos7 environment

  1. select the latest version to download geth download address
wget -c https://github.com/ethereum/go-ethereum/archive/v1.9.9.zip
  1. download good, unzip (no unzip download a unzip)
unzip v1.9.9.zip
  1. then enter the directory, make geth
cd go-ethereum-1.9.9 
make geth
  1. if make geth for a long time no response, probably is the problem of the network, add a proxy, command line input:

export GOPROXY=https://goproxy.cn

  1. and then re-make geth is ok.

  2. after loading, check the version of geth. If it is still the original version, delete the original geth command

    export PATH=$PATH:~/go-ethereum-1.9.9/build/bin/
    $PATH:

    for your geth command

    vim  /etc/profile
    
    1. and then refresh
    source /etc/profile
    

    check the next version should be ok

    and then back on track, pull block

Read More: