A peer availability score lets us know at a high level if a peer is serving avalanche traffic. At a minimum this is useful for debugging but new possibilities become available such as staking rewards based on a combination of proof score (stake amount) and peer availability (utility to the network). This patch implements calculating the score but does not use it yet. These scores will be available via RPC in a follow up patch.
Details
Details
- Reviewers
Fabien - Group Reviewers
Restricted Project - Commits
- rABCe2399c334b9f: [avalanche] Add a peer availability score that aggregates node availability…
ninja check check-functional
Diff Detail
Diff Detail
- Repository
- rABC Bitcoin ABC
- Branch
- peer-availability-score
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 22458 Build 44541: Build Diff build-without-wallet · build-diff · build-debug · lint-circular-dependencies · build-clang · build-clang-tidy Build 44540: arc lint + arc unit
Event Timeline
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-clang) failed.
Tail of the build log:
FAILED: src/CMakeFiles/server.dir/avalanche/processor.cpp.o /usr/bin/ccache /usr/bin/clang++ -DBOOST_AC_USE_STD_ATOMIC -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_SP_USE_STD_ATOMIC -DBOOST_THREAD_DYN_LINK -DBUILD_BITCOIN_INTERNAL -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_BUILD_INFO -DHAVE_CONFIG_H -DHAVE_CONSENSUS_LIB -DLEVELDB_ATOMIC_PRESENT -DLEVELDB_PLATFORM_POSIX -DOS_LINUX -I../../src/leveldb/helpers/memenv -I../../src/. -Isrc -I../../src/univalue/include -Isrc/crypto/.. -I../../src/secp256k1/include -I../../src/leveldb/include -isystem /usr/include/jemalloc -isystem /usr/include/miniupnpc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-protector-all -Wstack-protector -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wgnu -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wthread-safety -Wrange-loop-analysis -Wredundant-decls -Wunreachable-code-loop-increment -Wsign-compare -Wconditional-uninitialized -Wdocumentation -Wformat-security -Wredundant-move -Woverloaded-virtual -Wshadow -Wshadow-field -Wno-unused-parameter -Wno-implicit-fallthrough -pthread -std=gnu++17 -MD -MT src/CMakeFiles/server.dir/avalanche/processor.cpp.o -MF src/CMakeFiles/server.dir/avalanche/processor.cpp.o.d -o src/CMakeFiles/server.dir/avalanche/processor.cpp.o -c ../../src/avalanche/processor.cpp In file included from ../../src/avalanche/processor.cpp:9: ../../src/./avalanche/peermanager.h:395:36: error: cannot assign to variable 'peer' with const-qualified type 'const avalanche::Peer &' peer.availabilityScore = ~~~~~~~~~~~~~~~~~~~~~~ ^ ../../src/./avalanche/peermanager.h:386:48: note: variable 'peer' declared const here forEachPeer([&](const avalanche::Peer &peer) { ~~~~~~~~~~~~~~~~~~~~~~~^~~~ 1 error generated. [411/536] Building CXX object src/CMakeFiles/server.dir/rpc/avalanche.cpp.o FAILED: src/CMakeFiles/server.dir/rpc/avalanche.cpp.o /usr/bin/ccache /usr/bin/clang++ -DBOOST_AC_USE_STD_ATOMIC -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_SP_USE_STD_ATOMIC -DBOOST_THREAD_DYN_LINK -DBUILD_BITCOIN_INTERNAL -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_BUILD_INFO -DHAVE_CONFIG_H -DHAVE_CONSENSUS_LIB -DLEVELDB_ATOMIC_PRESENT -DLEVELDB_PLATFORM_POSIX -DOS_LINUX -I../../src/leveldb/helpers/memenv -I../../src/. -Isrc -I../../src/univalue/include -Isrc/crypto/.. -I../../src/secp256k1/include -I../../src/leveldb/include -isystem /usr/include/jemalloc -isystem /usr/include/miniupnpc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-protector-all -Wstack-protector -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wgnu -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wthread-safety -Wrange-loop-analysis -Wredundant-decls -Wunreachable-code-loop-increment -Wsign-compare -Wconditional-uninitialized -Wdocumentation -Wformat-security -Wredundant-move -Woverloaded-virtual -Wshadow -Wshadow-field -Wno-unused-parameter -Wno-implicit-fallthrough -pthread -std=gnu++17 -MD -MT src/CMakeFiles/server.dir/rpc/avalanche.cpp.o -MF src/CMakeFiles/server.dir/rpc/avalanche.cpp.o.d -o src/CMakeFiles/server.dir/rpc/avalanche.cpp.o -c ../../src/rpc/avalanche.cpp In file included from ../../src/rpc/avalanche.cpp:8: ../../src/./avalanche/peermanager.h:395:36: error: cannot assign to variable 'peer' with const-qualified type 'const avalanche::Peer &' peer.availabilityScore = ~~~~~~~~~~~~~~~~~~~~~~ ^ ../../src/./avalanche/peermanager.h:386:48: note: variable 'peer' declared const here forEachPeer([&](const avalanche::Peer &peer) { ~~~~~~~~~~~~~~~~~~~~~~~^~~~ 1 error generated. [412/536] Building CXX object src/CMakeFiles/server.dir/net_processing.cpp.o FAILED: src/CMakeFiles/server.dir/net_processing.cpp.o /usr/bin/ccache /usr/bin/clang++ -DBOOST_AC_USE_STD_ATOMIC -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_SP_USE_STD_ATOMIC -DBOOST_THREAD_DYN_LINK -DBUILD_BITCOIN_INTERNAL -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_BUILD_INFO -DHAVE_CONFIG_H -DHAVE_CONSENSUS_LIB -DLEVELDB_ATOMIC_PRESENT -DLEVELDB_PLATFORM_POSIX -DOS_LINUX -I../../src/leveldb/helpers/memenv -I../../src/. -Isrc -I../../src/univalue/include -Isrc/crypto/.. -I../../src/secp256k1/include -I../../src/leveldb/include -isystem /usr/include/jemalloc -isystem /usr/include/miniupnpc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-protector-all -Wstack-protector -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wall -Wextra -Wformat -Wgnu -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wthread-safety -Wrange-loop-analysis -Wredundant-decls -Wunreachable-code-loop-increment -Wsign-compare -Wconditional-uninitialized -Wdocumentation -Wformat-security -Wredundant-move -Woverloaded-virtual -Wshadow -Wshadow-field -Wno-unused-parameter -Wno-implicit-fallthrough -pthread -std=gnu++17 -MD -MT src/CMakeFiles/server.dir/net_processing.cpp.o -MF src/CMakeFiles/server.dir/net_processing.cpp.o.d -o src/CMakeFiles/server.dir/net_processing.cpp.o -c ../../src/net_processing.cpp In file included from ../../src/net_processing.cpp:11: ../../src/./avalanche/peermanager.h:395:36: error: cannot assign to variable 'peer' with const-qualified type 'const avalanche::Peer &' peer.availabilityScore = ~~~~~~~~~~~~~~~~~~~~~~ ^ ../../src/./avalanche/peermanager.h:386:48: note: variable 'peer' declared const here forEachPeer([&](const avalanche::Peer &peer) { ~~~~~~~~~~~~~~~~~~~~~~~^~~~ ../../src/net_processing.cpp:1722:48: error: no viable conversion from '(lambda at ../../src/net_processing.cpp:1722:48)' to 'std::function<bool (CNode *)>' m_connman.ForNode(node.nodeid, [&](CNode *pavanode) { ^~~~~~~~~~~~~~~~~~~~~~ /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_function.h:337:7: note: candidate constructor not viable: no known conversion from '(lambda at ../../src/net_processing.cpp:1722:48)' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument function(nullptr_t) noexcept ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_function.h:348:7: note: candidate constructor not viable: no known conversion from '(lambda at ../../src/net_processing.cpp:1722:48)' to 'const std::function<bool (CNode *)> &' for 1st argument function(const function& __x); ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_function.h:357:7: note: candidate constructor not viable: no known conversion from '(lambda at ../../src/net_processing.cpp:1722:48)' to 'std::function<bool (CNode *)> &&' for 1st argument function(function&& __x) noexcept : _Function_base() ^ /usr/bin/../lib/gcc/x86_64-linux-gnu/10/../../../../include/c++/10/bits/std_function.h:381:2: note: candidate template ignored: requirement '_Callable<(lambda at ../../src/net_processing.cpp:1722:48), std::__invoke_result<(lambda at ../../src/net_processing.cpp:1722:48) &, CNode *>>::value' was not satisfied [with _Functor = (lambda at ../../src/net_processing.cpp:1722:48), $1 = void] function(_Functor); ^ ../../src/./net.h:1010:63: note: passing argument to parameter 'func' here bool ForNode(NodeId id, std::function<bool(CNode *pnode)> func); ^ ../../src/net_processing.cpp:1728:36: error: cannot assign to variable 'peer' with const-qualified type 'const avalanche::Peer &' peer.availabilityScore = ~~~~~~~~~~~~~~~~~~~~~~ ^ ../../src/net_processing.cpp:1719:51: note: variable 'peer' declared const here pm.forEachPeer([&](const avalanche::Peer &peer) { ~~~~~~~~~~~~~~~~~~~~~~~^~~~ 3 errors generated. [413/536] Building CXX object src/CMakeFiles/server.dir/init.cpp.o [414/536] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o ninja: build stopped: cannot make progress due to previous errors. Build build-clang failed with exit code 1
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-debug) failed.
Tail of the build log:
[378/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o [379/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o [380/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o [381/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o [382/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o [383/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o [384/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o [385/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o [386/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o [387/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o [388/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o [389/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o [390/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o [391/536] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o [392/536] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o [393/536] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o [394/536] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o [395/536] Linking CXX static library src/libcommon.a [396/536] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o [397/536] Linking CXX static library src/libscript.a [398/536] Linking CXX static library src/libbitcoinconsensus.a [399/536] Linking CXX shared library src/libbitcoinconsensus.so.0.26.12 [400/536] Creating library symlink src/libbitcoinconsensus.so.0 src/libbitcoinconsensus.so [401/536] Linking CXX executable src/bitcoin-cli [402/536] Linking CXX executable src/bitcoin-tx [403/536] Linking CXX static library src/wallet/libwallet.a [404/536] Linking CXX static library src/wallet/libwallet-tool.a [405/536] Linking CXX executable src/bitcoin-wallet [406/536] Building CXX object src/CMakeFiles/server.dir/avalanche/proofpool.cpp.o [407/536] Building CXX object src/CMakeFiles/server.dir/avalanche/peermanager.cpp.o [408/536] Building CXX object src/CMakeFiles/server.dir/rpc/mining.cpp.o [409/536] Building CXX object src/CMakeFiles/server.dir/node/miner.cpp.o [410/536] Building CXX object src/CMakeFiles/server.dir/net_processing.cpp.o FAILED: src/CMakeFiles/server.dir/net_processing.cpp.o /usr/bin/ccache /usr/bin/c++ -DABORT_ON_FAILED_ASSUME -DBOOST_AC_USE_STD_ATOMIC -DBOOST_ALL_NO_LIB -DBOOST_ATOMIC_DYN_LINK -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_SP_USE_STD_ATOMIC -DBOOST_THREAD_DYN_LINK -DBUILD_BITCOIN_INTERNAL -DDEBUG -DDEBUG_LOCKORDER -DENABLE_AVX2 -DENABLE_SHANI -DENABLE_SSE41 -DHAVE_BUILD_INFO -DHAVE_CONFIG_H -DHAVE_CONSENSUS_LIB -DLEVELDB_ATOMIC_PRESENT -DLEVELDB_PLATFORM_POSIX -DOS_LINUX -I../../src/leveldb/helpers/memenv -I../../src/. -Isrc -I../../src/univalue/include -Isrc/crypto/.. -I../../src/secp256k1/include -I../../src/leveldb/include -isystem /usr/include/jemalloc -isystem /usr/include/miniupnpc -Werror -O0 -fPIC -fvisibility=hidden -g3 -ftrapv -fstack-reuse=none -fstack-protector-all -Wstack-protector -U_FORTIFY_SOURCE -Wall -Wextra -Wformat -Wvla -Wcast-align -Wunused-parameter -Wmissing-braces -Wredundant-decls -Wsign-compare -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Wformat-security -Wredundant-move -Woverloaded-virtual -Wno-unused-parameter -Wno-implicit-fallthrough -pthread -std=gnu++17 -MD -MT src/CMakeFiles/server.dir/net_processing.cpp.o -MF src/CMakeFiles/server.dir/net_processing.cpp.o.d -o src/CMakeFiles/server.dir/net_processing.cpp.o -c ../../src/net_processing.cpp ../../src/net_processing.cpp: In lambda function: ../../src/net_processing.cpp:1724:18: error: cannot convert ‘{anonymous}::PeerManagerImpl::UpdateAvalancheStatistics() const::<lambda(const avalanche::PeerManager&)>::<lambda(const avalanche::Peer&)>::<lambda(const avalanche::Node&)>::<lambda(CNode*)>’ to ‘std::function<bool(CNode*)>’ 1724 | }); | ^ In file included from ../../src/./net_processing.h:9, from ../../src/net_processing.cpp:6: ../../src/./net.h:1010:63: note: initializing argument 2 of ‘bool CConnman::ForNode(NodeId, std::function<bool(CNode*)>)’ 1010 | bool ForNode(NodeId id, std::function<bool(CNode *pnode)> func); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~ ../../src/net_processing.cpp: In lambda function: ../../src/net_processing.cpp:1728:36: error: assignment of member ‘avalanche::Peer::availabilityScore’ in read-only object 1728 | peer.availabilityScore = | ~~~~~~~~~~~~~~~~~~~~~~~^ 1729 | AVALANCHE_STATISTICS_DECAY_FACTOR * peerScore + | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1730 | (1. - AVALANCHE_STATISTICS_DECAY_FACTOR) * | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1731 | peer.availabilityScore; | ~~~~~~~~~~~~~~~~~~~~~~ [411/536] Building CXX object src/CMakeFiles/server.dir/rpc/avalanche.cpp.o [412/536] Building CXX object src/CMakeFiles/server.dir/avalanche/processor.cpp.o [413/536] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o [414/536] Building CXX object src/CMakeFiles/server.dir/init.cpp.o ninja: build stopped: cannot make progress due to previous errors. Build build-debug failed with exit code 1
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-without-wallet) failed.
Tail of the build log:
[328/476] Building CXX object src/CMakeFiles/server.dir/script/sigcache.cpp.o [329/476] Building CXX object src/CMakeFiles/server.dir/shutdown.cpp.o [330/476] Building CXX object src/CMakeFiles/server.dir/timedata.cpp.o [331/476] Building CXX object src/CMakeFiles/server.dir/rpc/server_util.cpp.o [332/476] Building CXX object src/CMakeFiles/server.dir/txdb.cpp.o [333/476] Building CXX object src/CMakeFiles/server.dir/node/interfaces.cpp.o [334/476] Building CXX object src/CMakeFiles/server.dir/node/miner.cpp.o [335/476] Building CXX object src/CMakeFiles/server.dir/script/scriptcache.cpp.o [336/476] Building CXX object src/CMakeFiles/server.dir/validationinterface.cpp.o [337/476] Building CXX object src/CMakeFiles/server.dir/versionbits.cpp.o [338/476] Building CXX object src/CMakeFiles/server.dir/dummywallet.cpp.o [339/476] Building CXX object src/CMakeFiles/bitcoind.dir/bitcoind.cpp.o [340/476] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o [341/476] Building C object src/secp256k1/CMakeFiles/secp256k1.dir/src/secp256k1.c.o [342/476] Linking C static library src/secp256k1/libsecp256k1.a [343/476] Building CXX object src/CMakeFiles/server.dir/rpc/txoutproof.cpp.o [344/476] Linking CXX static library src/libscript.a [345/476] Building C object src/secp256k1/CMakeFiles/recover-bench.dir/src/bench_recover.c.o [346/476] Linking C executable src/secp256k1/recover-bench [347/476] Linking CXX static library src/libbitcoinconsensus.a [348/476] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o [349/476] Linking C executable src/secp256k1/ecmult-bench [350/476] Building C object src/secp256k1/CMakeFiles/verify-bench.dir/src/bench_verify.c.o [351/476] Linking C executable src/secp256k1/verify-bench [352/476] Building C object src/secp256k1/CMakeFiles/sign-bench.dir/src/bench_sign.c.o [353/476] Linking C executable src/secp256k1/sign-bench [354/476] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o [355/476] Linking CXX static library src/libcommon.a [356/476] Building CXX object src/CMakeFiles/server.dir/rest.cpp.o [357/476] Linking C executable src/secp256k1/internal-bench [358/476] Linking CXX shared library src/libbitcoinconsensus.so.0.26.12 [359/476] Creating library symlink src/libbitcoinconsensus.so.0 src/libbitcoinconsensus.so [360/476] Linking CXX executable src/bitcoin-cli [361/476] Building CXX object src/test/CMakeFiles/testutil.dir/util/logging.cpp.o [362/476] Building CXX object src/CMakeFiles/server.dir/net.cpp.o [363/476] Linking CXX executable src/bitcoin-tx [364/476] Building CXX object src/CMakeFiles/server.dir/txorphanage.cpp.o [365/476] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o [366/476] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o [367/476] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o [368/476] Building CXX object src/CMakeFiles/server.dir/rpc/mining.cpp.o [369/476] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o [370/476] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o [371/476] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o [372/476] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o [373/476] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o [374/476] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o [375/476] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o [376/476] Building CXX object src/CMakeFiles/server.dir/torcontrol.cpp.o [377/476] Building CXX object src/CMakeFiles/server.dir/rpc/net.cpp.o [378/476] Building CXX object src/CMakeFiles/server.dir/rpc/avalanche.cpp.o [379/476] Building CXX object src/CMakeFiles/server.dir/txmempool.cpp.o [380/476] Building CXX object src/CMakeFiles/server.dir/init.cpp.o [381/476] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o [382/476] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o [383/476] Building CXX object src/CMakeFiles/server.dir/rpc/rawtransaction.cpp.o [384/476] Building CXX object src/CMakeFiles/server.dir/rpc/blockchain.cpp.o [385/476] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o ninja: build stopped: cannot make progress due to previous errors. Build build-without-wallet failed with exit code 1
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-clang-tidy) failed.
Tail of the build log:
[356/534] Building C object src/secp256k1/CMakeFiles/sign-bench.dir/src/bench_sign.c.o [357/534] Building CXX object src/CMakeFiles/server.dir/rpc/net.cpp.o [358/534] Linking C executable src/secp256k1/sign-bench [359/534] Building CXX object src/test/CMakeFiles/testutil.dir/util/logging.cpp.o [360/534] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o [361/534] Building CXX object src/CMakeFiles/server.dir/txorphanage.cpp.o [362/534] Linking C executable src/secp256k1/ecmult-bench [363/534] Building CXX object src/CMakeFiles/server.dir/torcontrol.cpp.o [364/534] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o [365/534] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o [366/534] Linking C executable src/secp256k1/internal-bench [367/534] Building CXX object src/CMakeFiles/bitcoin-cli.dir/bitcoin-cli.cpp.o [368/534] Linking CXX executable src/bitcoin-cli [369/534] Building CXX object src/CMakeFiles/server.dir/rpc/rawtransaction.cpp.o [370/534] Building CXX object src/CMakeFiles/server.dir/txmempool.cpp.o [371/534] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o [372/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o [373/534] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o [374/534] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o [375/534] Building CXX object src/CMakeFiles/server.dir/rpc/blockchain.cpp.o [376/534] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o [377/534] Building CXX object src/CMakeFiles/server.dir/wallet/init.cpp.o [378/534] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o [379/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o [380/534] Linking CXX executable src/bitcoin-tx [381/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o [382/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o [383/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o [384/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o [385/534] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o [386/534] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o [387/534] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o [388/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o [389/534] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o [390/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o [391/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o [392/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o [393/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o [394/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o [395/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o [396/534] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o [397/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o [398/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o [399/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o [400/534] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o [401/534] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o [402/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o [403/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o [404/534] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o [405/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o [406/534] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o [407/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o [408/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o [409/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o [410/534] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o [411/534] Linking CXX static library src/wallet/libwallet.a [412/534] Linking CXX static library src/wallet/libwallet-tool.a [413/534] Linking CXX executable src/bitcoin-wallet ninja: build stopped: cannot make progress due to previous errors. Build build-clang-tidy failed with exit code 1
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-diff) failed.
Tail of the build log:
-- Install component: "secp256k1" -- Installing: /results/artifacts/lib/libsecp256k1.a -- Installing: /results/artifacts/include/secp256k1.h -- Installing: /results/artifacts/include/secp256k1_preallocated.h -- Installing: /results/artifacts/include/secp256k1_recovery.h -- Installing: /results/artifacts/include/secp256k1_schnorr.h [363/536] Building C object src/secp256k1/CMakeFiles/internal-bench.dir/src/bench_internal.c.o [364/536] Linking C executable src/secp256k1/internal-bench [365/536] Building CXX object src/test/CMakeFiles/testutil.dir/util/logging.cpp.o [366/536] Building CXX object src/CMakeFiles/server.dir/torcontrol.cpp.o [367/536] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o [368/536] Building CXX object src/CMakeFiles/server.dir/txmempool.cpp.o [369/536] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockfilter.cpp.o [370/536] Building CXX object src/CMakeFiles/server.dir/wallet/init.cpp.o [371/536] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o [372/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/context.cpp.o [373/536] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o [374/536] Building CXX object src/CMakeFiles/server.dir/rpc/rawtransaction.cpp.o [375/536] Building CXX object src/CMakeFiles/bitcoin-cli.dir/bitcoin-cli.cpp.o [376/536] Linking CXX executable src/bitcoin-cli [377/536] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o [378/536] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o [379/536] Linking CXX executable src/bitcoin-tx [380/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o [381/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o [382/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o [383/536] Building CXX object src/test/CMakeFiles/testutil.dir/util/wallet.cpp.o [384/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o [385/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o [386/536] Building CXX object src/CMakeFiles/server.dir/rpc/blockchain.cpp.o [387/536] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o [388/536] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o [389/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o [390/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o [391/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o [392/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o [393/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o [394/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o [395/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o [396/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o [397/536] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o [398/536] Building CXX object src/CMakeFiles/server.dir/validation.cpp.o [399/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o [400/536] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o [401/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o [402/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o [403/536] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o [404/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o [405/536] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o [406/536] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o [407/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o [408/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o [409/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o [410/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o [411/536] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o [412/536] Linking CXX static library src/wallet/libwallet.a [413/536] Linking CXX static library src/wallet/libwallet-tool.a [414/536] Linking CXX executable src/bitcoin-wallet ninja: build stopped: cannot make progress due to previous errors. Build build-diff failed with exit code 1
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-without-wallet) failed.
Tail of the build log:
[0m[1;30mwallet_importdescriptors.py | ○ Skipped | 0 s [0m[1;30mwallet_importmulti.py | ○ Skipped | 0 s [0m[1;30mwallet_importprunedfunds.py | ○ Skipped | 0 s [0m[1;30mwallet_importprunedfunds.py --descriptors | ○ Skipped | 0 s [0m[1;30mwallet_keypool.py | ○ Skipped | 0 s [0m[1;30mwallet_keypool_topup.py | ○ Skipped | 0 s [0m[1;30mwallet_keypool_topup.py --descriptors | ○ Skipped | 0 s [0m[1;30mwallet_labels.py | ○ Skipped | 0 s [0m[1;30mwallet_labels.py --descriptors | ○ Skipped | 0 s [0m[1;30mwallet_listreceivedby.py | ○ Skipped | 0 s [0m[1;30mwallet_listsinceblock.py | ○ Skipped | 0 s [0m[1;30mwallet_listsinceblock.py --descriptors | ○ Skipped | 0 s [0m[1;30mwallet_listtransactions.py | ○ Skipped | 0 s [0m[1;30mwallet_listtransactions.py --descriptors | ○ Skipped | 0 s [0m[1;30mwallet_multiwallet.py | ○ Skipped | 0 s [0m[1;30mwallet_multiwallet.py --usecli | ○ Skipped | 0 s [0m[1;30mwallet_reorgsrestore.py | ○ Skipped | 0 s [0m[1;30mwallet_resendwallettransactions.py | ○ Skipped | 0 s [0m[1;30mwallet_send.py | ○ Skipped | 0 s [0m[1;30mwallet_startup.py | ○ Skipped | 0 s [0m[1;30mwallet_timelock.py | ○ Skipped | 0 s [0m[1;30mwallet_txn_clone.py | ○ Skipped | 0 s [0m[1;30mwallet_txn_clone.py --mineblock | ○ Skipped | 0 s [0m[1;30mwallet_txn_doublespend.py | ○ Skipped | 0 s [0m[1;30mwallet_txn_doublespend.py --mineblock | ○ Skipped | 0 s [0m[1;30mwallet_watchonly.py | ○ Skipped | 0 s [0m[1;30mwallet_watchonly.py --usecli | ○ Skipped | 0 s [0m[1m ALL | ✓ Passed | 724 s (accumulated) [0mRuntime: 145 s [151/444] Test Bitcoin RPC authentication... ... ---------------------------------------------------------------------- Ran 3 tests in 0.005s OK [152/444] cd /work/contrib/devtools/chainparams && /usr/bin/python3.9 ./test_make_chainparams.py ..... ---------------------------------------------------------------------- Ran 5 tests in 0.001s OK [179/444] Running seeder test suite PASSED: seeder test suite [183/444] Running pow test suite PASSED: pow test suite [187/444] Running bitcoin-qt test suite PASSED: bitcoin-qt test suite [188/444] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_tests.cpp.o In file included from /usr/include/boost/test/unit_test.hpp:19, from ../../src/test/script_tests.cpp:30: ../../src/test/script_tests.cpp: In member function ‘void script_tests::script_build::test_method()’: ../../src/test/script_tests.cpp:540:22: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 540 | BOOST_AUTO_TEST_CASE(script_build) { | ^~~~~~~~~~~~ [423/444] Running bitcoin test suite PASSED: bitcoin test suite ninja: build stopped: cannot make progress due to previous errors. Build build-without-wallet failed with exit code 1
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-diff) failed.
Tail of the build log:
[0m[0;32mwallet_avoidreuse.py | ✓ Passed | 5 s [0m[0;32mwallet_avoidreuse.py --descriptors | ✓ Passed | 4 s [0m[0;32mwallet_backup.py | ✓ Passed | 24 s [0m[0;32mwallet_balance.py | ✓ Passed | 6 s [0m[0;32mwallet_balance.py --descriptors | ✓ Passed | 9 s [0m[0;32mwallet_basic.py | ✓ Passed | 15 s [0m[0;32mwallet_coinbase_category.py | ✓ Passed | 1 s [0m[0;32mwallet_create_tx.py | ✓ Passed | 5 s [0m[0;32mwallet_createwallet.py | ✓ Passed | 3 s [0m[0;32mwallet_createwallet.py --descriptors | ✓ Passed | 3 s [0m[0;32mwallet_createwallet.py --usecli | ✓ Passed | 3 s [0m[0;32mwallet_descriptor.py | ✓ Passed | 6 s [0m[0;32mwallet_disable.py | ✓ Passed | 0 s [0m[0;32mwallet_dump.py | ✓ Passed | 4 s [0m[0;32mwallet_encryption.py | ✓ Passed | 5 s [0m[0;32mwallet_encryption.py --descriptors | ✓ Passed | 5 s [0m[0;32mwallet_groups.py | ✓ Passed | 13 s [0m[0;32mwallet_hd.py | ✓ Passed | 9 s [0m[0;32mwallet_hd.py --descriptors | ✓ Passed | 6 s [0m[0;32mwallet_import_rescan.py | ✓ Passed | 7 s [0m[0;32mwallet_import_with_label.py | ✓ Passed | 1 s [0m[0;32mwallet_importdescriptors.py | ✓ Passed | 4 s [0m[0;32mwallet_importmulti.py | ✓ Passed | 3 s [0m[0;32mwallet_importprunedfunds.py | ✓ Passed | 2 s [0m[0;32mwallet_importprunedfunds.py --descriptors | ✓ Passed | 2 s [0m[0;32mwallet_keypool.py | ✓ Passed | 2 s [0m[0;32mwallet_keypool_topup.py | ✓ Passed | 4 s [0m[0;32mwallet_keypool_topup.py --descriptors | ✓ Passed | 5 s [0m[0;32mwallet_labels.py | ✓ Passed | 3 s [0m[0;32mwallet_labels.py --descriptors | ✓ Passed | 3 s [0m[0;32mwallet_listreceivedby.py | ✓ Passed | 5 s [0m[0;32mwallet_listsinceblock.py | ✓ Passed | 7 s [0m[0;32mwallet_listsinceblock.py --descriptors | ✓ Passed | 6 s [0m[0;32mwallet_listtransactions.py | ✓ Passed | 4 s [0m[0;32mwallet_listtransactions.py --descriptors | ✓ Passed | 5 s [0m[0;32mwallet_multiwallet.py | ✓ Passed | 38 s [0m[0;32mwallet_multiwallet.py --usecli | ✓ Passed | 11 s [0m[0;32mwallet_reorgsrestore.py | ✓ Passed | 3 s [0m[0;32mwallet_resendwallettransactions.py | ✓ Passed | 15 s [0m[0;32mwallet_send.py | ✓ Passed | 8 s [0m[0;32mwallet_startup.py | ✓ Passed | 2 s [0m[0;32mwallet_timelock.py | ✓ Passed | 1 s [0m[0;32mwallet_txn_clone.py | ✓ Passed | 1 s [0m[0;32mwallet_txn_clone.py --mineblock | ✓ Passed | 3 s [0m[0;32mwallet_txn_doublespend.py | ✓ Passed | 2 s [0m[0;32mwallet_txn_doublespend.py --mineblock | ✓ Passed | 4 s [0m[0;32mwallet_watchonly.py | ✓ Passed | 1 s [0m[0;32mwallet_watchonly.py --usecli | ✓ Passed | 1 s [0m[1;30mchronik_block.py | ○ Skipped | 0 s [0m[1;30mchronik_resync.py | ○ Skipped | 0 s [0m[1;30mchronik_serve.py | ○ Skipped | 0 s [0m[1;30minterface_usdt_net.py | ○ Skipped | 0 s [0m[1;30minterface_usdt_utxocache.py | ○ Skipped | 0 s [0m[1;30minterface_usdt_validation.py | ○ Skipped | 0 s [0m[1m ALL | ✓ Passed | 1294 s (accumulated) [0mRuntime: 259 s ninja: build stopped: cannot make progress due to previous errors. Build build-diff failed with exit code 1
Comment Actions
@bot build-tsan
src/net_processing.cpp | ||
---|---|---|
1691 | Isn't that a reversed lock order ? cs_peermanager->cs_vnodes ? |