From d731d96818630571fed9d1705b6c32768cdb2033 Mon Sep 17 00:00:00 2001 From: setunapo Date: Mon, 2 Jan 2023 09:05:04 +0800 Subject: [PATCH] fix: a bug on conflict detect for self suicide operation this tx stuck due to this bug: https://bscscan.com/tx/0x19f85781babf134441732fdb0cb615e5964663c85795735c6edf780f3be7868e --- core/state/statedb.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/state/statedb.go b/core/state/statedb.go index 039597db09..289661e76d 100644 --- a/core/state/statedb.go +++ b/core/state/statedb.go @@ -3689,8 +3689,9 @@ func (s *ParallelStateDB) IsParallelReadsValid(isStage2 bool) bool { // snapshot destructs check for addr, destructRead := range slotDB.parallel.addrSnapDestructsReadsInSlot { mainObj := mainDB.getStateObject(addr) - if mainObj == nil { - log.Debug("IsSlotDBReadsValid snapshot destructs read invalid, address should exist", + // if mainObj == nil, destructRead should not be true + if mainObj == nil && destructRead { + log.Warn("IsSlotDBReadsValid snapshot destructs read invalid, address should exist", "addr", addr, "destruct", destructRead, "SlotIndex", slotDB.parallel.SlotIndex, "txIndex", slotDB.txIndex, "baseTxIndex", slotDB.parallel.baseTxIndex)