Skip to content

qa: Failure in wallet_basic.py spendzeroconfchange test #32456

@hodlinator

Description

@hodlinator

CI failure (job: "macOS 14 native, arm64, no depends, sqlite only, gui") upon merge of my PR (ad5cd12): https://github.com/bitcoin/bitcoin/actions/runs/14916001314/job/41901630172

Relevant high-level log:

22/267 - wallet_basic.py failed, Duration: 23 s

stdout:
2025-05-08T21:04:47.763000Z TestFramework (INFO): PRNG seed is: 1820560705145373934
2025-05-08T21:04:47.764000Z TestFramework (INFO): Initializing test directory /Users/runner/work/bitcoin/bitcoin/ci/scratch/test_runner/test_runner_₿_🏃_20250508_210317/wallet_basic_241
2025-05-08T21:04:49.006000Z TestFramework (INFO): Mining blocks...
2025-05-08T21:04:50.323000Z TestFramework (INFO): Test gettxout
2025-05-08T21:04:50.342000Z TestFramework (INFO): Test gettxout (second part)
2025-05-08T21:04:56.786000Z TestFramework (INFO): Test sendmany
2025-05-08T21:04:56.833000Z TestFramework (INFO): Test sendmany with fee_rate param (explicit fee rate in sat/vB)
2025-05-08T21:04:56.873000Z TestFramework (INFO): Test sendmany raises 'fee rate too low' if fee_rate of 0.99999999 is passed
2025-05-08T21:04:56.876000Z TestFramework (INFO): Test sendmany raises if an invalid fee_rate is passed
2025-05-08T21:04:56.894000Z TestFramework (INFO): Test sendmany raises if an invalid conf_target or estimate_mode is passed
2025-05-08T21:04:59.702000Z TestFramework (INFO): Test -walletbroadcast
2025-05-08T21:05:06.265000Z TestFramework (INFO): Test -reindex
2025-05-08T21:05:08.464000Z TestFramework (INFO): Testing gettransaction response with different arguments...
2025-05-08T21:05:08.468000Z TestFramework (INFO): Test send* RPCs with verbose=True
2025-05-08T21:05:08.475000Z TestFramework (INFO): Test send* RPCs with verbose=False
2025-05-08T21:05:08.480000Z TestFramework (INFO): Testing 'listunspent' outputs the parent descriptor(s) of coins
2025-05-08T21:05:08.499000Z TestFramework (INFO): Test -spendzeroconfchange
2025-05-08T21:05:09.800000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/Users/runner/work/bitcoin/bitcoin/test/functional/test_framework/test_framework.py", line 183, in main
    self.run_test()
    ~~~~~~~~~~~~~^^
  File "/Users/runner/work/bitcoin/bitcoin/ci/scratch/build-aarch64-apple-darwin23.6.0/test/functional/wallet_basic.py", line 659, in run_test
    assert_equal(len(utxos), 1)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/Users/runner/work/bitcoin/bitcoin/test/functional/test_framework/util.py", line 77, in assert_equal
    raise AssertionError("not(%s)" % " == ".join(str(arg) for arg in (thing1, thing2) + args))
AssertionError: not(0 == 1)

So far unable to reproduce on NixOS. Among other things tested:

build/test/functional/wallet_basic.py --random=1820560705145373934
build/test/functional/test_runner.py --ci -j25 --tmpdirprefix /tmp/test_runner/ --ansi --combinedlogslen=99999999 --timeout-factor=40 --quiet --failfast

Edit: Next push to master succeeded as l0rinc noted, so this seems possibly timing dependent/racy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions