Page MenuHomePhabricator

[avalanche] Start polling when we park of block because of reorg
ClosedPublic

Authored by deadalnix on Apr 3 2020, 16:03.

Details

Summary

As per title.

Test Plan

Ran abc-p2p-avalanche test 25 times in a row to check tha it passes and isn't flacky.

Diff Detail

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

Event Timeline

Remove code that was comented out

Fabien requested changes to this revision.Apr 6 2020, 13:10
Fabien added a subscriber: Fabien.
Fabien added inline comments.
src/rpc/avalanche.cpp
50 ↗(On Diff #17452)

The error code is unrelated to the actual error.

61 ↗(On Diff #17452)

Looking at the avalanche code, I think an invalid nodeId could remain in the peer list.
There is no check that the nodeid is actually a valid connected peer until the runEventLoop(), and conman->ForNode() will return false (so hasSent is false). This will leave the invs vector empty and the node would not be removed from the peer list.
I am missing something ? As a consequence, should the nodeid be checked before being added ?

src/validation.cpp
4273 ↗(On Diff #17452)

You might want to do it only if avalanche is enabled. Not a huge issue because the message won't be sent but that would remove the overhead.

4274 ↗(On Diff #17452)

How do you plan to make this work with the automatic unparking feature ? As is you may start to poll for a block that will be unparked soon due to enough pow. Maybe avalanche and automatic unpark should be made exclusive ?

test/functional/abc-p2p-avalanche.py
161 ↗(On Diff #17452)

That's 1 block deep ?

169 ↗(On Diff #17452)

Why is this needed twice ?

This revision now requires changes to proceed.Apr 6 2020, 13:10
src/rpc/avalanche.cpp
61 ↗(On Diff #17452)

Node can disconnect anyways, so nodeid can become stale. This is to be fixed within AvalancheProcessor.

src/validation.cpp
4273 ↗(On Diff #17452)

Considering how much PoW is needed to create a block, w can live with it :)

4274 ↗(On Diff #17452)

Avalanche will be unparking down the road. But right now, it's all good, it changes nothing to the automatic unparking behavior.

test/functional/abc-p2p-avalanche.py
161 ↗(On Diff #17452)

76+16 = 102 so we are good.

Snippet of first build failure:

Build 'Bitcoin-ABC / Diffs / Diff Testing' #8896, branch 'phabricator/diff/17467'
Started 2020-04-07 14:47:30 on 'highperf5' by 'Phabricator Staging (phabricator-staging)'
Finished 2020-04-07 14:47:32 with status FAILURE 'Snapshot dependency failed: Automated Deployments / Bitcoin ABC Developer Tools / Bitcoin ABC Diff Base Image'
VCS revisions: 'Bitcoin ABC Staging' (Git): 6a9b912eeeef7ec26e27f1f05895aa2221b60d44 (branch 'refs/tags/phabricator/diff/17467')
TeamCity URL https://build.bitcoinabc.org/viewLog.html?buildId=34236&buildTypeId=BitcoinABC_BitcoinAbcStaging 
TeamCity server version is 2018.1.4 (build 58724), server timezone: UTC

[14:46:06]E: bt37 (1m:26s)
[14:46:06]i: TeamCity server version is 2018.1.4 (build 58724)
[14:46:06] : Collecting changes in 3 VCS roots (14s)
[14:46:06] :	 [Collecting changes in 3 VCS roots] VCS Root details
[14:46:06] :		 [VCS Root details] "abc-infrastructure" {instance id=34, parent internal id=11, parent id=AutomatedDeployments_BitcoinAbcDeveloperTools_AbcInfrastructure, description: "ssh://vcs@reviews.bitcoinabc.org:2221/source/infrastructure.git#refs/heads/master"}
[14:46:06] :		 [VCS Root details] "ssh://vcs@reviews.bitcoinabc.org:2221/source/bitcoin-abc.git" {instance id=27, parent internal id=4, parent id=BitcoinABCGit, description: "ssh://vcs@reviews.bitcoinabc.org:2221/source/bitcoin-abc.git#refs/heads/master"}
[14:46:06] :		 [VCS Root details] "Bitcoin ABC Staging" {instance id=28, parent internal id=7, parent id=BitcoinABC_BitcoinAbcStaging, description: "ssh://vcs@reviews.bitcoinabc.org:2221/source/bitcoin-abc-staging.git#refs/heads/master"}
[14:46:07]i:	 [Collecting changes in 3 VCS roots] Detecting changes in VCS root 'abc-infrastructure' (used in 'Bitcoin-ABC Infra Checkout', 'Build abcbot' and 1 other configuration)
[14:46:07]i:	 [Collecting changes in 3 VCS roots] Will collect changes for 'abc-infrastructure' starting from revision 5dab07fa43892d9eb477d34389e03e15a808ac45
[14:46:07]i:	 [Collecting changes in 3 VCS roots] Detecting changes in VCS root 'ssh://vcs@reviews.bitcoinabc.org:2221/source/bitcoin-abc.git' (used in 'Bitcoin ABC Master Base Image', 'Bitcoin-ABC Check Seeds' and 24 other configurations)
[14:46:07]i:	 [Collecting changes in 3 VCS roots] Will collect changes for 'ssh://vcs@reviews.bitcoinabc.org:2221/source/bitcoin-abc.git' starting from revision 1678967611ccb25b630c4d8b93d406d7d20af191
[14:46:07]i:	 [Collecting changes in 3 VCS roots] Detecting changes in VCS root 'Bitcoin ABC Staging' (used in 'Bitcoin ABC Diff Base Image', 'Bitcoin-ABC Gitian Diff Testing' and 7 other configurations)
[14:46:07]i:	 [Collecting changes in 3 VCS roots] Will collect changes for 'Bitcoin ABC Staging' starting from revision 8408a0cdcf4106fde3d093d4ed583b19fd7dbcdb
[14:46:07]i:	 [Collecting changes in 3 VCS roots] VCS revisions for 'Bitcoin ABC Staging' - 8408a0cdcf4106fde3d093d4ed583b19fd7dbcdb..8408a0cdcf4106fde3d093d4ed583b19fd7dbcdb
[14:46:07]i:	 [Collecting changes in 3 VCS roots] Processing combined checkout rule for 'Bitcoin ABC Staging' 
[14:46:09]i:	 [Collecting changes in 3 VCS roots] VCS root 'Bitcoin ABC Staging': git fetch ssh://vcs@reviews.bitcoinabc.org:2221/source/bitcoin-abc-staging.git
[14:46:20]i:	 [Collecting changes in 3 VCS roots] VCS root 'Bitcoin ABC Staging': Updating references 100%
[14:46:20]i:	 [Collecting changes in 3 VCS roots] VCS root 'Bitcoin ABC Staging': Updating references 100%
[14:46:20]i:	 [Collecting changes in 3 VCS roots] VCS root 'Bitcoin ABC Staging': update ref remote name: refs/tags/phabricator/diff/17467, local name: refs/tags/phabricator/diff/17467, old object id: 0000000000000000000000000000000000000000, new object id: 6a9b912eeeef7ec26e27f1f05895aa2221b60d44, result: NEW
[14:46:20]i:	 [Collecting changes in 3 VCS roots] VCS root 'Bitcoin ABC Staging': Remote process messages: Total 9 (delta 0), reused 0 (delta 0)
[14:46:20]i:	 [Collecting changes in 3 VCS roots] VCS root 'Bitcoin ABC Staging': git fetch ssh://vcs@reviews.bitcoinabc.org:2221/source/bitcoin-abc-staging.git finished
[14:46:20]i:	 [Collecting changes in 3 VCS roots] Done collecting changes for 'Bitcoin ABC Staging': 1 changes collected 1 changes persisted, total time: 13s,016ms, persisting time: 37ms
[14:46:20] :	 [Collecting changes in 3 VCS roots] Compute revision for 'Bitcoin ABC Staging'
[14:46:20] :		 [Compute revision for 'Bitcoin ABC Staging'] Upper limit revision: 6a9b912eeeef7ec26e27f1f05895aa2221b60d44
[14:46:20]i:		 [Compute revision for 'Bitcoin ABC Staging'] MaxModId = 20610
[14:46:20] :		 [Compute revision for 'Bitcoin ABC Staging'] Latest commit attached to build configuration: 6a9b912eeeef7ec26e27f1f05895aa2221b60d44
[14:46:20] :		 [Compute revision for 'Bitcoin ABC Staging'] Computed revision: 6a9b912eeeef7ec26e27f1f05895aa2221b60d44
[14:47:30] : The build is removed from the queue to be prepared for the start
[14:47:32]W: This build has not been started because some of the builds it depends on have failed
[14:47:32]E: Snapshot dependency "Automated Deployments / Bitcoin ABC Developer Tools / Bitcoin ABC Diff Base Image" failed

Snippet of first build failure:

[22:43:43] :	 [Step 2/2] [78/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/rcu_tests.cpp.o
[22:43:44] :	 [Step 2/2] [79/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/reverselock_tests.cpp.o
[22:43:48] :	 [Step 2/2] [80/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/radix_tests.cpp.o
[22:43:51] :	 [Step 2/2] [81/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sanity_tests.cpp.o
[22:43:52] :	 [Step 2/2] [82/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/rpc_server_tests.cpp.o
[22:43:53] :	 [Step 2/2] [83/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/scheduler_tests.cpp.o
[22:43:54] :	 [Step 2/2] [84/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/rwcollection_tests.cpp.o
[22:43:57] :	 [Step 2/2] [85/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/schnorr_tests.cpp.o
[22:43:57] :	 [Step 2/2] [86/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_bitfield_tests.cpp.o
[22:44:01] :	 [Step 2/2] [87/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_commitment_tests.cpp.o
[22:44:02] :	 [Step 2/2] [88/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/rpc_tests.cpp.o
[22:44:08] :	 [Step 2/2] [89/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/scriptnum_tests.cpp.o
[22:44:08] :	 [Step 2/2] [90/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_p2sh_tests.cpp.o
[22:44:11] :	 [Step 2/2] [91/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sigcache_tests.cpp.o
[22:44:12] :	 [Step 2/2] [92/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/serialize_tests.cpp.o
[22:44:13] :	 [Step 2/2] [93/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_standard_tests.cpp.o
[22:44:15] :	 [Step 2/2] [94/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sigencoding_tests.cpp.o
[22:44:20] :	 [Step 2/2] [95/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sighashtype_tests.cpp.o
[22:44:22] :	 [Step 2/2] [96/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sighash_tests.cpp.o
[22:44:24] :	 [Step 2/2] [97/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/skiplist_tests.cpp.o
[22:44:25] :	 [Step 2/2] [98/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sync_tests.cpp.o
[22:44:25] :	 [Step 2/2] [99/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sigcheckcount_tests.cpp.o
[22:44:26] :	 [Step 2/2] [100/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sigopcount_tests.cpp.o
[22:44:28] :	 [Step 2/2] [101/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/streams_tests.cpp.o
[22:44:34] :	 [Step 2/2] [102/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/timedata_tests.cpp.o
[22:44:36] :	 [Step 2/2] [103/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/torcontrol_tests.cpp.o
[22:44:39] :	 [Step 2/2] [104/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/txindex_tests.cpp.o
[22:44:41] :	 [Step 2/2] [105/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/txvalidation_tests.cpp.o
[22:44:45] :	 [Step 2/2] [106/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/uint256_tests.cpp.o
[22:44:46] :	 [Step 2/2] [107/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/transaction_tests.cpp.o
[22:44:47] :	 [Step 2/2] [108/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/undo_tests.cpp.o
[22:44:48] :	 [Step 2/2] [109/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/txvalidationcache_tests.cpp.o
[22:44:50] :	 [Step 2/2] [110/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/util_threadnames_tests.cpp.o
[22:44:52] :	 [Step 2/2] [111/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/work_comparator_tests.cpp.o
[22:44:59] :	 [Step 2/2] [112/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/validation_block_tests.cpp.o
[22:44:59] :	 [Step 2/2] [113/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/rpc/test/server_tests.cpp.o
[22:45:01] :	 [Step 2/2] [114/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/versionbits_tests.cpp.o
[22:45:03] :	 [Step 2/2] [115/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/db_tests.cpp.o
[22:45:05] :	 [Step 2/2] [116/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/validation_tests.cpp.o
[22:45:18] :	 [Step 2/2] [117/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/init_tests.cpp.o
[22:45:20] :	 [Step 2/2] [118/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/psbt_wallet_tests.cpp.o
[22:45:21] :	 [Step 2/2] [119/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/wallet_crypto_tests.cpp.o
[22:45:21] :	 [Step 2/2] [120/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/coinselector_tests.cpp.o
[22:45:23] :	 [Step 2/2] [121/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/walletdb_tests.cpp.o
[22:45:24] :	 [Step 2/2] [122/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_tests.cpp.o
[22:45:24] :	 [Step 2/2] In file included from /usr/include/boost/test/unit_test.hpp:19,
[22:45:24] :	 [Step 2/2]                  from ../src/test/script_tests.cpp:29:
[22:45:24] :	 [Step 2/2] ../src/test/script_tests.cpp: In member function ‘void script_tests::script_build::test_method()’:
[22:45:24] :	 [Step 2/2] ../src/test/script_tests.cpp:573:22: note: variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without
[22:45:24] :	 [Step 2/2]  BOOST_AUTO_TEST_CASE(script_build) {
[22:45:24] :	 [Step 2/2]                       ^~~~~~~~~~~~
[22:45:24] :	 [Step 2/2] [123/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/util_tests.cpp.o
[22:45:25] :	 [Step 2/2] [124/125] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/wallet_tests.cpp.o
[22:45:27] :	 [Step 2/2] [125/125] Linking CXX executable src/test/test_bitcoin
[22:45:27] :	 [Step 2/2] FAILED: src/test/test_bitcoin 
[22:45:27] :	 [Step 2/2] : && /usr/bin/c++  -g -O2  -fuse-ld=gold -Wl,-z,relro -Wl,-z,now -pie src/test/CMakeFiles/test_bitcoin.dir/jsonutil.cpp.o src/test/CMakeFiles/test_bitcoin.dir/main.cpp.o src/test/CMakeFiles/test_bitcoin.dir/scriptflags.cpp.o src/test/CMakeFiles/test_bitcoin.dir/sigutil.cpp.o src/test/CMakeFiles/test_bitcoin.dir/setup_common.cpp.o src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/init_test_fixture.cpp.o src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/wallet_test_fixture.cpp.o src/test/CMakeFiles/test_bitcoin.dir/activation_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/addrman_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/allocator_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/amount_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/arith_uint256_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/avalanche_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/base32_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/base58_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/base64_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/bip32_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/bitmanip_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/blockchain_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/blockcheck_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/blockencodings_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/blockfilter_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/blockindex_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/blockstatus_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/bloom_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/bswap_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/cashaddr_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/cashaddrenc_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/checkdatasig_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/checkpoints_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/checkqueue_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/coins_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/compress_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/config_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/core_io_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/crypto_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/cuckoocache_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/dbwrapper_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/denialofservice_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/descriptor_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/dstencode_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/excessiveblock_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/feerate_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/finalization_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/flatfile_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/fs_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/getarg_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/hash_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/inv_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/key_io_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/key_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/lcg_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/limitedmap_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/mempool_policy_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/mempool_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/merkle_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/merkleblock_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/miner_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/monolith_opcodes_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/multisig_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/net_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/netbase_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/op_reversebytes_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/pmt_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/policyestimator_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/pow_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/prevector_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/radix_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/raii_event_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/random_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/rcu_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/reverselock_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/rpc_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/rpc_server_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/rwcollection_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/sanity_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/scheduler_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/schnorr_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/script_bitfield_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/script_commitment_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/script_p2sh_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/script_standard_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/script_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/scriptnum_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/serialize_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/sigcache_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/sigencoding_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/sighash_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/sighashtype_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/sigcheckcount_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/sigopcount_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/skiplist_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/streams_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/sync_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/timedata_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/torcontrol_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/transaction_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/txindex_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/txvalidation_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/txvalidationcache_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/uint256_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/undo_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/util_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/util_threadnames_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/validation_block_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/validation_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/versionbits_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/work_comparator_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/__/rpc/test/server_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/db_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/coinselector_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/init_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/psbt_wallet_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/wallet_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/walletdb_tests.cpp.o src/test/CMakeFiles/test_bitcoin.dir/__/wallet/test/wallet_crypto_tests.cpp.o  -o src/test/test_bitcoin  -Wl,-rpath,/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc/build/src /usr/lib/x86_64-linux-gnu/libboost_unit_test_framework.so src/librpcclient.a src/libserver.a src/libbitcoinconsensus.so.0.0.0 src/wallet/libwallet.a src/libserver.a src/wallet/libwallet.a src/leveldb/libleveldb.a src/leveldb/libleveldb-sse4.2.a src/leveldb/libmemenv.a /usr/lib/x86_64-linux-gnu/libevent_pthreads.so /usr/lib/x86_64-linux-gnu/libminiupnpc.so src/zmq/libzmq.a /usr/lib/x86_64-linux-gnu/libzmq.so /usr/lib/x86_64-linux-gnu/libevent.so /usr/lib/x86_64-linux-gnu/libdb_cxx.so src/libbitcoinconsensus.a src/libscript.a src/libcommon.a src/libutil.a src/univalue/libunivalue.a src/crypto/libcrypto.a /usr/lib/x86_64-linux-gnu/libcrypto.so src/crypto/libcrypto_sse4.1.a src/crypto/libcrypto_avx2.a src/crypto/libcrypto_shani.a /usr/lib/x86_64-linux-gnu/libboost_filesystem.so /usr/lib/x86_64-linux-gnu/libboost_thread.so /usr/lib/x86_64-linux-gnu/libboost_chrono.so /usr/lib/x86_64-linux-gnu/libboost_system.so /usr/lib/x86_64-linux-gnu/libboost_date_time.so /usr/lib/x86_64-linux-gnu/libboost_atomic.so -pthread src/secp256k1/libsecp256k1.a && :
[22:45:27] :	 [Step 2/2] collect2: error: ld returned 1 exit status
[22:45:27] :	 [Step 2/2] ninja: build stopped: subcommand failed.
[22:45:27]W:	 [Step 2/2] Process exited with code 1
[22:45:27]E:	 [Step 2/2] Process exited with code 1 (Step: Command Line)
Fabien added inline comments.
src/rpc/avalanche.cpp
61 ↗(On Diff #17452)

Fair enough.

src/validation.cpp
4273 ↗(On Diff #17452)

No big deal, it's removed in the next diff anyway.

test/functional/abc-p2p-avalanche.py
161 ↗(On Diff #17452)

Ah, I got the "fork 2 blocks deep" (missing "s" by the way) as 2 blocks long forked chain, not a 2 blocks reorg.

This revision is now accepted and ready to land.Apr 8 2020, 11:34
This revision was landed with ongoing or failed builds.Apr 8 2020, 12:55
This revision was automatically updated to reflect the committed changes.