From 5e3af9e4de720ec05c827c4b542ed90b59cf3d2d Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 27 Jan 2022 10:58:43 +0100 Subject: [PATCH] miner: prevent datarace, fixes #24299 --- miner/worker.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/miner/worker.go b/miner/worker.go index f49feac79f06..95c91dcc6c7c 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -726,7 +726,9 @@ func (w *worker) resultLoop() { logs = append(logs, receipt.Logs...) } // Commit block and state to database. + w.snapshotMu.RLock() _, err := w.chain.WriteBlockAndSetHead(block, receipts, logs, task.state, true) + w.snapshotMu.RUnlock() if err != nil { log.Error("Failed writing block to chain", "err", err) continue