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

issue ismaelsadeeq openend this issue on February 5, 2026
  1. ismaelsadeeq commented at 3:22 pm on February 5, 2026: member
      0187/451 - wallet_fundrawtransaction.py failed, Duration: 13 s
      1
      2stdout:
      32026-02-05T12:35:01.704519Z TestFramework (INFO): PRNG seed is: 5016624252263921331
      4
      52026-02-05T12:35:01.730571Z TestFramework (INFO): Initializing test directory D:\a\_temp\test_runner__🏃_20260205_122957\wallet_fundrawtransaction_262
      6
      72026-02-05T12:35:02.537671Z TestFramework (INFO): Connect nodes, set fees, generate blocks, and sync
      8
      92026-02-05T12:35:05.321861Z TestFramework (INFO): Test 'add_inputs' default value
     10
     112026-02-05T12:35:05.452026Z TestFramework (INFO): Test wallet preset inputs are not double-counted or reused in coin selection
     12
     132026-02-05T12:35:05.501867Z TestFramework (INFO): Test weight calculation with external inputs
     14
     152026-02-05T12:35:05.548967Z TestFramework (INFO): Test weight limits
     16
     172026-02-05T12:35:07.187533Z TestFramework (INFO): Test fundrawtxn changePosition option
     18
     192026-02-05T12:35:07.281210Z TestFramework (INFO): Test fundrawtxn
     20
     212026-02-05T12:35:07.284318Z TestFramework (INFO): Test fundrawtxn with 2 coins
     22
     232026-02-05T12:35:07.287273Z TestFramework (INFO): Test fundrawtxn with 2 outputs
     24
     252026-02-05T12:35:07.291047Z TestFramework (INFO): Test fundrawtxn with a vin > required amount
     26
     272026-02-05T12:35:07.295357Z TestFramework (INFO): Test fundrawtxn not having a change output
     28
     292026-02-05T12:35:07.300114Z TestFramework (INFO): Test fundrawtxn with an invalid option
     30
     312026-02-05T12:35:07.303564Z TestFramework (INFO): Test fundrawtxn with an invalid change address
     32
     332026-02-05T12:35:07.306663Z TestFramework (INFO): Test fundrawtxn with a provided change address
     34
     352026-02-05T12:35:07.311817Z TestFramework (INFO): Test fundrawtxn with a provided change type
     36
     372026-02-05T12:35:07.316656Z TestFramework (INFO): Test fundrawtxn with a vin < required amount
     38
     392026-02-05T12:35:07.321806Z TestFramework (INFO): Test fundrawtxn with 2 vins
     40
     412026-02-05T12:35:07.327892Z TestFramework (INFO): Test fundrawtxn with 2 vins and 2 vouts
     42
     432026-02-05T12:35:07.334649Z TestFramework (INFO): Test fundrawtxn with an invalid vin
     44
     452026-02-05T12:35:07.336586Z TestFramework (INFO): Test fundrawtxn p2pkh fee
     46
     472026-02-05T12:35:07.347693Z TestFramework (INFO): Test fundrawtxn p2pkh fee with multiple outputs
     48
     492026-02-05T12:35:07.375364Z TestFramework (INFO): Test fundrawtxn fee with 4-of-5 addresses
     50
     512026-02-05T12:35:07.392213Z TestFramework (INFO): Test fundpsbt spending 2-of-2 multisig
     52
     532026-02-05T12:35:08.502881Z TestFramework (INFO): Test fundrawtxn with locked wallet and hardened derivation
     54
     552026-02-05T12:35:10.397217Z TestFramework (INFO): Test fundrawtxn fee with many inputs
     56
     572026-02-05T12:35:10.600278Z TestFramework (INFO): Test fundrawtxn sign+send with many inputs
     58
     592026-02-05T12:35:10.852109Z TestFramework (INFO): Test fundrawtxn with OP_RETURN and no vin
     60
     612026-02-05T12:35:10.854867Z TestFramework (INFO): Test fundrawtxn using only watchonly
     62
     632026-02-05T12:35:10.875358Z TestFramework (INFO): Test fundrawtxn using entirety of watched funds
     64
     652026-02-05T12:35:10.916338Z TestFramework (INFO): Test fundrawtxn with explicit fee rates (fee_rate sat/vB and feeRate BTC/kvB)
     66
     672026-02-05T12:35:10.939633Z TestFramework (INFO): Test fundrawtxn with invalid estimate_mode settings
     68
     692026-02-05T12:35:10.942656Z TestFramework (INFO): Test fundrawtxn with invalid conf_target settings
     70
     712026-02-05T12:35:10.951856Z TestFramework (INFO): Test invalid fee rate settings
     72
     732026-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
     74
     752026-02-05T12:35:10.967992Z TestFramework (INFO): - raises RPC error if both feeRate and fee_rate are passed
     76
     772026-02-05T12:35:10.968656Z TestFramework (INFO): - raises RPC error if both feeRate and estimate_mode passed
     78
     792026-02-05T12:35:10.969305Z TestFramework (INFO): - raises RPC error if both feeRate and conf_target are passed
     80
     812026-02-05T12:35:10.969943Z TestFramework (INFO): - raises RPC error if both fee_rate and conf_target are passed
     82
     832026-02-05T12:35:10.970583Z TestFramework (INFO): - raises RPC error if both fee_rate and estimate_mode are passed
     84
     852026-02-05T12:35:10.971225Z TestFramework (INFO): Test fundrawtxn does not reuse addresses
     86
     872026-02-05T12:35:10.975198Z TestFramework (INFO): Test fundrawtxn subtractFeeFromOutputs option
     88
     892026-02-05T12:35:11.001886Z TestFramework (INFO): Test fundrawtxn subtract fee from outputs with preset inputs that are sufficient
     90
     912026-02-05T12:35:11.023993Z TestFramework (INFO): Test fundrawtx where BnB solution would result in a too large transaction, but Knapsack would not
     92
     932026-02-05T12:35:13.553431Z TestFramework (INFO): Test fundrawtxn with unsafe inputs
     94
     952026-02-05T12:35:14.665974Z TestFramework (INFO): Test funding with external inputs
     96
     972026-02-05T12:35:14.875797Z TestFramework (INFO): Test issue 22670 ApproximateBestSubset bug
     98
     992026-02-05T12:35:15.310940Z TestFramework (ERROR): Unexpected exception
    100
    101Traceback (most recent call last):
    102
    103  File "D:\a\bitcoin\bitcoin\test\functional\test_framework\test_framework.py", line 142, in main
    104
    105    self.run_test()
    106
    107    ~~~~~~~~~~~~~^^
    108
    109  File "D:\a\bitcoin\bitcoin/test/functional/wallet_fundrawtransaction.py", line 153, in run_test
    110
    111    self.test_22670()
    112
    113    ~~~~~~~~~~~~~~~^^
    114
    115  File "D:\a\bitcoin\bitcoin/test/functional/wallet_fundrawtransaction.py", line 1431, in test_22670
    116
    117    do_fund_send(lower_bound)
    118
    119    ~~~~~~~~~~~~^^^^^^^^^^^^^
    120
    121  File "D:\a\bitcoin\bitcoin/test/functional/wallet_fundrawtransaction.py", line 1416, in do_fund_send
    122
    123    funded_tx = tester.fundrawtransaction(create_tx)
    124
    125  File "D:\a\bitcoin\bitcoin\test\functional\test_framework\coverage.py", line 50, in __call__
    126
    127    return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
    128
    129  File "D:\a\bitcoin\bitcoin\test\functional\test_framework\authproxy.py", line 156, in __call__
    130
    131    raise JSONRPCException(response['error'], status)
    132
    133test_framework.authproxy.JSONRPCException: Insufficient funds (-4)
    134
    1352026-02-05T12:35:15.363540Z TestFramework (INFO): Not stopping nodes as test failed. The dangling processes will be cleaned up later.
    136
    1372026-02-05T12:35:15.363675Z TestFramework (WARNING): Not cleaning up dir D:\a\_temp\test_runner__🏃_20260205_122957\wallet_fundrawtransaction_262
    138
    1392026-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
    140
    1412026-02-05T12:35:15.363938Z TestFramework (ERROR): 
    142
    1432026-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
    144
    1452026-02-05T12:35:15.364370Z TestFramework (ERROR): 
    146
    1472026-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.
    148
    1492026-02-05T12:35:15.364528Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
    150
    1512026-02-05T12:35:15.364593Z TestFramework (ERROR): 
    152
    153
    154
    155stderr:
    156[node 3] Cleaning up leftover process
    157
    158[node 2] Cleaning up leftover process
    159
    160[node 1] Cleaning up leftover process
    161
    162[node 0] Cleaning up leftover process
    163
    164
    165
    166Combine 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-02-11 18:13 UTC

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