Page MenuHomePhabricator

[avalanche] Require that a pubkey is associated with each avalanche peer.
ClosedPublic

Authored by deadalnix on Apr 4 2020, 18:04.

Details

Summary

This is going to be necessary to sign responses.

Depends on D5673

Test Plan
make check
./test/functional/test_runner.py

Diff Detail

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

Event Timeline

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

There is an STR_HEX type.

67 ↗(On Diff #17453)

Could be PUBLIC_KEY_SIZE * 2 and COMPRESSED_PUBLIC_KEY_SIZE * 2 instead of magic numbers.

test/functional/abc-p2p-avalanche.py
12 ↗(On Diff #17453)

Nit:

    msg_avapoll,
)
This revision now requires changes to proceed.Apr 6 2020, 13:22
src/rpc/avalanche.cpp
67 ↗(On Diff #17453)

I'm glad I did not do that because that would have been incorrect.

Snippet of first build failure:

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

[14:57:42]E: bt37 (1m:25s)
[14:57:42]i: TeamCity server version is 2018.1.4 (build 58724)
[14:57:42] : Collecting changes in 3 VCS roots (14s)
[14:57:42] :	 [Collecting changes in 3 VCS roots] VCS Root details
[14:57:42] :		 [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:57:42] :		 [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:57:42] :		 [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:57:43]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:57:43]i:	 [Collecting changes in 3 VCS roots] Will collect changes for 'abc-infrastructure' starting from revision 5dab07fa43892d9eb477d34389e03e15a808ac45
[14:57:43]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:57:43]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:57:43]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:57:43]i:	 [Collecting changes in 3 VCS roots] Will collect changes for 'Bitcoin ABC Staging' starting from revision 8408a0cdcf4106fde3d093d4ed583b19fd7dbcdb
[14:57:43]i:	 [Collecting changes in 3 VCS roots] VCS revisions for 'Bitcoin ABC Staging' - 8408a0cdcf4106fde3d093d4ed583b19fd7dbcdb..8408a0cdcf4106fde3d093d4ed583b19fd7dbcdb
[14:57:43]i:	 [Collecting changes in 3 VCS roots] Processing combined checkout rule for 'Bitcoin ABC Staging' 
[14:57:45]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:57:55]i:	 [Collecting changes in 3 VCS roots] VCS root 'Bitcoin ABC Staging': Updating references 100%
[14:57:55]i:	 [Collecting changes in 3 VCS roots] VCS root 'Bitcoin ABC Staging': Updating references 100%
[14:57:55]i:	 [Collecting changes in 3 VCS roots] VCS root 'Bitcoin ABC Staging': update ref remote name: refs/tags/phabricator/diff/17468, local name: refs/tags/phabricator/diff/17468, old object id: 0000000000000000000000000000000000000000, new object id: 2ff8230efd90bca962a6e7a6249cabb0c552432b, result: NEW
[14:57:55]i:	 [Collecting changes in 3 VCS roots] VCS root 'Bitcoin ABC Staging': Remote process messages: Total 8 (delta 0), reused 0 (delta 0)
[14:57:55]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:57:56]i:	 [Collecting changes in 3 VCS roots] Done collecting changes for 'Bitcoin ABC Staging': 1 changes collected 1 changes persisted, total time: 12s,616ms, persisting time: 36ms
[14:57:56] :	 [Collecting changes in 3 VCS roots] Compute revision for 'Bitcoin ABC Staging'
[14:57:56] :		 [Compute revision for 'Bitcoin ABC Staging'] Upper limit revision: 2ff8230efd90bca962a6e7a6249cabb0c552432b
[14:57:56]i:		 [Compute revision for 'Bitcoin ABC Staging'] MaxModId = 20611
[14:57:56] :		 [Compute revision for 'Bitcoin ABC Staging'] Latest commit attached to build configuration: 2ff8230efd90bca962a6e7a6249cabb0c552432b
[14:57:56] :		 [Compute revision for 'Bitcoin ABC Staging'] Computed revision: 2ff8230efd90bca962a6e7a6249cabb0c552432b
[14:59:05] : The build is removed from the queue to be prepared for the start
[14:59:07]W: This build has not been started because some of the builds it depends on have failed
[14:59:07]E: Snapshot dependency "Automated Deployments / Bitcoin ABC Developer Tools / Bitcoin ABC Diff Base Image" failed

