eth, trie: fix tracer GC which accidentally pruned the metaroot

This commit is contained in:
Péter Szilágyi
2018-08-08 17:16:38 +03:00
parent 8051a0768a
commit 11bbc66082
2 changed files with 11 additions and 2 deletions

View File

@ -431,6 +431,11 @@ func (db *Database) reference(child common.Hash, parent common.Hash) {
// Dereference removes an existing reference from a root node.
func (db *Database) Dereference(root common.Hash) {
// Sanity check to ensure that the meta-root is not removed
if root == (common.Hash{}) {
log.Error("Attempted to dereference the trie cache meta root")
return
}
db.lock.Lock()
defer db.lock.Unlock()