ci: intermittent failure in `wallet_fundrawtransaction.py` `test_22670` subtest #34516

issue ismaelsadeeq opened this issue on February 5, 2026
  1. ismaelsadeeq commented at 3:22 PM on February 5, 2026: member
    187/451 - wallet_fundrawtransaction.py failed, Duration: 13 s
    
    stdout:
    2026-02-05T12:35:01.704519Z TestFramework (INFO): PRNG seed is: 5016624252263921331
    
    2026-02-05T12:35:01.730571Z TestFramework (INFO): Initializing test directory D:\a\_temp\test_runner_₿_🏃_20260205_122957\wallet_fundrawtransaction_262
    
    2026-02-05T12:35:02.537671Z TestFramework (INFO): Connect nodes, set fees, generate blocks, and sync
    
    2026-02-05T12:35:05.321861Z TestFramework (INFO): Test 'add_inputs' default value
    
    2026-02-05T12:35:05.452026Z TestFramework (INFO): Test wallet preset inputs are not double-counted or reused in coin selection
    
    2026-02-05T12:35:05.501867Z TestFramework (INFO): Test weight calculation with external inputs
    
    2026-02-05T12:35:05.548967Z TestFramework (INFO): Test weight limits
    
    2026-02-05T12:35:07.187533Z TestFramework (INFO): Test fundrawtxn changePosition option
    
    2026-02-05T12:35:07.281210Z TestFramework (INFO): Test fundrawtxn
    
    2026-02-05T12:35:07.284318Z TestFramework (INFO): Test fundrawtxn with 2 coins
    
    2026-02-05T12:35:07.287273Z TestFramework (INFO): Test fundrawtxn with 2 outputs
    
    2026-02-05T12:35:07.291047Z TestFramework (INFO): Test fundrawtxn with a vin > required amount
    
    2026-02-05T12:35:07.295357Z TestFramework (INFO): Test fundrawtxn not having a change output
    
    2026-02-05T12:35:07.300114Z TestFramework (INFO): Test fundrawtxn with an invalid option
    
    2026-02-05T12:35:07.303564Z TestFramework (INFO): Test fundrawtxn with an invalid change address
    
    2026-02-05T12:35:07.306663Z TestFramework (INFO): Test fundrawtxn with a provided change address
    
    2026-02-05T12:35:07.311817Z TestFramework (INFO): Test fundrawtxn with a provided change type
    
    2026-02-05T12:35:07.316656Z TestFramework (INFO): Test fundrawtxn with a vin < required amount
    
    2026-02-05T12:35:07.321806Z TestFramework (INFO): Test fundrawtxn with 2 vins
    
    2026-02-05T12:35:07.327892Z TestFramework (INFO): Test fundrawtxn with 2 vins and 2 vouts
    
    2026-02-05T12:35:07.334649Z TestFramework (INFO): Test fundrawtxn with an invalid vin
    
    2026-02-05T12:35:07.336586Z TestFramework (INFO): Test fundrawtxn p2pkh fee
    
    2026-02-05T12:35:07.347693Z TestFramework (INFO): Test fundrawtxn p2pkh fee with multiple outputs
    
    2026-02-05T12:35:07.375364Z TestFramework (INFO): Test fundrawtxn fee with 4-of-5 addresses
    
    2026-02-05T12:35:07.392213Z TestFramework (INFO): Test fundpsbt spending 2-of-2 multisig
    
    2026-02-05T12:35:08.502881Z TestFramework (INFO): Test fundrawtxn with locked wallet and hardened derivation
    
    2026-02-05T12:35:10.397217Z TestFramework (INFO): Test fundrawtxn fee with many inputs
    
    2026-02-05T12:35:10.600278Z TestFramework (INFO): Test fundrawtxn sign+send with many inputs
    
    2026-02-05T12:35:10.852109Z TestFramework (INFO): Test fundrawtxn with OP_RETURN and no vin
    
    2026-02-05T12:35:10.854867Z TestFramework (INFO): Test fundrawtxn using only watchonly
    
    2026-02-05T12:35:10.875358Z TestFramework (INFO): Test fundrawtxn using entirety of watched funds
    
    2026-02-05T12:35:10.916338Z TestFramework (INFO): Test fundrawtxn with explicit fee rates (fee_rate sat/vB and feeRate BTC/kvB)
    
    2026-02-05T12:35:10.939633Z TestFramework (INFO): Test fundrawtxn with invalid estimate_mode settings
    
    2026-02-05T12:35:10.942656Z TestFramework (INFO): Test fundrawtxn with invalid conf_target settings
    
    2026-02-05T12:35:10.951856Z TestFramework (INFO): Test invalid fee rate settings
    
    2026-02-05T12:35:10.965554Z TestFramework (INFO): Test min fee rate checks are bypassed with fundrawtxn, e.g. a fee_rate under 1 sat/vB is allowed
    
    2026-02-05T12:35:10.967992Z TestFramework (INFO): - raises RPC error if both feeRate and fee_rate are passed
    
    2026-02-05T12:35:10.968656Z TestFramework (INFO): - raises RPC error if both feeRate and estimate_mode passed
    
    2026-02-05T12:35:10.969305Z TestFramework (INFO): - raises RPC error if both feeRate and conf_target are passed
    
    2026-02-05T12:35:10.969943Z TestFramework (INFO): - raises RPC error if both fee_rate and conf_target are passed
    
    2026-02-05T12:35:10.970583Z TestFramework (INFO): - raises RPC error if both fee_rate and estimate_mode are passed
    
    2026-02-05T12:35:10.971225Z TestFramework (INFO): Test fundrawtxn does not reuse addresses
    
    2026-02-05T12:35:10.975198Z TestFramework (INFO): Test fundrawtxn subtractFeeFromOutputs option
    
    2026-02-05T12:35:11.001886Z TestFramework (INFO): Test fundrawtxn subtract fee from outputs with preset inputs that are sufficient
    
    2026-02-05T12:35:11.023993Z TestFramework (INFO): Test fundrawtx where BnB solution would result in a too large transaction, but Knapsack would not
    
    2026-02-05T12:35:13.553431Z TestFramework (INFO): Test fundrawtxn with unsafe inputs
    
    2026-02-05T12:35:14.665974Z TestFramework (INFO): Test funding with external inputs
    
    2026-02-05T12:35:14.875797Z TestFramework (INFO): Test issue 22670 ApproximateBestSubset bug
    
    2026-02-05T12:35:15.310940Z TestFramework (ERROR): Unexpected exception
    
    Traceback (most recent call last):
    
      File "D:\a\bitcoin\bitcoin\test\functional\test_framework\test_framework.py", line 142, in main
    
        self.run_test()
    
        ~~~~~~~~~~~~~^^
    
      File "D:\a\bitcoin\bitcoin/test/functional/wallet_fundrawtransaction.py", line 153, in run_test
    
        self.test_22670()
    
        ~~~~~~~~~~~~~~~^^
    
      File "D:\a\bitcoin\bitcoin/test/functional/wallet_fundrawtransaction.py", line 1431, in test_22670
    
        do_fund_send(lower_bound)
    
        ~~~~~~~~~~~~^^^^^^^^^^^^^
    
      File "D:\a\bitcoin\bitcoin/test/functional/wallet_fundrawtransaction.py", line 1416, in do_fund_send
    
        funded_tx = tester.fundrawtransaction(create_tx)
    
      File "D:\a\bitcoin\bitcoin\test\functional\test_framework\coverage.py", line 50, in __call__
    
        return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
    
      File "D:\a\bitcoin\bitcoin\test\functional\test_framework\authproxy.py", line 156, in __call__
    
        raise JSONRPCException(response['error'], status)
    
    test_framework.authproxy.JSONRPCException: Insufficient funds (-4)
    
    2026-02-05T12:35:15.363540Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
    
    2026-02-05T12:35:15.363675Z TestFramework (WARNING): Not cleaning up dir D:\a\_temp\test_runner_₿_🏃_20260205_122957\wallet_fundrawtransaction_262
    
    2026-02-05T12:35:15.363771Z TestFramework (ERROR): Test failed. Test logging available at D:\a\_temp\test_runner_₿_🏃_20260205_122957\wallet_fundrawtransaction_262/test_framework.log
    
    2026-02-05T12:35:15.363938Z TestFramework (ERROR): 
    
    2026-02-05T12:35:15.364264Z TestFramework (ERROR): Hint: Call D:\a\bitcoin\bitcoin\test\functional\combine_logs.py 'D:\a\_temp\test_runner_₿_🏃_20260205_122957\wallet_fundrawtransaction_262' to consolidate all logs
    
    2026-02-05T12:35:15.364370Z TestFramework (ERROR): 
    
    2026-02-05T12:35:15.364439Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
    
    2026-02-05T12:35:15.364528Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
    
    2026-02-05T12:35:15.364593Z TestFramework (ERROR): 
    
    
    
    stderr:
    [node 3] Cleaning up leftover process
    
    [node 2] Cleaning up leftover process
    
    [node 1] Cleaning up leftover process
    
    [node 0] Cleaning up leftover process
    
    
    
    Combine the logs and print the last 99999999 lines ...
    
    

    I've seen this twice, recently in https://github.com/bitcoin/bitcoin/actions/runs/21711098285/job/62615544269?pr=29278 and first in https://github.com/bitcoin/bitcoin/actions/runs/19305407337/job/55211418389. It seems unrelated to PR #29278. I am opening this as a separate tracker, as it's worth investigating the root cause.

  2. maflcko added the label CI failed on Feb 5, 2026
  3. maflcko added the label Wallet on Feb 5, 2026
  4. mzumsande commented at 8:53 AM on February 6, 2026: contributor

    It seems unrelated to PR #29278.

    Has it appeared somewhere else? If it was a problem on master, but it occurred twice in the same wallet-related PR, months apart, and nowhere else in all that time, that would seem quite a coincidence given how frequently the functional tests are being run.

  5. ismaelsadeeq commented at 9:55 AM on February 6, 2026: member

    Has it appeared somewhere else?

    Not to any of my other PRs/PRs that I reviewed.

    If it was a problem on master, but it occurred twice in the same wallet-related PR, months apart, and nowhere else in all that time, that would seem quite a coincidence given how frequently the functional tests are being run.

    I agree. It's exactly the reason why I opened the issue here: I haven't been able to reproduce it locally so far. I'll investigate more soon.

  6. mzumsande commented at 10:05 AM on February 6, 2026: contributor

    FYI I locally did 160 runs of wallet_fundrawtransaction.py on the PR branch and got the error once (on Ubuntu, so it's not windows-related). Didn't get it in 120 runs on master. So it seems very rare indeed, but it might be possible to trigger the bug by running the test in a loop locally for an hour or so.

  7. maflcko commented at 10:12 AM on February 6, 2026: member

    Note, it is possible to pass the same test name (wallet_fundrawtransaction wallet_fundrawtransaction ...) to the test runner. So if you have 64 cpu threads, you can pass it 128 times to the test runner with -j128. This way you don't have to wait an hour and get the failure within the first try within two minutes.

    (edit: Use at your own risk, check if your free memory is enough before running large -j )

  8. maflcko removed the label CI failed on Feb 6, 2026
  9. maflcko added the label Tests on Feb 6, 2026
  10. maflcko added the label Questions and Help on Feb 6, 2026
  11. ismaelsadeeq commented at 10:32 AM on February 6, 2026: member

    160 is the new threshold.

    Thanks for the help.

    Closing as related to #29278.

  12. ismaelsadeeq closed this on Feb 6, 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-04-17 09:12 UTC

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