Snippet of first build failure:

[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Counting objects: 100% (34/34)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Counting objects: 100% (34/34), done.        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:   4% (1/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:   9% (2/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  13% (3/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  18% (4/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  22% (5/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  27% (6/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  31% (7/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  36% (8/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  40% (9/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  45% (10/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  50% (11/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  54% (12/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  59% (13/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  63% (14/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  68% (15/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  72% (16/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  77% (17/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  81% (18/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  86% (19/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  90% (20/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects:  95% (21/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects: 100% (22/22)        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Compressing objects: 100% (22/22), done.        
[22:18:10]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] remote: Total 22 (delta 19), reused 0 (delta 0)        
[22:18:11]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468] From ssh://reviews.bitcoinabc.org:2221/source/bitcoin-abc-staging
[22:18:11]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468]  * [new tag]             phabricator/diff/17468 -> phabricator/diff/17468
[22:18:11]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468]  * [new tag]             phabricator/base/17468 -> phabricator/base/17468
[22:18:11]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/17468:refs/tags/phabricator/diff/17468]  * [new tag]             phabricator/diff/17467 -> phabricator/diff/17467
[22:18:11] :			 [Update git mirror (/home/teamcity/buildAgent/system/git/git-48AA3180.git)] /usr/bin/git log -n1 --pretty=format:%H%x20%s 2ff8230efd90bca962a6e7a6249cabb0c552432b --
[22:18:11] :			 [Update git mirror (/home/teamcity/buildAgent/system/git/git-48AA3180.git)] /usr/bin/git pack-refs --all
[22:18:11] :		 [VCS Root: Bitcoin ABC Staging] Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)
[22:18:11] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] The .git directory is missing in '/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc'. Running 'git init'...
[22:18:11] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git init
[22:18:11] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git config lfs.storage /home/teamcity/buildAgent/system/git/git-48AA3180.git/lfs
[22:18:11] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git config core.sparseCheckout true
[22:18:11] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git config http.sslCAInfo
[22:18:11] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref
[22:18:11] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref refs/tags/phabricator/diff/17468
[22:18:11] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git log -n1 --pretty=format:%H%x20%s 2ff8230efd90bca962a6e7a6249cabb0c552432b --
[22:18:11] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git -c credential.helper= checkout -q -f phabricator/diff/17468
[22:18:11] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref refs/tags/phabricator/diff/17468
[22:18:11] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] Cleaning Bitcoin ABC Staging in /home/teamcity/buildAgent/work/jailed-build/bitcoin-abc the file set ALL_UNTRACKED
[22:18:11] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git clean -f -d -x
[22:18:11] : Build preparation done
[22:18:11] : Step 1/2: Command Line
[22:18:11] :	 [Step 1/2] Disabled build step Command Line is skipped
[22:18:11]E: Step 2/2: Command Line
[22:18:11] :	 [Step 2/2] Ant JUnit report watcher
[22:18:11] :		 [Ant JUnit report watcher] Watching paths:
[22:18:11] :		 [Ant JUnit report watcher] +:build/test_bitcoin.xml
[22:18:11] :		 [Ant JUnit report watcher] +:test/functional/junit_results.xml
[22:18:11] :		 [Ant JUnit report watcher] +:build/junit_results*.xml
[22:18:11] :		 [Ant JUnit report watcher] +:build/**/junit_results*.xml
[22:18:11] :	 [Step 2/2] Starting: /home/teamcity/buildAgent/temp/agentTmp/custom_script5593311480422065037
[22:18:11] :	 [Step 2/2] in directory: /home/teamcity/buildAgent/work/jailed-build
[22:18:11]W:	 [Step 2/2] /home/teamcity/buildAgent/temp/agentTmp/custom_script5593311480422065037: 1: /home/teamcity/buildAgent/temp/agentTmp/custom_script5593311480422065037: ./contrib/teamcity/build-configurations.sh: not found
[22:18:11]W:	 [Step 2/2] Process exited with code 127
[22:18:12]E:	 [Step 2/2] Process exited with code 127 (Step: Command Line)
src/rpc/avalanche.cpp
67 ↗(On Diff #17453)

Sorry I was confused, you are correct. Fixing.

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