There is an edge case where a replacement proof exists and is received over p2p, moving the local proof to the conflicting pool. If this proof was previously verified the status will be showing "pending verification" instead of "conflicting-utxos". This diff fixes this bug.
Details
Details
- Reviewers
PiRK - Group Reviewers
Restricted Project - Commits
- rABC7d0942ed78fb: [avalanche] Fix wrong local proof status when a replacement one is received…
ninja all check-all
Diff Detail
Diff Detail
- Repository
- rABC Bitcoin ABC
- Branch
- avalanche_conflicting_proof_startup
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 33813 Build 67104: Build Diff build-diff · build-without-wallet · lint-circular-dependencies · build-clang · build-debug · build-clang-tidy Build 67103: arc lint + arc unit
Event Timeline
Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-clang) failed.
Tail of the build log:
[416/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/fees.cpp.o
[417/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o
[418/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.cpp.o
[419/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/encrypt.cpp.o
[420/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o
[421/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/interfaces.cpp.o
[422/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o
[423/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/salvage.cpp.o
[424/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o
[425/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o
[426/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.cpp.o
[427/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/scriptpubkeyman.cpp.o
[428/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/transaction.cpp.o
[429/586] Installing component secp256k1
-- Install configuration: "RelWithDebInfo"
-- 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
[430/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.cpp.o
[431/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletdb.cpp.o
[432/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o
[433/586] Building CXX object src/wallet/CMakeFiles/wallet.dir/wallet.cpp.o
[434/586] Building CXX object src/wallet/CMakeFiles/wallet-tool.dir/wallettool.cpp.o
[435/586] Linking CXX static library src/libbitcoinconsensus.a
[436/586] Linking C executable src/secp256k1/sign-bench
[437/586] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/db.cpp.o
[438/586] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.cpp.o
[439/586] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/dns.cpp.o
[440/586] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/options.cpp.o
[441/586] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.cpp.o
[442/586] Building CXX object src/seeder/CMakeFiles/bitcoin-seeder.dir/main.cpp.o
[443/586] Linking C executable src/secp256k1/ecmult-bench
[444/586] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o
[445/586] Linking C executable src/secp256k1/verify-bench
[446/586] Linking C executable src/secp256k1/internal-bench
[447/586] Linking C executable src/secp256k1/recover-bench
[448/586] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana.cpp.o
[449/586] Linking CXX static library src/libscript.a
[450/586] Linking CXX static library src/libcommon.a
[451/586] Linking CXX shared library src/libbitcoinconsensus.so.0.31.8
[452/586] Creating library symlink src/libbitcoinconsensus.so.0 src/libbitcoinconsensus.so
[453/586] Linking CXX executable src/iguana/iguana
[454/586] Linking CXX executable src/bitcoin-tx
[455/586] Linking CXX executable src/bitcoin-cli
[456/586] Linking CXX static library src/wallet/libwallet.a
[457/586] Building CXX object src/CMakeFiles/server.dir/avalanche/processor.cpp.o
FAILED: src/CMakeFiles/server.dir/avalanche/processor.cpp.o
/usr/bin/ccache /usr/bin/clang++ -DBOOST_ALL_NO_LIB -DBOOST_NO_CXX98_FUNCTION_BASE -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/work/src/leveldb/helpers/memenv -I/work/src/. -I/work/abc-ci-builds/build-clang/src -I/work/src/univalue/include -I/work/abc-ci-builds/build-clang/src/crypto/.. -I/work/src/secp256k1/include -I/work/src/leveldb/include -isystem /usr/include/jemalloc -isystem /usr/include/miniupnpc -Werror -g -O2 -fPIC -fvisibility=hidden -fstack-protector-all -Wstack-protector -fcf-protection=full -fstack-clash-protection -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 -Wno-psabi -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 /work/src/avalanche/processor.cpp
/work/src/avalanche/processor.cpp:776:9: error: calling function 'MaybeCheckNotHeld' requires negative capability '!cs_peerManager' [-Werror,-Wthread-safety-analysis]
WITH_LOCK(cs_peerManager, return peerManager->isInConflictingPool(
^
/work/src/./sync.h:358:6: note: expanded from macro 'WITH_LOCK'
(MaybeCheckNotHeld(cs), [&]() -> decltype(auto) { \
^
1 error generated.
ninja: build stopped: cannot make progress due to previous errors.
Build build-clang failed with exit code 1Comment Actions
Build Bitcoin ABC Diffs / Diff Testing (build-clang-tidy) failed.
Tail of the build log:
[399/584] Building C object src/secp256k1/CMakeFiles/ecmult-bench.dir/src/bench_ecmult.c.o [400/584] Linking C executable src/secp256k1/ecmult-bench [401/584] Building CXX object src/CMakeFiles/bitcoin-cli.dir/bitcoin-cli.cpp.o [402/584] Linking CXX executable src/bitcoin-cli [403/584] Building CXX object src/CMakeFiles/bitcoind.dir/bitcoind.cpp.o [404/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/logging.cpp.o [405/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/str.cpp.o [406/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/blockindex.cpp.o [407/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/coins.cpp.o [408/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/random.cpp.o [409/584] Building CXX object src/CMakeFiles/server.dir/wallet/init.cpp.o [410/584] Building CXX object src/CMakeFiles/bitcoin-tx.dir/bitcoin-tx.cpp.o [411/584] Linking CXX executable src/bitcoin-tx [412/584] Building CXX object src/CMakeFiles/bitcoin-wallet.dir/bitcoin-wallet.cpp.o [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/wallet/CMakeFiles/wallet.dir/context.cpp.o [416/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/net.cpp.o [417/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/transaction_utils.cpp.o [418/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/db.cpp.o [419/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/crypter.cpp.o [420/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/coincontrol.cpp.o [421/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/coinselection.cpp.o [422/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/mining.cpp.o [423/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/bdb.cpp.o [424/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/validation.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/wallet/CMakeFiles/wallet.dir/fees.cpp.o [429/584] Building CXX object src/test/CMakeFiles/testutil.dir/util/setup_common.cpp.o [430/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/load.cpp.o [431/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/receive.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/encrypt.cpp.o [434/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/signmessage.cpp.o [435/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpc/util.cpp.o [436/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/sqlite.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/options.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/db.cpp.o [442/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/walletutil.cpp.o [443/584] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_interpreter.cpp.o [444/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/spend.cpp.o [445/584] Building CXX object src/iguana/CMakeFiles/iguana.dir/iguana_formatter.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/wallet/CMakeFiles/wallet.dir/rpc/backup.cpp.o [451/584] Building CXX object src/seeder/CMakeFiles/seeder-base.dir/bitcoin.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/wallet.cpp.o [455/584] Building CXX object src/wallet/CMakeFiles/wallet.dir/rpcwallet.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