diff --git a/src/test/fuzz/cmpctblock.cpp b/src/test/fuzz/cmpctblock.cpp index 3e4268cb658..6af9883a2e9 100644 --- a/src/test/fuzz/cmpctblock.cpp +++ b/src/test/fuzz/cmpctblock.cpp @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -52,6 +53,7 @@ #include #include #include +#include #include #include @@ -135,6 +137,15 @@ void ResetChainmanAndMempool(TestingSetup& setup) } } +//! Used to run tasks in a std::thread to avoid DEBUG_LOCKORDER false positives. +class ImmediateBackgroundTaskRunner : public util::TaskRunnerInterface +{ +public: + void insert(std::function func) override { std::thread(std::move(func)).join(); } + void flush() override {} + size_t size() override { return 0; } +}; + } // namespace extern void MakeRandDeterministicDANGEROUS(const uint256& seed) noexcept; @@ -144,6 +155,8 @@ void initialize_cmpctblock() static const auto testing_setup = MakeNoLogFileContext(); g_setup = testing_setup.get(); g_nBits = Params().GenesisBlock().nBits; + // Replace validation_signals before creating chainman and mempool so they use it. + testing_setup->m_node.validation_signals = std::make_unique(std::make_unique()); ResetChainmanAndMempool(*g_setup); }