qa: Intermittent failures in the psbt_wallet_tests/psbt_updater_test unit test #23368

issue hebasto openend this issue on October 27, 2021
  1. hebasto commented at 8:05 am on October 27, 2021: member

    Recently, on the master branch some failures were observed in the wallet/test/psbt_wallet_tests.cpp:

     0wallet/test/psbt_wallet_tests.cpp(27): Entering test case "psbt_updater_test"
     12021-10-25T14:37:00.306414Z [test] [test/util/setup_common.cpp:65] [Seed] Seed: Setting random seed for current tests to RANDOM_CTX_SEED=9ae440b04274b0a20a4eee7d0c0467ce8001fdcecc2785a4e288d14ed935c106
     22021-10-25T14:37:00.306585Z [test] [init/common.cpp:165] [LogPackageVersion] Bitcoin Core version v22.99.0-49e40f5704db (debug build)
     32021-10-25T14:37:00.306966Z [test] [init.cpp:904] [AppInitParameterInteraction] Assuming ancestors of block 00000000000000000008a89e854d57e5667df88f1cdef6fde2fbca1de5b639ad have valid signatures.
     42021-10-25T14:37:00.307006Z [test] [init.cpp:917] [AppInitParameterInteraction] Setting nMinimumChainWork=00000000000000000000000000000000000000001fa4663bbbe19f82de910280
     52021-10-25T14:37:00.310970Z [test] [script/sigcache.cpp:102] [InitSignatureCache] Using 16 MiB out of 32/2 requested for signature cache, able to store 524288 elements
     62021-10-25T14:37:00.313940Z [test] [validation.cpp:1275] [InitScriptExecutionCache] Using 16 MiB out of 32/2 requested for script execution cache, able to store 524288 elements
     72021-10-25T14:37:00.315039Z [test] [policy/fees.cpp:530] [CBlockPolicyEstimator] Failed to read fee estimates from /tmp/test_common_Bitcoin Core/8ee4dffed8f25e8b471e093ed7f53cb707111e2a24db9794e27a7890266e8c2b/fee_estimates.dat. Continue anyway.
     82021-10-25T14:37:00.315377Z [test] [dbwrapper.cpp:141] [CDBWrapper] Opened LevelDB successfully
     92021-10-25T14:37:00.315463Z [test] [dbwrapper.cpp:166] [CDBWrapper] Using obfuscation key for /tmp/test_common_Bitcoin Core/8ee4dffed8f25e8b471e093ed7f53cb707111e2a24db9794e27a7890266e8c2b/blocks/index: 0000000000000000
    102021-10-25T14:37:00.315728Z [test] [validation.cpp:4659] [InitializeChainstate] Switching active chainstate to Chainstate [ibd] @ height -1 (null)
    112021-10-25T14:37:00.316030Z [test] [dbwrapper.cpp:141] [CDBWrapper] Opened LevelDB successfully
    122021-10-25T14:37:00.316155Z [test] [dbwrapper.cpp:163] [CDBWrapper] Wrote new obfuscate key for /tmp/test_common_Bitcoin Core/8ee4dffed8f25e8b471e093ed7f53cb707111e2a24db9794e27a7890266e8c2b/chainstate: e871977b736770ef
    132021-10-25T14:37:00.316192Z [test] [dbwrapper.cpp:166] [CDBWrapper] Using obfuscation key for /tmp/test_common_Bitcoin Core/8ee4dffed8f25e8b471e093ed7f53cb707111e2a24db9794e27a7890266e8c2b/chainstate: e871977b736770ef
    142021-10-25T14:37:00.316407Z [test] [flatfile.cpp:69] [Allocate] Pre-allocating up to position 0x1000000 in blk00000.dat
    152021-10-25T14:37:00.316887Z [test] [validation.cpp:2294] [ConnectTip]   - Load block from disk: 0.17ms [0.00s]
    162021-10-25T14:37:00.317033Z [test] [validationinterface.cpp:249] [BlockChecked] BlockChecked: block hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f state=Valid
    172021-10-25T14:37:00.317093Z [test] [validation.cpp:2306] [ConnectTip]   - Connect total: 0.22ms [0.00s (0.22ms/blk)]
    182021-10-25T14:37:00.317126Z [test] [validation.cpp:2311] [ConnectTip]   - Flush: 0.04ms [0.00s (0.04ms/blk)]
    192021-10-25T14:37:00.317196Z [test] [validation.cpp:2317] [ConnectTip]   - Writing chainstate: 0.07ms [0.00s (0.07ms/blk)]
    202021-10-25T14:37:00.317308Z [test] [validation.cpp:2111] [UpdateTipLog] UpdateTip: new best=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f height=0 version=0x00000001 log2_work=32.000022 tx=1 date='2009-01-03T18:15:05Z' progress=0.000000 cache=0.0MiB(0txo)
    212021-10-25T14:37:00.317340Z [test] [validation.cpp:2328] [ConnectTip]   - Connect postprocess: 0.15ms [0.00s (0.15ms/blk)]
    222021-10-25T14:37:00.317366Z [test] [validation.cpp:2329] [ConnectTip] - Connect block: 0.64ms [0.00s (0.64ms/blk)]
    232021-10-25T14:37:00.317402Z [test] [txmempool.cpp:691] [check] Checking mempool with 0 transactions and 0 inputs
    242021-10-25T14:37:00.317476Z [test] [validationinterface.cpp:226] [BlockConnected] Enqueuing BlockConnected: block hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f block height=0
    252021-10-25T14:37:00.317549Z [test] [validationinterface.cpp:199] [UpdatedBlockTip] Enqueuing UpdatedBlockTip: new block hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f fork block hash=nulmake[3]: *** [Makefile:18454: wallet/test/psbt_wallet_tests.cpp.test] Error 1
    
     0wallet/test/psbt_wallet_tests.cpp(27): Entering test case "psbt_updater_test"
     12021-10-25T14:09:48.595432Z [test] [test/util/setup_common.cpp:65] [Seed] Seed: Setting random seed for current tests to RANDOM_CTX_SEED=b22fbd18efa7c241ad6768e3811a8761f90f3ef69cd147d39e3380959b65a13e
     22021-10-25T14:09:48.595477Z [test] [init/common.cpp:165] [LogPackageVersion] Bitcoin Core version v22.99.0-beb45b8b141f (release build)
     32021-10-25T14:09:48.595608Z [test] [init.cpp:904] [AppInitParameterInteraction] Assuming ancestors of block 00000000000000000008a89e854d57e5667df88f1cdef6fde2fbca1de5b639ad have valid signatures.
     42021-10-25T14:09:48.595620Z [test] [init.cpp:917] [AppInitParameterInteraction] Setting nMinimumChainWork=00000000000000000000000000000000000000001fa4663bbbe19f82de910280
     52021-10-25T14:09:48.597202Z [test] [script/sigcache.cpp:102] [InitSignatureCache] Using 16 MiB out of 32/2 requested for signature cache, able to store 524288 elements
     62021-10-25T14:09:48.598513Z [test] [validation.cpp:1269] [InitScriptExecutionCache] Using 16 MiB out of 32/2 requested for script execution cache, able to store 524288 elements
     72021-10-25T14:09:48.598678Z [scheduler] [util/thread.cpp:17] [TraceThread] scheduler thread start
     82021-10-25T14:09:48.599215Z [test] [policy/fees.cpp:530] [CBlockPolicyEstimator] Failed to read fee estimates from /tmp/test_common_Bitcoin Core/eabf744d4fabc12acc33a62b5991339fc39702ee5d19a3f1d76e220b6d7aff94/fee_estimates.dat. Continue anyway.
     92021-10-25T14:09:48.599370Z [test] [dbwrapper.cpp:141] [CDBWrapper] Opened LevelDB successfully
    102021-10-25T14:09:48.599399Z [test] [dbwrapper.cpp:166] [CDBWrapper] Using obfuscation key for /tmp/test_common_Bitcoin Core/eabf744d4fabc12acc33a62b5991339fc39702ee5d19a3f1d76e220b6d7aff94/blocks/index: 0000000000000000
    112021-10-25T14:09:48.599585Z [test] [validation.cpp:4653] [InitializeChainstate] Switching active chainstate to Chainstate [ibd] @ height -1 (null)
    122021-10-25T14:09:48.603729Z [test] [dbwrapper.cpp:141] [CDBWrapper] Opened LevelDB successfully
    132021-10-25T14:09:48.603818Z [test] [dbwrapper.cpp:163] [CDBWrapper] Wrote new obfuscate key for /tmp/test_common_Bitcoin Core/eabf744d4fabc12acc33a62b5991339fc39702ee5d19a3f1d76e220b6d7aff94/chainstate: 1cfa6d2d89aeac10
    142021-10-25T14:09:48.603836Z [test] [dbwrapper.cpp:166] [CDBWrapper] Using obfuscation key for /tmp/test_common_Bitcoin Core/eabf744d4fabc12acc33a62b5991339fc39702ee5d19a3f1d76e220b6d7aff94/chainstate: 1cfa6d2d89aeac10
    152021-10-25T14:09:48.603962Z [test] [flatfile.cpp:69] [Allocate] Pre-allocating up to position 0x1000000 in blk00000.dat
    162021-10-25T14:09:48.604157Z [test] [validation.cpp:2288] [ConnectTip]   - Load block from disk: 0.05ms [0.00s]
    172021-10-25T14:09:48.604212Z [test] [validationinterface.cpp:249] [BlockChecked] BlockChecked: block hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f state=Valid
    182021-10-25T14:09:48.604231Z [test] [validation.cpp:2300] [ConnectTip]   - Connect total: 0.09ms [0.00s (0.09ms/blk)]
    192021-10-25T14:09:48.604245Z [test] [validation.cpp:2305] [ConnectTip]   - Flush: 0.02ms [0.00s (0.02ms/blk)]
    202021-10-25T14:09:48.604263Z [test] [validation.cpp:2311] [ConnectTip]   - Writing chainstate: 0.02ms [0.00s (0.02ms/blk)]
    212021-10-25T14:09:48.604297Z [test] [validation.cpp:2105] [UpdateTipLog] UpdateTip: new best=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f height=0 version=0x00000001 log2_work=32.000022 tx=1 date='2009-01-03T18:15:05Z' progress=0.000000 cache=0.0MiB(0txo)
    222021-10-25T14:09:48.604313Z [test] [validation.cpp:2322] [ConnectTip]   - Connect postprocess: 0.05ms [0.00s (0.06ms/blk)]
    232021-10-25T14:09:48.604326Z [test] [validation.cpp:2323] [ConnectTip] - Connect block: 0.22ms [0.00s (0.23ms/blk)]
    242021-10-25T14:09:48.604341Z [test] [txmempool.cpp:683] [check] Checking mempool with 0 transactions and 0 inputs
    252021-10-25T14:09:48.604368Z [test] [validationinterface.cpp:226] [BlockConnected] Enqueuing BlockConnected: block hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f block height=0
    262021-10-25T14:09:48.604401Z [test] [validationinterface.cpp:199] [UpdatedBlockTip] Enqueuing UpdatedBlockTip:Segmentation fault (core dumped)
    27make[3]: *** [Makefile:18453: wallet/test/psbt_wallet_tests.cpp.test] Error 1
    
  2. hebasto added the label Bug on Oct 27, 2021
  3. hebasto added the label Wallet on Oct 27, 2021
  4. hebasto added the label Tests on Oct 27, 2021
  5. MarcoFalke commented at 11:09 am on October 27, 2021: member
    Looks like a race where the wallet is deleted before the scheduler thread exits and flushes all events?
  6. fanquake deleted a comment on Oct 28, 2021
  7. fanquake deleted a comment on Oct 28, 2021
  8. hebasto commented at 6:50 am on October 28, 2021: member

    ~I’ve bisected it down to #23336.~

    UPDATE. See #23403.

  9. MarcoFalke commented at 11:37 am on October 28, 2021: member

    I’ve bisected it down to #23336.

    If this is intermittent, how did you bisect? If there are steps to reproduce, then it would be good to run in valgrind to debug the segmentation fault.

    I couldn’t reproduce this locally yet.

  10. hebasto commented at 12:05 pm on October 28, 2021: member

    If this is intermittent, how did you bisect?

    By looping make check :tiger2:

  11. hebasto commented at 12:21 pm on October 28, 2021: member

    @MarcoFalke

    Could this log be relevant?

  12. MarcoFalke commented at 12:27 pm on October 28, 2021: member

    Yes, as I said before this looks like a race where the wallet is deleted before stopping the scheduler: #23368 (comment)

    IIRC, the order should be:

    • stop scheduler
    • delete wallet
    • delete scheduler
  13. MarcoFalke commented at 12:37 pm on October 28, 2021: member
     0diff --git a/src/scheduler.cpp b/src/scheduler.cpp
     1index 162cced6c7..fa1864822f 100644
     2--- a/src/scheduler.cpp
     3+++ b/src/scheduler.cpp
     4@@ -57,6 +57,7 @@ void CScheduler::serviceQueue()
     5             Function f = taskQueue.begin()->second;
     6             taskQueue.erase(taskQueue.begin());
     7 
     8+    UninterruptibleSleep(10ms);
     9             {
    10                 // Unlock before calling f, so it can reschedule itself or another task
    11                 // without deadlocking:
    12diff --git a/src/wallet/test/wallet_test_fixture.cpp b/src/wallet/test/wallet_test_fixture.cpp
    13index fc744ebe5b..c9cecdb15c 100644
    14--- a/src/wallet/test/wallet_test_fixture.cpp
    15+++ b/src/wallet/test/wallet_test_fixture.cpp
    16@@ -8,7 +8,11 @@ WalletTestingSetup::WalletTestingSetup(const std::string& chainName)
    17     : TestingSetup(chainName),
    18       m_wallet(m_node.chain.get(), "", CreateMockWalletDatabase())
    19 {
    20+    UninterruptibleSleep(10ms);
    21     m_wallet.LoadWallet();
    22+    UninterruptibleSleep(10ms);
    23     m_chain_notifications_handler = m_node.chain->handleNotifications({ &m_wallet, [](CWallet*) {} });
    24+    UninterruptibleSleep(10ms);
    25     m_wallet_client->registerRpcs();
    26+    UninterruptibleSleep(10ms);
    27 }
    

    CMD:

    0while ( make &&  valgrind ./src/test/test_bitcoin -t psbt_wallet_tests --catch_system_errors=no -l test_suite -- DEBUG_LOG_OUT ) ; do true ; done
    
      02021-10-28T12:31:41.480133Z [scheduler] [validationinterface.cpp:226] [operator()] BlockConnected: block hash=000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f block height=0
      12021-10-28T12:31:43.918896Z [scheduler] [logging/timer.h:51] [Log] Enter: lock contention cs_wallet, wallet/wallet.cpp:1263 started
      22021-10-28T12:31:51.669069Z [test] [wallet/scriptpubkeyman.h:233] [WalletLogPrintf] [default wallet] keypool added 1000 keys (0 internal), size=1000 (0 internal)
      32021-10-28T12:31:51.675717Z [test] [wallet/scriptpubkeyman.h:233] [WalletLogPrintf] [default wallet] LegacyScriptPubKeyMan::NewKeyPool rewrote keypool
      42021-10-28T12:31:52.210553Z [scheduler] [logging/timer.h:51] [Log] Enter: lock contention cs_wallet, wallet/wallet.cpp:1263 completed (7131451μs)
      5==516904== Thread 2 b-scheduler:
      6==516904== Invalid read of size 8
      7==516904==    at 0x484995B: bcmp (vg_replace_strmem.c:1203)
      8==516904==    by 0xCA6B80: Compare (uint256.h:44)
      9==516904==    by 0xCA6B80: operator< (uint256.h:48)
     10==516904==    by 0xCA6B80: operator() (stl_function.h:386)
     11==516904==    by 0xCA6B80: _M_lower_bound (stl_tree.h:1919)
     12==516904==    by 0xCA6B80: find (stl_tree.h:2534)
     13==516904==    by 0xCA6B80: count (stl_map.h:1216)
     14==516904==    by 0xCA6B80: CWallet::AddToWalletIfInvolvingMe(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool, bool) (wallet.cpp:1054)
     15==516904==    by 0xCA8460: SyncTransaction (wallet.cpp:1204)
     16==516904==    by 0xCA8460: CWallet::blockConnected(CBlock const&, int) (wallet.cpp:1268)
     17==516904==    by 0xCA864D: non-virtual thunk to CWallet::blockConnected(CBlock const&, int) (gthr-default.h:0)
     18==516904==    by 0x84DEF4: node::(anonymous namespace)::NotificationsProxy::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*) (interfaces.cpp:357)
     19==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
     20==516904==    by 0xA3AE33: Iterate<(lambda at validationinterface.cpp:222:30)> (validationinterface.cpp:83)
     21==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
     22==516904==    by 0xA3AE33: operator() (validationinterface.cpp:224)
     23==516904==    by 0xA3AE33: __invoke_impl<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:61)
     24==516904==    by 0xA3AE33: __invoke_r<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:111)
     25==516904==    by 0xA3AE33: std::_Function_handler<void (), CMainSignals::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_9>::_M_invoke(std::_Any_data const&) (std_function.h:291)
     26==516904==    by 0xAB857D: operator() (std_function.h:560)
     27==516904==    by 0xAB857D: SingleThreadedSchedulerClient::ProcessQueue() (scheduler.cpp:177)
     28==516904==    by 0xAB99A0: __invoke_impl<void, void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:74)
     29==516904==    by 0xAB99A0: __invoke<void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:96)
     30==516904==    by 0xAB99A0: __call<void, 0UL> (functional:420)
     31==516904==    by 0xAB99A0: operator()<, void> (functional:503)
     32==516904==    by 0xAB99A0: __invoke_impl<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:61)
     33==516904==    by 0xAB99A0: __invoke_r<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:111)
     34==516904==    by 0xAB99A0: std::_Function_handler<void (), std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient*))()> >::_M_invoke(std::_Any_data const&) (std_function.h:291)
     35==516904==    by 0xAB7870: operator() (std_function.h:560)
     36==516904==    by 0xAB7870: CScheduler::serviceQueue() (scheduler.cpp:64)
     37==516904==    by 0x734480: operator() (setup_common.cpp:140)
     38==516904==    by 0x734480: __invoke_impl<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:61)
     39==516904==    by 0x734480: __invoke_r<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:111)
     40==516904==    by 0x734480: std::_Function_handler<void (), ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0>::_M_invoke(std::_Any_data const&) (std_function.h:291)
     41==516904==    by 0xB2164F: util::TraceThread(char const*, std::function<void ()>) (std_function.h:560)
     42==516904==    by 0x7343E6: __invoke_impl<void, void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:61)
     43==516904==    by 0x7343E6: __invoke<void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:96)
     44==516904==    by 0x7343E6: _M_invoke<0UL, 1UL, 2UL> (std_thread.h:253)
     45==516904==    by 0x7343E6: operator() (std_thread.h:260)
     46==516904==    by 0x7343E6: std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(char const*, std::function<void ()>), char const*, ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0> > >::_M_run() (std_thread.h:211)
     47==516904==  Address 0x1e9659a0 is 32 bytes inside a block of size 536 free'd
     48==516904==    at 0x4843669: operator delete(void*) (vg_replace_malloc.c:923)
     49==516904==    by 0x1A42A0: deallocate (new_allocator.h:145)
     50==516904==    by 0x1A42A0: deallocate (alloc_traits.h:492)
     51==516904==    by 0x1A42A0: _M_put_node (stl_tree.h:565)
     52==516904==    by 0x1A42A0: _M_drop_node (stl_tree.h:632)
     53==516904==    by 0x1A42A0: std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_erase(std::_Rb_tree_node<std::pair<uint256 const, CWalletTx> >*) (stl_tree.h:1889)
     54==516904==    by 0x1A4AAF: ~_Rb_tree (stl_tree.h:984)
     55==516904==    by 0x1A4AAF: ~map (stl_map.h:302)
     56==516904==    by 0x1A4AAF: CWallet::~CWallet() (wallet.h:375)
     57==516904==    by 0x6C39D9: psbt_wallet_tests::psbt_updater_test_invoker() (wallet_test_fixture.h:20)
     58==516904==    by 0x1CF036: boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:117)
     59==516904==    by 0x48AF1D1: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:763)
     60==516904==    by 0x48B59E0: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (function_template.hpp:763)
     61==516904==    by 0x48B5F20: boost::execution_monitor::execute(boost::function<int ()> const&) (execution_monitor.ipp:1301)
     62==516904==    by 0x48B5FD9: boost::execution_monitor::vexecute(boost::function<void ()> const&) (execution_monitor.ipp:1397)
     63==516904==    by 0x48D59B1: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) (unit_test_monitor.ipp:49)
     64==516904==    by 0x48F112A: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:815)
     65==516904==    by 0x48F13F6: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:740)
     66==516904==  Block was alloc'd at
     67==516904==    at 0x4840FF5: operator new(unsigned long) (vg_replace_malloc.c:422)
     68==516904==    by 0x6CB2DA: allocate (new_allocator.h:127)
     69==516904==    by 0x6CB2DA: allocate (alloc_traits.h:460)
     70==516904==    by 0x6CB2DA: _M_get_node (stl_tree.h:561)
     71==516904==    by 0x6CB2DA: std::_Rb_tree_node<std::pair<uint256 const, CWalletTx> >* std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<uint256 const&>, std::tuple<std::shared_ptr<CTransaction const>&> >(std::piecewise_construct_t const&, std::tuple<uint256 const&>&&, std::tuple<std::shared_ptr<CTransaction const>&>&&) (stl_tree.h:611)
     72==516904==    by 0x6CB1A7: std::pair<std::_Rb_tree_iterator<std::pair<uint256 const, CWalletTx> >, bool> std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_emplace_unique<std::piecewise_construct_t const&, std::tuple<uint256 const&>, std::tuple<std::shared_ptr<CTransaction const>&> >(std::piecewise_construct_t const&, std::tuple<uint256 const&>&&, std::tuple<std::shared_ptr<CTransaction const>&>&&) (stl_tree.h:2382)
     73==516904==    by 0x6C3C9D: emplace<const std::piecewise_construct_t &, std::tuple<const uint256 &>, std::tuple<std::shared_ptr<const CTransaction> &> > (stl_map.h:577)
     74==516904==    by 0x6C3C9D: psbt_wallet_tests::psbt_updater_test::test_method() (psbt_wallet_tests.cpp:25)
     75==516904==    by 0x6C3706: psbt_wallet_tests::psbt_updater_test_invoker() (psbt_wallet_tests.cpp:16)
     76==516904==    by 0x1CF036: boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:117)
     77==516904==    by 0x48AF1D1: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:763)
     78==516904==    by 0x48B59E0: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (function_template.hpp:763)
     79==516904==    by 0x48B5F20: boost::execution_monitor::execute(boost::function<int ()> const&) (execution_monitor.ipp:1301)
     80==516904==    by 0x48B5FD9: boost::execution_monitor::vexecute(boost::function<void ()> const&) (execution_monitor.ipp:1397)
     81==516904==    by 0x48D59B1: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) (unit_test_monitor.ipp:49)
     82==516904==    by 0x48F112A: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:815)
     83==516904== 
     84==516904== Invalid read of size 1
     85==516904==    at 0x4849929: bcmp (vg_replace_strmem.c:1203)
     86==516904==    by 0xCA6B80: Compare (uint256.h:44)
     87==516904==    by 0xCA6B80: operator< (uint256.h:48)
     88==516904==    by 0xCA6B80: operator() (stl_function.h:386)
     89==516904==    by 0xCA6B80: _M_lower_bound (stl_tree.h:1919)
     90==516904==    by 0xCA6B80: find (stl_tree.h:2534)
     91==516904==    by 0xCA6B80: count (stl_map.h:1216)
     92==516904==    by 0xCA6B80: CWallet::AddToWalletIfInvolvingMe(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool, bool) (wallet.cpp:1054)
     93==516904==    by 0xCA8460: SyncTransaction (wallet.cpp:1204)
     94==516904==    by 0xCA8460: CWallet::blockConnected(CBlock const&, int) (wallet.cpp:1268)
     95==516904==    by 0xCA864D: non-virtual thunk to CWallet::blockConnected(CBlock const&, int) (gthr-default.h:0)
     96==516904==    by 0x84DEF4: node::(anonymous namespace)::NotificationsProxy::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*) (interfaces.cpp:357)
     97==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
     98==516904==    by 0xA3AE33: Iterate<(lambda at validationinterface.cpp:222:30)> (validationinterface.cpp:83)
     99==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    100==516904==    by 0xA3AE33: operator() (validationinterface.cpp:224)
    101==516904==    by 0xA3AE33: __invoke_impl<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:61)
    102==516904==    by 0xA3AE33: __invoke_r<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:111)
    103==516904==    by 0xA3AE33: std::_Function_handler<void (), CMainSignals::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_9>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    104==516904==    by 0xAB857D: operator() (std_function.h:560)
    105==516904==    by 0xAB857D: SingleThreadedSchedulerClient::ProcessQueue() (scheduler.cpp:177)
    106==516904==    by 0xAB99A0: __invoke_impl<void, void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:74)
    107==516904==    by 0xAB99A0: __invoke<void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:96)
    108==516904==    by 0xAB99A0: __call<void, 0UL> (functional:420)
    109==516904==    by 0xAB99A0: operator()<, void> (functional:503)
    110==516904==    by 0xAB99A0: __invoke_impl<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:61)
    111==516904==    by 0xAB99A0: __invoke_r<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:111)
    112==516904==    by 0xAB99A0: std::_Function_handler<void (), std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient*))()> >::_M_invoke(std::_Any_data const&) (std_function.h:291)
    113==516904==    by 0xAB7870: operator() (std_function.h:560)
    114==516904==    by 0xAB7870: CScheduler::serviceQueue() (scheduler.cpp:64)
    115==516904==    by 0x734480: operator() (setup_common.cpp:140)
    116==516904==    by 0x734480: __invoke_impl<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:61)
    117==516904==    by 0x734480: __invoke_r<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:111)
    118==516904==    by 0x734480: std::_Function_handler<void (), ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    119==516904==    by 0xB2164F: util::TraceThread(char const*, std::function<void ()>) (std_function.h:560)
    120==516904==    by 0x7343E6: __invoke_impl<void, void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:61)
    121==516904==    by 0x7343E6: __invoke<void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:96)
    122==516904==    by 0x7343E6: _M_invoke<0UL, 1UL, 2UL> (std_thread.h:253)
    123==516904==    by 0x7343E6: operator() (std_thread.h:260)
    124==516904==    by 0x7343E6: std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(char const*, std::function<void ()>), char const*, ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0> > >::_M_run() (std_thread.h:211)
    125==516904==  Address 0x1e9659a0 is 32 bytes inside a block of size 536 free'd
    126==516904==    at 0x4843669: operator delete(void*) (vg_replace_malloc.c:923)
    127==516904==    by 0x1A42A0: deallocate (new_allocator.h:145)
    128==516904==    by 0x1A42A0: deallocate (alloc_traits.h:492)
    129==516904==    by 0x1A42A0: _M_put_node (stl_tree.h:565)
    130==516904==    by 0x1A42A0: _M_drop_node (stl_tree.h:632)
    131==516904==    by 0x1A42A0: std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_erase(std::_Rb_tree_node<std::pair<uint256 const, CWalletTx> >*) (stl_tree.h:1889)
    132==516904==    by 0x1A4AAF: ~_Rb_tree (stl_tree.h:984)
    133==516904==    by 0x1A4AAF: ~map (stl_map.h:302)
    134==516904==    by 0x1A4AAF: CWallet::~CWallet() (wallet.h:375)
    135==516904==    by 0x6C39D9: psbt_wallet_tests::psbt_updater_test_invoker() (wallet_test_fixture.h:20)
    136==516904==    by 0x1CF036: boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:117)
    137==516904==    by 0x48AF1D1: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:763)
    138==516904==    by 0x48B59E0: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (function_template.hpp:763)
    139==516904==    by 0x48B5F20: boost::execution_monitor::execute(boost::function<int ()> const&) (execution_monitor.ipp:1301)
    140==516904==    by 0x48B5FD9: boost::execution_monitor::vexecute(boost::function<void ()> const&) (execution_monitor.ipp:1397)
    141==516904==    by 0x48D59B1: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) (unit_test_monitor.ipp:49)
    142==516904==    by 0x48F112A: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:815)
    143==516904==    by 0x48F13F6: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:740)
    144==516904==  Block was alloc'd at
    145==516904==    at 0x4840FF5: operator new(unsigned long) (vg_replace_malloc.c:422)
    146==516904==    by 0x6CB2DA: allocate (new_allocator.h:127)
    147==516904==    by 0x6CB2DA: allocate (alloc_traits.h:460)
    148==516904==    by 0x6CB2DA: _M_get_node (stl_tree.h:561)
    149==516904==    by 0x6CB2DA: std::_Rb_tree_node<std::pair<uint256 const, CWalletTx> >* std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<uint256 const&>, std::tuple<std::shared_ptr<CTransaction const>&> >(std::piecewise_construct_t const&, std::tuple<uint256 const&>&&, std::tuple<std::shared_ptr<CTransaction const>&>&&) (stl_tree.h:611)
    150==516904==    by 0x6CB1A7: std::pair<std::_Rb_tree_iterator<std::pair<uint256 const, CWalletTx> >, bool> std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_emplace_unique<std::piecewise_construct_t const&, std::tuple<uint256 const&>, std::tuple<std::shared_ptr<CTransaction const>&> >(std::piecewise_construct_t const&, std::tuple<uint256 const&>&&, std::tuple<std::shared_ptr<CTransaction const>&>&&) (stl_tree.h:2382)
    151==516904==    by 0x6C3C9D: emplace<const std::piecewise_construct_t &, std::tuple<const uint256 &>, std::tuple<std::shared_ptr<const CTransaction> &> > (stl_map.h:577)
    152==516904==    by 0x6C3C9D: psbt_wallet_tests::psbt_updater_test::test_method() (psbt_wallet_tests.cpp:25)
    153==516904==    by 0x6C3706: psbt_wallet_tests::psbt_updater_test_invoker() (psbt_wallet_tests.cpp:16)
    154==516904==    by 0x1CF036: boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:117)
    155==516904==    by 0x48AF1D1: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:763)
    156==516904==    by 0x48B59E0: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (function_template.hpp:763)
    157==516904==    by 0x48B5F20: boost::execution_monitor::execute(boost::function<int ()> const&) (execution_monitor.ipp:1301)
    158==516904==    by 0x48B5FD9: boost::execution_monitor::vexecute(boost::function<void ()> const&) (execution_monitor.ipp:1397)
    159==516904==    by 0x48D59B1: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) (unit_test_monitor.ipp:49)
    160==516904==    by 0x48F112A: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:815)
    161==516904== 
    162==516904== Invalid read of size 8
    163==516904==    at 0xCA6B93: _M_lower_bound (stl_tree.h:0)
    164==516904==    by 0xCA6B93: find (stl_tree.h:2534)
    165==516904==    by 0xCA6B93: count (stl_map.h:1216)
    166==516904==    by 0xCA6B93: CWallet::AddToWalletIfInvolvingMe(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool, bool) (wallet.cpp:1054)
    167==516904==    by 0xCA8460: SyncTransaction (wallet.cpp:1204)
    168==516904==    by 0xCA8460: CWallet::blockConnected(CBlock const&, int) (wallet.cpp:1268)
    169==516904==    by 0xCA864D: non-virtual thunk to CWallet::blockConnected(CBlock const&, int) (gthr-default.h:0)
    170==516904==    by 0x84DEF4: node::(anonymous namespace)::NotificationsProxy::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*) (interfaces.cpp:357)
    171==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    172==516904==    by 0xA3AE33: Iterate<(lambda at validationinterface.cpp:222:30)> (validationinterface.cpp:83)
    173==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    174==516904==    by 0xA3AE33: operator() (validationinterface.cpp:224)
    175==516904==    by 0xA3AE33: __invoke_impl<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:61)
    176==516904==    by 0xA3AE33: __invoke_r<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:111)
    177==516904==    by 0xA3AE33: std::_Function_handler<void (), CMainSignals::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_9>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    178==516904==    by 0xAB857D: operator() (std_function.h:560)
    179==516904==    by 0xAB857D: SingleThreadedSchedulerClient::ProcessQueue() (scheduler.cpp:177)
    180==516904==    by 0xAB99A0: __invoke_impl<void, void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:74)
    181==516904==    by 0xAB99A0: __invoke<void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:96)
    182==516904==    by 0xAB99A0: __call<void, 0UL> (functional:420)
    183==516904==    by 0xAB99A0: operator()<, void> (functional:503)
    184==516904==    by 0xAB99A0: __invoke_impl<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:61)
    185==516904==    by 0xAB99A0: __invoke_r<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:111)
    186==516904==    by 0xAB99A0: std::_Function_handler<void (), std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient*))()> >::_M_invoke(std::_Any_data const&) (std_function.h:291)
    187==516904==    by 0xAB7870: operator() (std_function.h:560)
    188==516904==    by 0xAB7870: CScheduler::serviceQueue() (scheduler.cpp:64)
    189==516904==    by 0x734480: operator() (setup_common.cpp:140)
    190==516904==    by 0x734480: __invoke_impl<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:61)
    191==516904==    by 0x734480: __invoke_r<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:111)
    192==516904==    by 0x734480: std::_Function_handler<void (), ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    193==516904==    by 0xB2164F: util::TraceThread(char const*, std::function<void ()>) (std_function.h:560)
    194==516904==    by 0x7343E6: __invoke_impl<void, void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:61)
    195==516904==    by 0x7343E6: __invoke<void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:96)
    196==516904==    by 0x7343E6: _M_invoke<0UL, 1UL, 2UL> (std_thread.h:253)
    197==516904==    by 0x7343E6: operator() (std_thread.h:260)
    198==516904==    by 0x7343E6: std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(char const*, std::function<void ()>), char const*, ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0> > >::_M_run() (std_thread.h:211)
    199==516904==    by 0x4DD5C83: execute_native_thread_routine (thread.cc:82)
    200==516904==  Address 0x1e965990 is 16 bytes inside a block of size 536 free'd
    201==516904==    at 0x4843669: operator delete(void*) (vg_replace_malloc.c:923)
    202==516904==    by 0x1A42A0: deallocate (new_allocator.h:145)
    203==516904==    by 0x1A42A0: deallocate (alloc_traits.h:492)
    204==516904==    by 0x1A42A0: _M_put_node (stl_tree.h:565)
    205==516904==    by 0x1A42A0: _M_drop_node (stl_tree.h:632)
    206==516904==    by 0x1A42A0: std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_erase(std::_Rb_tree_node<std::pair<uint256 const, CWalletTx> >*) (stl_tree.h:1889)
    207==516904==    by 0x1A4AAF: ~_Rb_tree (stl_tree.h:984)
    208==516904==    by 0x1A4AAF: ~map (stl_map.h:302)
    209==516904==    by 0x1A4AAF: CWallet::~CWallet() (wallet.h:375)
    210==516904==    by 0x6C39D9: psbt_wallet_tests::psbt_updater_test_invoker() (wallet_test_fixture.h:20)
    211==516904==    by 0x1CF036: boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:117)
    212==516904==    by 0x48AF1D1: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:763)
    213==516904==    by 0x48B59E0: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (function_template.hpp:763)
    214==516904==    by 0x48B5F20: boost::execution_monitor::execute(boost::function<int ()> const&) (execution_monitor.ipp:1301)
    215==516904==    by 0x48B5FD9: boost::execution_monitor::vexecute(boost::function<void ()> const&) (execution_monitor.ipp:1397)
    216==516904==    by 0x48D59B1: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) (unit_test_monitor.ipp:49)
    217==516904==    by 0x48F112A: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:815)
    218==516904==    by 0x48F13F6: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:740)
    219==516904==  Block was alloc'd at
    220==516904==    at 0x4840FF5: operator new(unsigned long) (vg_replace_malloc.c:422)
    221==516904==    by 0x6CB2DA: allocate (new_allocator.h:127)
    222==516904==    by 0x6CB2DA: allocate (alloc_traits.h:460)
    223==516904==    by 0x6CB2DA: _M_get_node (stl_tree.h:561)
    224==516904==    by 0x6CB2DA: std::_Rb_tree_node<std::pair<uint256 const, CWalletTx> >* std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<uint256 const&>, std::tuple<std::shared_ptr<CTransaction const>&> >(std::piecewise_construct_t const&, std::tuple<uint256 const&>&&, std::tuple<std::shared_ptr<CTransaction const>&>&&) (stl_tree.h:611)
    225==516904==    by 0x6CB1A7: std::pair<std::_Rb_tree_iterator<std::pair<uint256 const, CWalletTx> >, bool> std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_emplace_unique<std::piecewise_construct_t const&, std::tuple<uint256 const&>, std::tuple<std::shared_ptr<CTransaction const>&> >(std::piecewise_construct_t const&, std::tuple<uint256 const&>&&, std::tuple<std::shared_ptr<CTransaction const>&>&&) (stl_tree.h:2382)
    226==516904==    by 0x6C3C9D: emplace<const std::piecewise_construct_t &, std::tuple<const uint256 &>, std::tuple<std::shared_ptr<const CTransaction> &> > (stl_map.h:577)
    227==516904==    by 0x6C3C9D: psbt_wallet_tests::psbt_updater_test::test_method() (psbt_wallet_tests.cpp:25)
    228==516904==    by 0x6C3706: psbt_wallet_tests::psbt_updater_test_invoker() (psbt_wallet_tests.cpp:16)
    229==516904==    by 0x1CF036: boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:117)
    230==516904==    by 0x48AF1D1: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:763)
    231==516904==    by 0x48B59E0: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (function_template.hpp:763)
    232==516904==    by 0x48B5F20: boost::execution_monitor::execute(boost::function<int ()> const&) (execution_monitor.ipp:1301)
    233==516904==    by 0x48B5FD9: boost::execution_monitor::vexecute(boost::function<void ()> const&) (execution_monitor.ipp:1397)
    234==516904==    by 0x48D59B1: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) (unit_test_monitor.ipp:49)
    235==516904==    by 0x48F112A: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:815)
    236==516904== 
    237==516904== Invalid read of size 8
    238==516904==    at 0x4849958: bcmp (vg_replace_strmem.c:1203)
    239==516904==    by 0xCA6BB0: Compare (uint256.h:44)
    240==516904==    by 0xCA6BB0: operator< (uint256.h:48)
    241==516904==    by 0xCA6BB0: operator() (stl_function.h:386)
    242==516904==    by 0xCA6BB0: find (stl_tree.h:2536)
    243==516904==    by 0xCA6BB0: count (stl_map.h:1216)
    244==516904==    by 0xCA6BB0: CWallet::AddToWalletIfInvolvingMe(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool, bool) (wallet.cpp:1054)
    245==516904==    by 0xCA8460: SyncTransaction (wallet.cpp:1204)
    246==516904==    by 0xCA8460: CWallet::blockConnected(CBlock const&, int) (wallet.cpp:1268)
    247==516904==    by 0xCA864D: non-virtual thunk to CWallet::blockConnected(CBlock const&, int) (gthr-default.h:0)
    248==516904==    by 0x84DEF4: node::(anonymous namespace)::NotificationsProxy::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*) (interfaces.cpp:357)
    249==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    250==516904==    by 0xA3AE33: Iterate<(lambda at validationinterface.cpp:222:30)> (validationinterface.cpp:83)
    251==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    252==516904==    by 0xA3AE33: operator() (validationinterface.cpp:224)
    253==516904==    by 0xA3AE33: __invoke_impl<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:61)
    254==516904==    by 0xA3AE33: __invoke_r<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:111)
    255==516904==    by 0xA3AE33: std::_Function_handler<void (), CMainSignals::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_9>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    256==516904==    by 0xAB857D: operator() (std_function.h:560)
    257==516904==    by 0xAB857D: SingleThreadedSchedulerClient::ProcessQueue() (scheduler.cpp:177)
    258==516904==    by 0xAB99A0: __invoke_impl<void, void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:74)
    259==516904==    by 0xAB99A0: __invoke<void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:96)
    260==516904==    by 0xAB99A0: __call<void, 0UL> (functional:420)
    261==516904==    by 0xAB99A0: operator()<, void> (functional:503)
    262==516904==    by 0xAB99A0: __invoke_impl<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:61)
    263==516904==    by 0xAB99A0: __invoke_r<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:111)
    264==516904==    by 0xAB99A0: std::_Function_handler<void (), std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient*))()> >::_M_invoke(std::_Any_data const&) (std_function.h:291)
    265==516904==    by 0xAB7870: operator() (std_function.h:560)
    266==516904==    by 0xAB7870: CScheduler::serviceQueue() (scheduler.cpp:64)
    267==516904==    by 0x734480: operator() (setup_common.cpp:140)
    268==516904==    by 0x734480: __invoke_impl<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:61)
    269==516904==    by 0x734480: __invoke_r<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:111)
    270==516904==    by 0x734480: std::_Function_handler<void (), ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    271==516904==    by 0xB2164F: util::TraceThread(char const*, std::function<void ()>) (std_function.h:560)
    272==516904==    by 0x7343E6: __invoke_impl<void, void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:61)
    273==516904==    by 0x7343E6: __invoke<void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:96)
    274==516904==    by 0x7343E6: _M_invoke<0UL, 1UL, 2UL> (std_thread.h:253)
    275==516904==    by 0x7343E6: operator() (std_thread.h:260)
    276==516904==    by 0x7343E6: std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(char const*, std::function<void ()>), char const*, ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0> > >::_M_run() (std_thread.h:211)
    277==516904==  Address 0x1e966410 is 32 bytes inside a block of size 536 free'd
    278==516904==    at 0x4843669: operator delete(void*) (vg_replace_malloc.c:923)
    279==516904==    by 0x1A42A0: deallocate (new_allocator.h:145)
    280==516904==    by 0x1A42A0: deallocate (alloc_traits.h:492)
    281==516904==    by 0x1A42A0: _M_put_node (stl_tree.h:565)
    282==516904==    by 0x1A42A0: _M_drop_node (stl_tree.h:632)
    283==516904==    by 0x1A42A0: std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_erase(std::_Rb_tree_node<std::pair<uint256 const, CWalletTx> >*) (stl_tree.h:1889)
    284==516904==    by 0x1A4AAF: ~_Rb_tree (stl_tree.h:984)
    285==516904==    by 0x1A4AAF: ~map (stl_map.h:302)
    286==516904==    by 0x1A4AAF: CWallet::~CWallet() (wallet.h:375)
    287==516904==    by 0x6C39D9: psbt_wallet_tests::psbt_updater_test_invoker() (wallet_test_fixture.h:20)
    288==516904==    by 0x1CF036: boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:117)
    289==516904==    by 0x48AF1D1: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:763)
    290==516904==    by 0x48B59E0: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (function_template.hpp:763)
    291==516904==    by 0x48B5F20: boost::execution_monitor::execute(boost::function<int ()> const&) (execution_monitor.ipp:1301)
    292==516904==    by 0x48B5FD9: boost::execution_monitor::vexecute(boost::function<void ()> const&) (execution_monitor.ipp:1397)
    293==516904==    by 0x48D59B1: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) (unit_test_monitor.ipp:49)
    294==516904==    by 0x48F112A: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:815)
    295==516904==    by 0x48F13F6: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:740)
    296==516904==  Block was alloc'd at
    297==516904==    at 0x4840FF5: operator new(unsigned long) (vg_replace_malloc.c:422)
    298==516904==    by 0x6CB2DA: allocate (new_allocator.h:127)
    299==516904==    by 0x6CB2DA: allocate (alloc_traits.h:460)
    300==516904==    by 0x6CB2DA: _M_get_node (stl_tree.h:561)
    301==516904==    by 0x6CB2DA: std::_Rb_tree_node<std::pair<uint256 const, CWalletTx> >* std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<uint256 const&>, std::tuple<std::shared_ptr<CTransaction const>&> >(std::piecewise_construct_t const&, std::tuple<uint256 const&>&&, std::tuple<std::shared_ptr<CTransaction const>&>&&) (stl_tree.h:611)
    302==516904==    by 0x6CB1A7: std::pair<std::_Rb_tree_iterator<std::pair<uint256 const, CWalletTx> >, bool> std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_emplace_unique<std::piecewise_construct_t const&, std::tuple<uint256 const&>, std::tuple<std::shared_ptr<CTransaction const>&> >(std::piecewise_construct_t const&, std::tuple<uint256 const&>&&, std::tuple<std::shared_ptr<CTransaction const>&>&&) (stl_tree.h:2382)
    303==516904==    by 0x6C3DC6: emplace<const std::piecewise_construct_t &, std::tuple<const uint256 &>, std::tuple<std::shared_ptr<const CTransaction> &> > (stl_map.h:577)
    304==516904==    by 0x6C3DC6: psbt_wallet_tests::psbt_updater_test::test_method() (psbt_wallet_tests.cpp:30)
    305==516904==    by 0x6C3706: psbt_wallet_tests::psbt_updater_test_invoker() (psbt_wallet_tests.cpp:16)
    306==516904==    by 0x1CF036: boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:117)
    307==516904==    by 0x48AF1D1: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:763)
    308==516904==    by 0x48B59E0: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (function_template.hpp:763)
    309==516904==    by 0x48B5F20: boost::execution_monitor::execute(boost::function<int ()> const&) (execution_monitor.ipp:1301)
    310==516904==    by 0x48B5FD9: boost::execution_monitor::vexecute(boost::function<void ()> const&) (execution_monitor.ipp:1397)
    311==516904==    by 0x48D59B1: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) (unit_test_monitor.ipp:49)
    312==516904==    by 0x48F112A: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:815)
    313==516904== 
    314==516904== Invalid read of size 1
    315==516904==    at 0x484992D: bcmp (vg_replace_strmem.c:1203)
    316==516904==    by 0xCA6BB0: Compare (uint256.h:44)
    317==516904==    by 0xCA6BB0: operator< (uint256.h:48)
    318==516904==    by 0xCA6BB0: operator() (stl_function.h:386)
    319==516904==    by 0xCA6BB0: find (stl_tree.h:2536)
    320==516904==    by 0xCA6BB0: count (stl_map.h:1216)
    321==516904==    by 0xCA6BB0: CWallet::AddToWalletIfInvolvingMe(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool, bool) (wallet.cpp:1054)
    322==516904==    by 0xCA8460: SyncTransaction (wallet.cpp:1204)
    323==516904==    by 0xCA8460: CWallet::blockConnected(CBlock const&, int) (wallet.cpp:1268)
    324==516904==    by 0xCA864D: non-virtual thunk to CWallet::blockConnected(CBlock const&, int) (gthr-default.h:0)
    325==516904==    by 0x84DEF4: node::(anonymous namespace)::NotificationsProxy::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*) (interfaces.cpp:357)
    326==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    327==516904==    by 0xA3AE33: Iterate<(lambda at validationinterface.cpp:222:30)> (validationinterface.cpp:83)
    328==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    329==516904==    by 0xA3AE33: operator() (validationinterface.cpp:224)
    330==516904==    by 0xA3AE33: __invoke_impl<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:61)
    331==516904==    by 0xA3AE33: __invoke_r<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:111)
    332==516904==    by 0xA3AE33: std::_Function_handler<void (), CMainSignals::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_9>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    333==516904==    by 0xAB857D: operator() (std_function.h:560)
    334==516904==    by 0xAB857D: SingleThreadedSchedulerClient::ProcessQueue() (scheduler.cpp:177)
    335==516904==    by 0xAB99A0: __invoke_impl<void, void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:74)
    336==516904==    by 0xAB99A0: __invoke<void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:96)
    337==516904==    by 0xAB99A0: __call<void, 0UL> (functional:420)
    338==516904==    by 0xAB99A0: operator()<, void> (functional:503)
    339==516904==    by 0xAB99A0: __invoke_impl<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:61)
    340==516904==    by 0xAB99A0: __invoke_r<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:111)
    341==516904==    by 0xAB99A0: std::_Function_handler<void (), std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient*))()> >::_M_invoke(std::_Any_data const&) (std_function.h:291)
    342==516904==    by 0xAB7870: operator() (std_function.h:560)
    343==516904==    by 0xAB7870: CScheduler::serviceQueue() (scheduler.cpp:64)
    344==516904==    by 0x734480: operator() (setup_common.cpp:140)
    345==516904==    by 0x734480: __invoke_impl<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:61)
    346==516904==    by 0x734480: __invoke_r<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:111)
    347==516904==    by 0x734480: std::_Function_handler<void (), ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    348==516904==    by 0xB2164F: util::TraceThread(char const*, std::function<void ()>) (std_function.h:560)
    349==516904==    by 0x7343E6: __invoke_impl<void, void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:61)
    350==516904==    by 0x7343E6: __invoke<void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:96)
    351==516904==    by 0x7343E6: _M_invoke<0UL, 1UL, 2UL> (std_thread.h:253)
    352==516904==    by 0x7343E6: operator() (std_thread.h:260)
    353==516904==    by 0x7343E6: std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(char const*, std::function<void ()>), char const*, ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0> > >::_M_run() (std_thread.h:211)
    354==516904==  Address 0x1e966410 is 32 bytes inside a block of size 536 free'd
    355==516904==    at 0x4843669: operator delete(void*) (vg_replace_malloc.c:923)
    356==516904==    by 0x1A42A0: deallocate (new_allocator.h:145)
    357==516904==    by 0x1A42A0: deallocate (alloc_traits.h:492)
    358==516904==    by 0x1A42A0: _M_put_node (stl_tree.h:565)
    359==516904==    by 0x1A42A0: _M_drop_node (stl_tree.h:632)
    360==516904==    by 0x1A42A0: std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_erase(std::_Rb_tree_node<std::pair<uint256 const, CWalletTx> >*) (stl_tree.h:1889)
    361==516904==    by 0x1A4AAF: ~_Rb_tree (stl_tree.h:984)
    362==516904==    by 0x1A4AAF: ~map (stl_map.h:302)
    363==516904==    by 0x1A4AAF: CWallet::~CWallet() (wallet.h:375)
    364==516904==    by 0x6C39D9: psbt_wallet_tests::psbt_updater_test_invoker() (wallet_test_fixture.h:20)
    365==516904==    by 0x1CF036: boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:117)
    366==516904==    by 0x48AF1D1: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:763)
    367==516904==    by 0x48B59E0: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (function_template.hpp:763)
    368==516904==    by 0x48B5F20: boost::execution_monitor::execute(boost::function<int ()> const&) (execution_monitor.ipp:1301)
    369==516904==    by 0x48B5FD9: boost::execution_monitor::vexecute(boost::function<void ()> const&) (execution_monitor.ipp:1397)
    370==516904==    by 0x48D59B1: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) (unit_test_monitor.ipp:49)
    371==516904==    by 0x48F112A: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:815)
    372==516904==    by 0x48F13F6: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:740)
    373==516904==  Block was alloc'd at
    374==516904==    at 0x4840FF5: operator new(unsigned long) (vg_replace_malloc.c:422)
    375==516904==    by 0x6CB2DA: allocate (new_allocator.h:127)
    376==516904==    by 0x6CB2DA: allocate (alloc_traits.h:460)
    377==516904==    by 0x6CB2DA: _M_get_node (stl_tree.h:561)
    378==516904==    by 0x6CB2DA: std::_Rb_tree_node<std::pair<uint256 const, CWalletTx> >* std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<uint256 const&>, std::tuple<std::shared_ptr<CTransaction const>&> >(std::piecewise_construct_t const&, std::tuple<uint256 const&>&&, std::tuple<std::shared_ptr<CTransaction const>&>&&) (stl_tree.h:611)
    379==516904==    by 0x6CB1A7: std::pair<std::_Rb_tree_iterator<std::pair<uint256 const, CWalletTx> >, bool> std::_Rb_tree<uint256, std::pair<uint256 const, CWalletTx>, std::_Select1st<std::pair<uint256 const, CWalletTx> >, std::less<uint256>, std::allocator<std::pair<uint256 const, CWalletTx> > >::_M_emplace_unique<std::piecewise_construct_t const&, std::tuple<uint256 const&>, std::tuple<std::shared_ptr<CTransaction const>&> >(std::piecewise_construct_t const&, std::tuple<uint256 const&>&&, std::tuple<std::shared_ptr<CTransaction const>&>&&) (stl_tree.h:2382)
    380==516904==    by 0x6C3DC6: emplace<const std::piecewise_construct_t &, std::tuple<const uint256 &>, std::tuple<std::shared_ptr<const CTransaction> &> > (stl_map.h:577)
    381==516904==    by 0x6C3DC6: psbt_wallet_tests::psbt_updater_test::test_method() (psbt_wallet_tests.cpp:30)
    382==516904==    by 0x6C3706: psbt_wallet_tests::psbt_updater_test_invoker() (psbt_wallet_tests.cpp:16)
    383==516904==    by 0x1CF036: boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:117)
    384==516904==    by 0x48AF1D1: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:763)
    385==516904==    by 0x48B59E0: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (function_template.hpp:763)
    386==516904==    by 0x48B5F20: boost::execution_monitor::execute(boost::function<int ()> const&) (execution_monitor.ipp:1301)
    387==516904==    by 0x48B5FD9: boost::execution_monitor::vexecute(boost::function<void ()> const&) (execution_monitor.ipp:1397)
    388==516904==    by 0x48D59B1: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) (unit_test_monitor.ipp:49)
    389==516904==    by 0x48F112A: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:815)
    390==516904== 
    391==516904== Invalid read of size 8
    392==516904==    at 0xCA6C20: _M_ptr (unique_ptr.h:173)
    393==516904==    by 0xCA6C20: get (unique_ptr.h:422)
    394==516904==    by 0xCA6C20: operator-> (unique_ptr.h:416)
    395==516904==    by 0xCA6C20: IsMine (wallet.cpp:1339)
    396==516904==    by 0xCA6C20: IsMine (wallet.cpp:1325)
    397==516904==    by 0xCA6C20: IsMine (wallet.cpp:1348)
    398==516904==    by 0xCA6C20: CWallet::AddToWalletIfInvolvingMe(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool, bool) (wallet.cpp:1056)
    399==516904==    by 0xCA8460: SyncTransaction (wallet.cpp:1204)
    400==516904==    by 0xCA8460: CWallet::blockConnected(CBlock const&, int) (wallet.cpp:1268)
    401==516904==    by 0xCA864D: non-virtual thunk to CWallet::blockConnected(CBlock const&, int) (gthr-default.h:0)
    402==516904==    by 0x84DEF4: node::(anonymous namespace)::NotificationsProxy::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*) (interfaces.cpp:357)
    403==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    404==516904==    by 0xA3AE33: Iterate<(lambda at validationinterface.cpp:222:30)> (validationinterface.cpp:83)
    405==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    406==516904==    by 0xA3AE33: operator() (validationinterface.cpp:224)
    407==516904==    by 0xA3AE33: __invoke_impl<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:61)
    408==516904==    by 0xA3AE33: __invoke_r<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:111)
    409==516904==    by 0xA3AE33: std::_Function_handler<void (), CMainSignals::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_9>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    410==516904==    by 0xAB857D: operator() (std_function.h:560)
    411==516904==    by 0xAB857D: SingleThreadedSchedulerClient::ProcessQueue() (scheduler.cpp:177)
    412==516904==    by 0xAB99A0: __invoke_impl<void, void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:74)
    413==516904==    by 0xAB99A0: __invoke<void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:96)
    414==516904==    by 0xAB99A0: __call<void, 0UL> (functional:420)
    415==516904==    by 0xAB99A0: operator()<, void> (functional:503)
    416==516904==    by 0xAB99A0: __invoke_impl<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:61)
    417==516904==    by 0xAB99A0: __invoke_r<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:111)
    418==516904==    by 0xAB99A0: std::_Function_handler<void (), std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient*))()> >::_M_invoke(std::_Any_data const&) (std_function.h:291)
    419==516904==    by 0xAB7870: operator() (std_function.h:560)
    420==516904==    by 0xAB7870: CScheduler::serviceQueue() (scheduler.cpp:64)
    421==516904==    by 0x734480: operator() (setup_common.cpp:140)
    422==516904==    by 0x734480: __invoke_impl<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:61)
    423==516904==    by 0x734480: __invoke_r<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:111)
    424==516904==    by 0x734480: std::_Function_handler<void (), ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    425==516904==    by 0xB2164F: util::TraceThread(char const*, std::function<void ()>) (std_function.h:560)
    426==516904==    by 0x7343E6: __invoke_impl<void, void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:61)
    427==516904==    by 0x7343E6: __invoke<void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:96)
    428==516904==    by 0x7343E6: _M_invoke<0UL, 1UL, 2UL> (std_thread.h:253)
    429==516904==    by 0x7343E6: operator() (std_thread.h:260)
    430==516904==    by 0x7343E6: std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(char const*, std::function<void ()>), char const*, ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0> > >::_M_run() (std_thread.h:211)
    431==516904==    by 0x4DD5C83: execute_native_thread_routine (thread.cc:82)
    432==516904==  Address 0x1e965000 is 64 bytes inside a block of size 72 free'd
    433==516904==    at 0x4843669: operator delete(void*) (vg_replace_malloc.c:923)
    434==516904==    by 0x1A455F: deallocate (new_allocator.h:145)
    435==516904==    by 0x1A455F: deallocate (alloc_traits.h:492)
    436==516904==    by 0x1A455F: _M_put_node (stl_tree.h:565)
    437==516904==    by 0x1A455F: _M_drop_node (stl_tree.h:632)
    438==516904==    by 0x1A455F: std::_Rb_tree<uint256, std::pair<uint256 const, std::unique_ptr<ScriptPubKeyMan, std::default_delete<ScriptPubKeyMan> > >, std::_Select1st<std::pair<uint256 const, std::unique_ptr<ScriptPubKeyMan, std::default_delete<ScriptPubKeyMan> > > >, std::less<uint256>, std::allocator<std::pair<uint256 const, std::unique_ptr<ScriptPubKeyMan, std::default_delete<ScriptPubKeyMan> > > > >::_M_erase(std::_Rb_tree_node<std::pair<uint256 const, std::unique_ptr<ScriptPubKeyMan, std::default_delete<ScriptPubKeyMan> > > >*) (stl_tree.h:1889)
    439==516904==    by 0x1A4AD5: ~_Rb_tree (stl_tree.h:984)
    440==516904==    by 0x1A4AD5: ~map (stl_map.h:302)
    441==516904==    by 0x1A4AD5: CWallet::~CWallet() (wallet.h:375)
    442==516904==    by 0x6C39D9: psbt_wallet_tests::psbt_updater_test_invoker() (wallet_test_fixture.h:20)
    443==516904==    by 0x1CF036: boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:117)
    444==516904==    by 0x48AF1D1: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:763)
    445==516904==    by 0x48B59E0: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (function_template.hpp:763)
    446==516904==    by 0x48B5F20: boost::execution_monitor::execute(boost::function<int ()> const&) (execution_monitor.ipp:1301)
    447==516904==    by 0x48B5FD9: boost::execution_monitor::vexecute(boost::function<void ()> const&) (execution_monitor.ipp:1397)
    448==516904==    by 0x48D59B1: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) (unit_test_monitor.ipp:49)
    449==516904==    by 0x48F112A: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:815)
    450==516904==    by 0x48F13F6: boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) [clone .constprop.0] (framework.ipp:740)
    451==516904==  Block was alloc'd at
    452==516904==    at 0x4840FF5: operator new(unsigned long) (vg_replace_malloc.c:422)
    453==516904==    by 0xCC5731: allocate (new_allocator.h:127)
    454==516904==    by 0xCC5731: allocate (alloc_traits.h:460)
    455==516904==    by 0xCC5731: _M_get_node (stl_tree.h:561)
    456==516904==    by 0xCC5731: _M_create_node<const std::piecewise_construct_t &, std::tuple<uint256 &&>, std::tuple<> > (stl_tree.h:611)
    457==516904==    by 0xCC5731: std::_Rb_tree_iterator<std::pair<uint256 const, std::unique_ptr<ScriptPubKeyMan, std::default_delete<ScriptPubKeyMan> > > > std::_Rb_tree<uint256, std::pair<uint256 const, std::unique_ptr<ScriptPubKeyMan, std::default_delete<ScriptPubKeyMan> > >, std::_Select1st<std::pair<uint256 const, std::unique_ptr<ScriptPubKeyMan, std::default_delete<ScriptPubKeyMan> > > >, std::less<uint256>, std::allocator<std::pair<uint256 const, std::unique_ptr<ScriptPubKeyMan, std::default_delete<ScriptPubKeyMan> > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<uint256&&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<uint256 const, std::unique_ptr<ScriptPubKeyMan, std::default_delete<ScriptPubKeyMan> > > >, std::piecewise_construct_t const&, std::tuple<uint256&&>&&, std::tuple<>&&) (stl_tree.h:2429)
    458==516904==    by 0xCB269C: operator[] (stl_map.h:520)
    459==516904==    by 0xCB269C: CWallet::SetupLegacyScriptPubKeyMan() (wallet.cpp:3118)
    460==516904==    by 0xCB42EE: CWallet::GetOrCreateLegacyScriptPubKeyMan() (wallet.cpp:3103)
    461==516904==    by 0x6C3AF7: psbt_wallet_tests::psbt_updater_test::test_method() (psbt_wallet_tests.cpp:18)
    462==516904==    by 0x6C3706: psbt_wallet_tests::psbt_updater_test_invoker() (psbt_wallet_tests.cpp:16)
    463==516904==    by 0x1CF036: boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:117)
    464==516904==    by 0x48AF1D1: boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) (function_template.hpp:763)
    465==516904==    by 0x48B59E0: boost::execution_monitor::catch_signals(boost::function<int ()> const&) (function_template.hpp:763)
    466==516904==    by 0x48B5F20: boost::execution_monitor::execute(boost::function<int ()> const&) (execution_monitor.ipp:1301)
    467==516904==    by 0x48B5FD9: boost::execution_monitor::vexecute(boost::function<void ()> const&) (execution_monitor.ipp:1397)
    468==516904==    by 0x48D59B1: boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) (unit_test_monitor.ipp:49)
    469==516904== 
    470==516904== Invalid read of size 8
    471==516904==    at 0xCA6C24: IsMine (wallet.cpp:1339)
    472==516904==    by 0xCA6C24: IsMine (wallet.cpp:1325)
    473==516904==    by 0xCA6C24: IsMine (wallet.cpp:1348)
    474==516904==    by 0xCA6C24: CWallet::AddToWalletIfInvolvingMe(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool, bool) (wallet.cpp:1056)
    475==516904==    by 0xCA8460: SyncTransaction (wallet.cpp:1204)
    476==516904==    by 0xCA8460: CWallet::blockConnected(CBlock const&, int) (wallet.cpp:1268)
    477==516904==    by 0xCA864D: non-virtual thunk to CWallet::blockConnected(CBlock const&, int) (gthr-default.h:0)
    478==516904==    by 0x84DEF4: node::(anonymous namespace)::NotificationsProxy::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*) (interfaces.cpp:357)
    479==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    480==516904==    by 0xA3AE33: Iterate<(lambda at validationinterface.cpp:222:30)> (validationinterface.cpp:83)
    481==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    482==516904==    by 0xA3AE33: operator() (validationinterface.cpp:224)
    483==516904==    by 0xA3AE33: __invoke_impl<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:61)
    484==516904==    by 0xA3AE33: __invoke_r<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:111)
    485==516904==    by 0xA3AE33: std::_Function_handler<void (), CMainSignals::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_9>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    486==516904==    by 0xAB857D: operator() (std_function.h:560)
    487==516904==    by 0xAB857D: SingleThreadedSchedulerClient::ProcessQueue() (scheduler.cpp:177)
    488==516904==    by 0xAB99A0: __invoke_impl<void, void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:74)
    489==516904==    by 0xAB99A0: __invoke<void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:96)
    490==516904==    by 0xAB99A0: __call<void, 0UL> (functional:420)
    491==516904==    by 0xAB99A0: operator()<, void> (functional:503)
    492==516904==    by 0xAB99A0: __invoke_impl<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:61)
    493==516904==    by 0xAB99A0: __invoke_r<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:111)
    494==516904==    by 0xAB99A0: std::_Function_handler<void (), std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient*))()> >::_M_invoke(std::_Any_data const&) (std_function.h:291)
    495==516904==    by 0xAB7870: operator() (std_function.h:560)
    496==516904==    by 0xAB7870: CScheduler::serviceQueue() (scheduler.cpp:64)
    497==516904==    by 0x734480: operator() (setup_common.cpp:140)
    498==516904==    by 0x734480: __invoke_impl<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:61)
    499==516904==    by 0x734480: __invoke_r<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:111)
    500==516904==    by 0x734480: std::_Function_handler<void (), ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    501==516904==    by 0xB2164F: util::TraceThread(char const*, std::function<void ()>) (std_function.h:560)
    502==516904==    by 0x7343E6: __invoke_impl<void, void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:61)
    503==516904==    by 0x7343E6: __invoke<void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:96)
    504==516904==    by 0x7343E6: _M_invoke<0UL, 1UL, 2UL> (std_thread.h:253)
    505==516904==    by 0x7343E6: operator() (std_thread.h:260)
    506==516904==    by 0x7343E6: std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(char const*, std::function<void ()>), char const*, ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0> > >::_M_run() (std_thread.h:211)
    507==516904==    by 0x4DD5C83: execute_native_thread_routine (thread.cc:82)
    508==516904==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
    509==516904== 
    510==516904== 
    511==516904== Process terminating with default action of signal 11 (SIGSEGV): dumping core
    512==516904==  Access not within mapped region at address 0x0
    513==516904==    at 0xCA6C24: IsMine (wallet.cpp:1339)
    514==516904==    by 0xCA6C24: IsMine (wallet.cpp:1325)
    515==516904==    by 0xCA6C24: IsMine (wallet.cpp:1348)
    516==516904==    by 0xCA6C24: CWallet::AddToWalletIfInvolvingMe(std::shared_ptr<CTransaction const> const&, CWalletTx::Confirmation, bool, bool) (wallet.cpp:1056)
    517==516904==    by 0xCA8460: SyncTransaction (wallet.cpp:1204)
    518==516904==    by 0xCA8460: CWallet::blockConnected(CBlock const&, int) (wallet.cpp:1268)
    519==516904==    by 0xCA864D: non-virtual thunk to CWallet::blockConnected(CBlock const&, int) (gthr-default.h:0)
    520==516904==    by 0x84DEF4: node::(anonymous namespace)::NotificationsProxy::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*) (interfaces.cpp:357)
    521==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    522==516904==    by 0xA3AE33: Iterate<(lambda at validationinterface.cpp:222:30)> (validationinterface.cpp:83)
    523==516904==    by 0xA3AE33: operator() (validationinterface.cpp:222)
    524==516904==    by 0xA3AE33: operator() (validationinterface.cpp:224)
    525==516904==    by 0xA3AE33: __invoke_impl<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:61)
    526==516904==    by 0xA3AE33: __invoke_r<void, (lambda at validationinterface.cpp:224:5) &> (invoke.h:111)
    527==516904==    by 0xA3AE33: std::_Function_handler<void (), CMainSignals::BlockConnected(std::shared_ptr<CBlock const> const&, CBlockIndex const*)::$_9>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    528==516904==    by 0xAB857D: operator() (std_function.h:560)
    529==516904==    by 0xAB857D: SingleThreadedSchedulerClient::ProcessQueue() (scheduler.cpp:177)
    530==516904==    by 0xAB99A0: __invoke_impl<void, void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:74)
    531==516904==    by 0xAB99A0: __invoke<void (SingleThreadedSchedulerClient::*&)(), SingleThreadedSchedulerClient *&> (invoke.h:96)
    532==516904==    by 0xAB99A0: __call<void, 0UL> (functional:420)
    533==516904==    by 0xAB99A0: operator()<, void> (functional:503)
    534==516904==    by 0xAB99A0: __invoke_impl<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:61)
    535==516904==    by 0xAB99A0: __invoke_r<void, std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient *))()> &> (invoke.h:111)
    536==516904==    by 0xAB99A0: std::_Function_handler<void (), std::_Bind<void (SingleThreadedSchedulerClient::*(SingleThreadedSchedulerClient*))()> >::_M_invoke(std::_Any_data const&) (std_function.h:291)
    537==516904==    by 0xAB7870: operator() (std_function.h:560)
    538==516904==    by 0xAB7870: CScheduler::serviceQueue() (scheduler.cpp:64)
    539==516904==    by 0x734480: operator() (setup_common.cpp:140)
    540==516904==    by 0x734480: __invoke_impl<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:61)
    541==516904==    by 0x734480: __invoke_r<void, (lambda at test/util/setup_common.cpp:140:86) &> (invoke.h:111)
    542==516904==    by 0x734480: std::_Function_handler<void (), ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0>::_M_invoke(std::_Any_data const&) (std_function.h:291)
    543==516904==    by 0xB2164F: util::TraceThread(char const*, std::function<void ()>) (std_function.h:560)
    544==516904==    by 0x7343E6: __invoke_impl<void, void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:61)
    545==516904==    by 0x7343E6: __invoke<void (*)(const char *, std::function<void ()>), const char *, (lambda at test/util/setup_common.cpp:140:86)> (invoke.h:96)
    546==516904==    by 0x7343E6: _M_invoke<0UL, 1UL, 2UL> (std_thread.h:253)
    547==516904==    by 0x7343E6: operator() (std_thread.h:260)
    548==516904==    by 0x7343E6: std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(char const*, std::function<void ()>), char const*, ChainTestingSetup::ChainTestingSetup(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<char const*, std::allocator<char const*> > const&)::$_0> > >::_M_run() (std_thread.h:211)
    549==516904==    by 0x4DD5C83: execute_native_thread_routine (thread.cc:82)
    550==516904==  If you believe this happened as a result of a stack
    551==516904==  overflow in your program's main thread (unlikely but
    552==516904==  possible), you can try to increase the size of the
    553==516904==  main thread stack using the --main-stacksize= flag.
    554==516904==  The main thread stack size used in this run was 8388608.
    555==516904== 
    556==516904== HEAP SUMMARY:
    557==516904==     in use at exit: 41,357,628 bytes in 7,056 blocks
    558==516904==   total heap usage: 181,382 allocs, 174,326 frees, 261,014,118 bytes allocated
    559==516904== 
    560==516904== LEAK SUMMARY:
    561==516904==    definitely lost: 216 bytes in 1 blocks
    562==516904==    indirectly lost: 61 bytes in 3 blocks
    563==516904==      possibly lost: 65,444 bytes in 699 blocks
    564==516904==    still reachable: 41,291,907 bytes in 6,353 blocks
    565==516904==         suppressed: 0 bytes in 0 blocks
    566==516904== Rerun with --leak-check=full to see details of leaked memory
    567==516904== 
    568==516904== Use --track-origins=yes to see where uninitialised values come from
    569==516904== For lists of detected and suppressed errors, rerun with: -s
    570==516904== ERROR SUMMARY: 95 errors from 10 contexts (suppressed: 0 from 0)
    
  14. ryanofsky commented at 5:52 pm on October 29, 2021: member

    Another case of this here https://cirrus-ci.com/task/6184680090238976

    re: #23368 (comment)

    I’ve bisected it down to #23336.

    Just to clarify, I think based on recent comments we do not actually think this issue relates to #23336. Bisect result was just from failure happening unreliably.

  15. hebasto commented at 8:06 am on October 31, 2021: member

    @MarcoFalke

    CMD:

    0while ( make &&  valgrind ./src/test/test_bitcoin -t psbt_wallet_tests --catch_system_errors=no -l test_suite -- DEBUG_LOG_OUT ) ; do true ; done
    

    What are your configure options?

  16. hebasto commented at 12:00 pm on October 31, 2021: member

    Another case of this here https://cirrus-ci.com/task/6184680090238976

    re: #23368 (comment)

    I’ve bisected it down to #23336.

    Just to clarify, I think based on recent comments we do not actually think this issue relates to #23336. Bisect result was just from failure happening unreliably.

    Correct. See #23403.

  17. hebasto commented at 6:37 pm on October 31, 2021: member
    One more CI failure.
  18. MarcoFalke closed this on Nov 1, 2021

  19. sidhujag referenced this in commit 0e193a7268 on Nov 1, 2021
  20. DrahtBot locked this on Nov 2, 2022

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-22 15:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me