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: none

    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.


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

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