diff --git a/core/state/snapshot/iterator.go b/core/state/snapshot/iterator.go index 84cc5c3bca..e6a0cd9474 100644 --- a/core/state/snapshot/iterator.go +++ b/core/state/snapshot/iterator.go @@ -125,6 +125,7 @@ func (it *diffAccountIterator) Account() []byte { blob, ok := it.layer.accountData[it.curHash] if !ok { if _, ok := it.layer.destructSet[it.curHash]; ok { + it.layer.lock.RUnlock() return nil } panic(fmt.Sprintf("iterator referenced non-existent account: %x", it.curHash))