qa: Intermittent failure in `wallet_listtransactions.py` on NetBSD #35967

issue hebasto opened this issue on August 14, 2026
  1. hebasto commented at 9:27 AM on August 14, 2026: member

    The following issue happened two times this week:

    238/491 - wallet_listtransactions.py failed, Duration: 11 s
    
    stdout:
    2026-08-14T03:48:55.447396Z TestFramework (INFO): PRNG seed is: 114550680541244550
    2026-08-14T03:48:55.505302Z TestFramework (INFO): Initializing test directory /root/test_runner_₿_🏃_20260814_034133/wallet_listtransactions_249
    2026-08-14T03:48:56.486787Z TestFramework (INFO): Test simple send from node0 to node1
    2026-08-14T03:48:57.555851Z TestFramework (INFO): Test confirmations change after mining a block
    2026-08-14T03:48:58.595669Z TestFramework (INFO): Test send-to-self on node0
    2026-08-14T03:48:58.605393Z TestFramework (INFO): Test sendmany from node1: twice to self, twice to node0
    2026-08-14T03:48:59.669481Z TestFramework (INFO): Setup the same wallet on two nodes
    2026-08-14T03:49:02.524374Z TestFramework (INFO): Send to externally generated addresses
    2026-08-14T03:49:05.765328Z TestFramework (INFO): Verify listtransactions is the same regardless of where the address was generated
    2026-08-14T03:49:05.773416Z TestFramework (INFO): Verify labels are persistent on the node that generated the addresses
    2026-08-14T03:49:05.778057Z TestFramework (INFO): Check "coin-join" transaction
    2026-08-14T03:49:05.798649Z TestFramework (INFO): Test listtransactions RPC parameter validity
    2026-08-14T03:49:05.829374Z TestFramework (INFO): Test gettransaction and listtransactions report alternate witnesses and canonical variant
    2026-08-14T03:49:06.026999Z TestFramework (INFO): Test the only known variant is canonical with no alternates
    2026-08-14T03:49:06.527976Z TestFramework (INFO): Test the lighter variant is canonical when both are known and unconfirmed
    2026-08-14T03:49:06.549355Z TestFramework (INFO): Test a confirmed variant is canonical even when it is the heavier one
    2026-08-14T03:49:06.588895Z TestFramework (ERROR): Unexpected exception:
    Traceback (most recent call last):
      File "/root/bitcoin/test/functional/test_framework/test_framework.py", line 145, in main
        self.run_test()
        ~~~~~~~~~~~~~^^
      File "/root/build/test/functional/wallet_listtransactions.py", line 101, in run_test
        self.test_alternate_witness_tx()
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
      File "/root/build/test/functional/wallet_listtransactions.py", line 339, in test_alternate_witness_tx
        block = self.generateblock(self.nodes[1], default_wallet.getnewaddress(), [script_path_tx], sync_fun=self.no_op)["hash"]
                ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/root/bitcoin/test/functional/test_framework/test_framework.py", line 666, in generateblock
        blocks = generator.generateblock(*args, called_by_framework=True, **kwargs)
      File "/root/bitcoin/test/functional/test_framework/test_node.py", line 455, in generateblock
        return self.__getattr__('generateblock')(*args, **kwargs)
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
      File "/root/bitcoin/test/functional/test_framework/coverage.py", line 50, in __call__
        return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
      File "/root/bitcoin/test/functional/test_framework/authproxy.py", line 147, in __call__
        raise JSONRPCException(response['error'], status)
    test_framework.util.JSONRPCException: TestBlockValidity failed: bad-txns-inputs-missingorspent, CheckTxInputs: inputs missing/spent in transaction 2ba0463f855778db392ad0e1dc0a7785ddcc055d440b2b90c3a11270c232114d (-25)  [http_status=200]
    2026-08-14T03:49:06.649664Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
    2026-08-14T03:49:06.649855Z TestFramework (WARNING): Not cleaning up dir /root/test_runner_₿_🏃_20260814_034133/wallet_listtransactions_249
    2026-08-14T03:49:06.649954Z TestFramework (ERROR): Test failed. Test logging available at /root/test_runner_₿_🏃_20260814_034133/wallet_listtransactions_249/test_framework.log
    2026-08-14T03:49:06.650203Z TestFramework (ERROR): 
    2026-08-14T03:49:06.650337Z TestFramework (ERROR): Hint: Call /root/bitcoin/test/functional/combine_logs.py '/root/test_runner_₿_🏃_20260814_034133/wallet_listtransactions_249' to consolidate all logs
    2026-08-14T03:49:06.650401Z TestFramework (ERROR): 
    2026-08-14T03:49:06.650464Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
    2026-08-14T03:49:06.650591Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
    2026-08-14T03:49:06.650648Z TestFramework (ERROR): 
    
    
    

    CI logs:

  2. Shaurya2k06 commented at 9:58 AM on August 14, 2026: contributor

    Hey @hebasto, I tested this out for myself and traced it to a missing sync before disconnecting node0. The funding block is mined with sync_fun=self.no_op, then node0 is disconnected; when node1 later calls generateblock for the script-path spend, it sometimes lacks the parent UTXO and fails with bad-txns-inputs-missingorspent

    I fixed it by letting that funding generate() use the default sync_all() before the partition. Check it out, let me know if it's the right approach.

  3. fanquake closed this on Aug 19, 2026

  4. fanquake referenced this in commit 4d86d9cc7e on Aug 19, 2026

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: 2026-09-06 08:51 UTC

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