Ethereum Tutorials - Herong's Tutorial Examples - v1.06, by Herong Yang
"Head State Missing" Error on Restarting "geth"
This section describes the issue with 'Head State Missing' error on restarting 'geth' on a private network.
After growing the blockchain in my private Ethereum block, I closed the "geth" node and started it again. The "geth" node is running with no problem, but the blockchain was truncated back to the genesis block.
Here is what happened:
1. Check the block count and to close the "geth" node:
> eth.blockNumber 7 > exit C:\>
2. Restart the "geth" node and check the block count:
C:\>"\Program Files\geth\geth" --datadir \herong\Ethereum\personal console 2>> geth-personal.log > eth.blockNumber 0
All blocks are gone, except the genesis block. Why?
3. Check the log file:
INFO Commit new mining work number=7 txs=0 uncles=0
INFO Successfully sealed new block number=7 hash=ab8263…a0533c
INFO block reached canonical chain number=2 hash=56ced2…2c1765
INFO mined potential block number=7 hash=ab8263…a0533c
INFO IPC endpoint closed endpoint=\\\\.\\pipe\\geth.ipc
ERROR Dangling trie nodes after full cleanup
INFO Blockchain manager stopped
INFO Stopping Ethereum protocol
INFO Ethereum protocol stopped
INFO Transaction pool stopped
INFO Database closed
database=C:\\herong\\Ethereum\\personal\\geth\\chaindata
("geth" is closed now)
("geth" is started again)
INFO Maximum peer count ETH=25 LES=0 total=25
INFO Starting peer-to-peer node instance=Geth/v1.8.1-...
INFO Allocated cache and file handles
database=C:\\herong\\Ethereum\\personal\\geth\\chaindata
INFO Initialised chain configuration config="{ChainID: 314 ...
INFO Disk storage enabled for ethash caches dir=C:\\herong\\Ethereum...
INFO Disk storage enabled for ethash DAGs dir=C:\\Users\\herong\\...
INFO Initialising Ethereum protocol versions="[63 62]" network=1
WARN Head state missing, repairing chain number=7 hash=ab8263…a0533c
INFO Rewound blockchain to past state number=0 hash=1019b1…220d59
INFO Loaded most recent local header number=7 hash=ab8263…a0533c
INFO Loaded most recent local full block number=0 hash=1019b1…220d59
INFO Loaded most recent local fast block number=7 hash=ab8263…a0533c
INFO Loaded local transaction journal transactions=0 dropped=0
INFO Regenerated local transaction journal transactions=0 accounts=0
INFO Starting P2P networking
...
INFO Commit new mining work number=1 txs=0 uncles=0
Based on the log entries, I lost all blocks, because "Head state missing" on restarting the "geth" node. But that might be related to the error during the "geth" shutdown process:
ERROR Dangling trie nodes after full cleanup
After searching Internet on this issue, I found a comment that says: "It seems a bug in geth. It works perfectly in geth 1.8.2..."
Table of Contents
Deprecated: Testnet - Ropsten Network
64-Bit "geth" for Private Ethereum Network
►Private Network with Custom Genesis Block
Transferring Funds between Ether Accounts
MetaMask - Browser Based Ethereum Wallet
Getting Free Ether on Test Networks