Page MenuHomePhabricator

[avalanche] Don't keep stalled transactions around
ClosedPublic

Authored by Fabien on Aug 25 2025, 12:02.

Details

Reviewers
PiRK
Group Reviewers
Restricted Project
Commits
rABC1851a32d63f5: [avalanche] Don't keep stalled transactions around
Summary

With preconsensus if a tx is stalled, there is nothing we can do with it, it won't get mined. This this case we just drop it temporarly but allow for downloading again so we can restart a new poll round later.

Test Plan
ninja all check-all

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Tail of the build log:

[400/586] Building CXX object src/CMakeFiles/server.dir/wallet/init.cpp.o
[401/586] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o
[402/586] Building CXX object src/CMakeFiles/bitcoin-wallet.dir/bitcoin-wallet.cpp.o
[403/586] Linking C executable src/secp256k1/internal-bench
[404/586] Building CXX object src/test/CMakeFiles/testutil.dir/util/logging.cpp.o
[405/586] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o
[406/586] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockindex.cpp.o
[407/586] Building CXX object src/test/CMakeFiles/testutil.dir/util/coins.cpp.o
[408/586] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o
[409/586] Linking C executable src/secp256k1/ecmult-bench
[410/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o
[411/586] Building CXX object src/test/CMakeFiles/testutil.dir/util/random.cpp.o
[412/586] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o
[413/586] Linking CXX executable src/bitcoin-tx
[414/586] Building CXX object src/CMakeFiles/server.dir/rpc/avalanche.cpp.o
[415/586] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o
[416/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[417/586] Building CXX object src/CMakeFiles/server.dir/rpc/rawtransaction.cpp.o
[418/586] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o
[419/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o
[420/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[421/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[422/586] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o
[423/586] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[424/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[425/586] Building CXX object src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o
[426/586] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o
[427/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[428/586] Building CXX object src/CMakeFiles/server.dir/rpc/blockchain.cpp.o
[429/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[430/586] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[431/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[432/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[433/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[434/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[435/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[436/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[437/586] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[438/586] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o
[439/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[440/586] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[441/586] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[442/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[443/586] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[444/586] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[445/586] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[446/586] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[447/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[448/586] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[449/586] Linking CXX executable src/iguana/iguana
[450/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[451/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[452/586] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[453/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[454/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[455/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[456/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[457/586] Linking CXX static library src/wallet/libwallet.a
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang failed with exit code 1

Tail of the build log:

[399/584] Linking C executable src/secp256k1/ecmult-bench
[400/584] Building CXX object src/CMakeFiles/server.dir/txmempool.cpp.o
[401/584] Building CXX object src/CMakeFiles/bitcoind.dir/bitcoind.cpp.o
[402/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockindex.cpp.o
[403/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/logging.cpp.o
[404/584] Building CXX object src/CMakeFiles/bitcoin-wallet.dir/bitcoin-wallet.cpp.o
[405/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/coins.cpp.o
[406/584] Building CXX object src/CMakeFiles/bitcoin-cli.dir/bitcoin-cli.cpp.o
[407/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o
[408/584] Linking CXX executable src/bitcoin-cli
[409/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/random.cpp.o
[410/584] Building CXX object src/CMakeFiles/server.dir/wallet/init.cpp.o
[411/584] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o
[412/584] Linking CXX executable src/bitcoin-tx
[413/584] Building CXX object src/CMakeFiles/server.dir/rpc/blockchain.cpp.o
[414/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o
[415/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o
[416/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o
[417/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o
[418/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o
[419/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o
[420/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o
[421/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o
[422/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o
[423/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.cpp.o
[424/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o
[425/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/txmempool.cpp.o
[426/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o
[427/584] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o
[428/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o
[429/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[430/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[431/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[432/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[433/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[434/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[435/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[436/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[437/584] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[438/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[439/584] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[440/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[441/584] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[442/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[443/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[444/584] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[445/584] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[446/584] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[447/584] Linking CXX executable src/iguana/iguana
[448/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[449/584] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[450/584] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[451/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[452/584] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[453/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[454/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[455/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[456/584] Linking CXX static library src/wallet/libwallet.a
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang-tidy failed with exit code 1
The build failed due to an unexpected infrastructure outage. The administrators have been notified to investigate. Sorry for the inconvenience.

Fix missing lock

Fabien published this revision for review.Aug 25 2025, 13:10
This revision is now accepted and ready to land.Aug 25 2025, 19:12