From f2cc697cb45d0b3ad1f73b089dff7fb3b3801be2 Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Thu, 19 Mar 2026 14:03:07 +0000 Subject: [PATCH] fix: Suppress Ledger::setValidated data race in TSAN MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add suppression for pre-existing data race on LedgerHeader::validated (plain bool mutable) between LedgerMaster worker thread and test code. The flag is monotonic (false→true only), so the race is benign but technically UB. Proper fix (atomic) deferred to a follow-up. Co-Authored-By: Claude Opus 4.6 --- sanitizers/suppressions/tsan.supp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/sanitizers/suppressions/tsan.supp b/sanitizers/suppressions/tsan.supp index 993cb6cc08..ff684e3e25 100644 --- a/sanitizers/suppressions/tsan.supp +++ b/sanitizers/suppressions/tsan.supp @@ -49,6 +49,12 @@ deadlock:RCLConsensus deadlock:LedgerReplayTask deadlock:LedgerDeltaAcquire +# Data race on LedgerHeader::validated (bool mutable). +# This is a monotonic flag (false→true, never back) set by LedgerMaster +# worker threads and read by test/RPC code. Benign but technically UB. +# Proper fix: make validated std::atomic. +race:Ledger::setValidated + # Signal/crash suppressions for GCC TSAN instrumentation issues signal:std::__cxx11::basic_stringbuf signal:basic_stringbuf