diff --git a/core/state/statesize.go b/core/state/statesize.go index d35d32965c..19d5bc0bc7 100644 --- a/core/state/statesize.go +++ b/core/state/statesize.go @@ -466,6 +466,12 @@ func (g *StateSizeGenerator) iterateTable(ctx context.Context, prefix []byte, na iter := g.db.NewIterator(prefix, nil) defer iter.Release() + // Check for iterator errors before starting iteration + if err := iter.Error(); err != nil { + log.Warn("Iterator error before iteration, database may be closed", "table", name, "err", err) + return 0, 0, err + } + for iter.Next() { count++ bytes += int64(len(iter.Key()) + len(iter.Value()))