From fa98455e4b162876d6a13057a0d6c03efae32505 Mon Sep 17 00:00:00 2001 From: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz> Date: Wed, 2 Apr 2025 18:17:35 +0200 Subject: [PATCH] fuzz: Set ignore_incoming_txs in p2p_headers_presync This avoids non-determistic code paths. Without this patch, the tool would report a diff: cargo run --manifest-path ./contrib/devtools/deterministic-fuzz-coverage/Cargo.toml -- $PWD/bld-cmake/ $PWD/../qa-assets/fuzz_corpora/ p2p_headers_presync 32 ... - 5371| 393| peer.m_next_send_feefilter = current_time + m_rng.randrange(MAX_FEEFILTER_CHANGE_DELAY); - 5372| 393| } + 5371| 396| peer.m_next_send_feefilter = current_time + m_rng.randrange(MAX_FEEFILTER_CHANGE_DELAY); + 5372| 396| } 5373| 16.2k|} ... --- src/test/fuzz/p2p_headers_presync.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/fuzz/p2p_headers_presync.cpp b/src/test/fuzz/p2p_headers_presync.cpp index 6e568ad1cfd..40e57254b1c 100644 --- a/src/test/fuzz/p2p_headers_presync.cpp +++ b/src/test/fuzz/p2p_headers_presync.cpp @@ -31,6 +31,9 @@ public: PeerManager::Options peerman_opts; node::ApplyArgsManOptions(*m_node.args, peerman_opts); peerman_opts.max_headers_result = FUZZ_MAX_HEADERS_RESULTS; + // No txs are relayed. Disable irrelevant and possibly + // non-deterministic code paths. + peerman_opts.ignore_incoming_txs = true; m_node.peerman = PeerManager::make(*m_node.connman, *m_node.addrman, m_node.banman.get(), *m_node.chainman, *m_node.mempool, *m_node.warnings, peerman_opts);