Page MenuHomePhabricator

[backport#17009] tests: Add EvalScript(...) fuzzing harness
ClosedPublic

Authored by majcosta on Jun 25 2020, 22:45.

Details

Summary

7e50abcc29dc5fde24a1b3e57c6316eabda35e2e tests: Add EvalScript(...) fuzzing harness (practicalswift)
bebb637472d0469037a9f438572fc71db4236d97 tests: Add FuzzedDataProvider fuzzing helper from the Chromium project (practicalswift)

Pull request description:

Add `EvalScript(...)` fuzzing harness.

To test this PR:

We can run `contrib/devtools/test_fuzzing_harnesses.sh` (#17000) during five seconds to quickly verify that the newly added  fuzz harness seem to hit relevant code regions, that the fuzzing throughput seems reasonable, etc.

`test_fuzzing_harnesses.sh eval 5` runs all fuzzers matching the regexp `eval` giving them five seconds of runtime each.

```
$ CC=clang CXX=clang++ ./configure --enable-fuzz --with-sanitizers=address,fuzzer,undefined
$ make
$ contrib/devtools/test_fuzzing_harnesses.sh eval 5
Testing fuzzer eval_script during 5 second(s)
A subset of reached functions:
        NEW_FUNC[1/24]: 0x557b808742e0 in prevector<28u, unsigned char, unsigned int, int>::indirect_ptr(int) src/./prevector.h:161
        NEW_FUNC[2/24]: 0x557b80875460 in prevector<28u, unsigned char, unsigned int, int>::indirect_ptr(int) const src/./prevector.h:162
        NEW_FUNC[6/9]: 0x557b81acdaa0 in popstack(std::vector<std::vector<unsigned char, std::allocator<unsigned char> >, std::allocator<std::vector<unsigned char, std::allocator<unsigned char> > > >&) src/script/interpreter.cpp:57
        NEW_FUNC[5/16]: 0x557b809f1bf0 in CScriptNum::serialize(long const&) src/./script/script.h:326
        NEW_FUNC[4/6]: 0x557b817c93d0 in CScriptNum::CScriptNum(std::vector<unsigned char, std::allocator<unsigned char> > const&, bool, unsigned long) src/./script/script.h:225
        NEW_FUNC[5/6]: 0x557b817cbb80 in CScriptNum::set_vch(std::vector<unsigned char, std::allocator<unsigned char> > const&) src/./script/script.h:360
        NEW_FUNC[0/11]: 0x557b80a88170 in CHash256::Write(unsigned char const*, unsigned long) src/./hash.h:34
        NEW_FUNC[1/11]: 0x557b80a88270 in CHash256::Finalize(unsigned char*) src/./hash.h:28
        NEW_FUNC[5/11]: 0x557b81affdb0 in CSHA256::CSHA256() src/crypto/sha256.cpp:644
        NEW_FUNC[6/11]: 0x557b81affe80 in (anonymous namespace)::sha256::Initialize(unsigned int*) src/crypto/sha256.cpp:66
        NEW_FUNC[7/11]: 0x557b81b00460 in CSHA256::Write(unsigned char const*, unsigned long) src/crypto/sha256.cpp:649
        NEW_FUNC[8/11]: 0x557b81b009a0 in CSHA256::Finalize(unsigned char*) src/crypto/sha256.cpp:675
        NEW_FUNC[9/11]: 0x557b81b015e0 in CSHA256::Reset() src/crypto/sha256.cpp:692
        NEW_FUNC[10/11]: 0x557b81b01d90 in (anonymous namespace)::sha256::Transform(unsigned int*, unsigned char const*, unsigned long) src/crypto/sha256.cpp:79
        NEW_FUNC[0/1]: 0x557b808cc180 in BaseSignatureChecker::CheckLockTime(CScriptNum const&) const src/./script/interpreter.h:153
        NEW_FUNC[0/2]: 0x557b81ab5640 in CastToBool(std::vector<unsigned char, std::allocator<unsigned char> > const&) src/script/interpreter.cpp:36
        NEW_FUNC[0/1]: 0x557b817c9c30 in CScriptNum::getint() const src/./script/script.h:312
        NEW_FUNC[0/1]: 0x557b81ae1df0 in CScriptNum::operator-=(long const&) src/./script/script.h:298
        NEW_FUNC[0/5]: 0x557b81af5670 in CRIPEMD160::CRIPEMD160() src/crypto/ripemd160.cpp:243
        NEW_FUNC[1/5]: 0x557b81af5740 in (anonymous namespace)::ripemd160::Initialize(unsigned int*) src/crypto/ripemd160.cpp:25
        NEW_FUNC[2/5]: 0x557b81af5b00 in CRIPEMD160::Write(unsigned char const*, unsigned long) src/crypto/ripemd160.cpp:248
        NEW_FUNC[3/5]: 0x557b81af5fa0 in (anonymous namespace)::ripemd160::Transform(unsigned int*, unsigned char const*) src/crypto/ripemd160.cpp:55
        NEW_FUNC[4/5]: 0x557b81af8d60 in CRIPEMD160::Finalize(unsigned char*) src/crypto/ripemd160.cpp:274
        NEW_FUNC[0/16]: 0x557b80857a30 in CScript::operator<<(std::vector<unsigned char, std::allocator<unsigned char> > const&) src/./script/script.h:462
        NEW_FUNC[1/16]: 0x557b80872670 in prevector<28u, unsigned char, unsigned int, int>::insert(prevector<28u, unsigned char, unsigned int, int>::iterator, unsigned char const&) src/./prevector.h:342
        NEW_FUNC[2/16]: 0x557b80872e00 in void prevector<28u, unsigned char, unsigned int, int>::insert<__gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > > >(prevector<28u, unsigned char, unsigned int, int>::iterator, __gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >, __gnu_cxx::__normal_iterator<unsigned char const*, std::vector<unsigned char, std::allocator<unsigned char> > >) src/./prevector.h:368
        NEW_FUNC[3/16]: 0x557b80873630 in prevector<28u, unsigned char, unsigned int, int>::capacity() const src/./prevector.h:295
        NEW_FUNC[4/16]: 0x557b80874ed0 in void prevector<28u, unsigned char, unsigned int, int>::fill<prevector<28u, unsigned char, unsigned int, int>::const_iterator>(unsigned char*, prevector<28u, unsigned char, unsigned int, int>::const_iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator) src/./prevector.h:204
        NEW_FUNC[5/16]: 0x557b808cc0f0 in BaseSignatureChecker::CheckSig(std::vector<unsigned char, std::allocator<unsigned char> > const&, std::vector<unsigned char, std::allocator<unsigned char> > const&, CScript const&, SigVersion) const src/./script/interpreter.h:148
        NEW_FUNC[6/16]: 0x557b809edb10 in CScript::operator=(CScript&&) src/./script/script.h:390
        NEW_FUNC[7/16]: 0x557b809f8ec0 in void prevector<28u, unsigned char, unsigned int, int>::insert<prevector<28u, unsigned char, unsigned int, int>::const_iterator>(prevector<28u, unsigned char, unsigned int, int>::iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator) src/./prevector.h:368
        NEW_FUNC[8/16]: 0x557b809f9260 in prevector<28u, unsigned char, unsigned int, int>::swap(prevector<28u, unsigned char, unsigned int, int>&) src/./prevector.h:451
        NEW_FUNC[9/16]: 0x557b81ab58c0 in CheckSignatureEncoding(std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, ScriptError_t*) src/script/interpreter.cpp:200
        NEW_FUNC[10/16]: 0x557b81ab6f30 in FindAndDelete(CScript&, CScript const&) src/script/interpreter.cpp:254
        NEW_FUNC[11/16]: 0x557b81acdc20 in CheckPubKeyEncoding(std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, SigVersion const&, ScriptError_t*) src/script/interpreter.cpp:217
        NEW_FUNC[12/16]: 0x557b81ad3890 in IsCompressedOrUncompressedPubKey(std::vector<unsigned char, std::allocator<unsigned char> > const&) src/script/interpreter.cpp:63
        NEW_FUNC[13/16]: 0x557b81ad8830 in CScript::GetOp(prevector<28u, unsigned char, unsigned int, int>::const_iterator&, opcodetype&) const src/./script/script.h:505
        NEW_FUNC[14/16]: 0x557b81ae21a0 in prevector<28u, unsigned char, unsigned int, int>::prevector<prevector<28u, unsigned char, unsigned int, int>::const_iterator>(prevector<28u, unsigned char, unsigned int, int>::const_iterator, prevector<28u, unsigned char, unsigned int, int>::const_iterator) src/./prevector.h:246
        NEW_FUNC[0/1]: 0x557b81ae1a40 in CScriptNum::operator+=(long const&) src/./script/script.h:290
        NEW_FUNC[0/5]: 0x557b81af9760 in CSHA1::CSHA1() src/crypto/sha1.cpp:150
        NEW_FUNC[1/5]: 0x557b81af9830 in (anonymous namespace)::sha1::Initialize(unsigned int*) src/crypto/sha1.cpp:32
        NEW_FUNC[2/5]: 0x557b81af9bf0 in CSHA1::Write(unsigned char const*, unsigned long) src/crypto/sha1.cpp:155
        NEW_FUNC[3/5]: 0x557b81afa090 in (anonymous namespace)::sha1::Transform(unsigned int*, unsigned char const*) src/crypto/sha1.cpp:47
        NEW_FUNC[4/5]: 0x557b81afc5e0 in CSHA1::Finalize(unsigned char*) src/crypto/sha1.cpp:181
        NEW_FUNC[0/1]: 0x557b81ada4f0 in CScriptNum::operator-() const src/./script/script.h:278
        NEW_FUNC[0/1]: 0x557b808cc210 in BaseSignatureChecker::CheckSequence(CScriptNum const&) const src/./script/interpreter.h:158
        NEW_FUNC[0/1]: 0x557b81ab5c00 in IsValidSignatureEncoding(std::vector<unsigned char, std::allocator<unsigned char> > const&) src/script/interpreter.cpp:107
stat::number_of_executed_units: 9728
stat::average_exec_per_sec:     1621
stat::new_units_added:          844
stat::slowest_unit_time_sec:    0
stat::peak_rss_mb:              326
Number of unique code paths taken during fuzzing round: 583

Tested fuzz harnesses seem to work as expected.
```

Depends on D6744

Backport of Core PR17009

Test Plan
export CC=clang CXX=clang++
../configure --enable-fuzz --with-sanitizers=fuzzer,address \
  --disable-wallet \
  --disable-bench \
  --with-utils=no \
  --with-daemon=no \
  --with-libs=no \
  --with-gui=no \
  --with-seeder=no
make
mkdir -p test/fuzz
cp ../test/fuzz/test_runner.py test/fuzz/
./test/fuzz/test_runner.py -l DEBUG <path_to_corpus>

cmake -GNinja .. -DENABLE_SANITIZERS="address;fuzzer" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
ninja bitcoin-fuzzers link-fuzz-test_runner.py
./test/fuzz/test_runner.py -l DEBUG <path_to_corpus>

Diff Detail

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

Event Timeline

[Bot Message]
One or more PR numbers were detected in the summary.
Links to those PRs have been inserted into the summary for reference.

Snippet of first build failure:

[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Counting objects:  82% (19/23)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Counting objects:  86% (20/23)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Counting objects:  91% (21/23)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Counting objects:  95% (22/23)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Counting objects: 100% (23/23)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Counting objects: 100% (23/23), done.        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:   7% (1/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  15% (2/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  23% (3/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  30% (4/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  38% (5/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  46% (6/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  53% (7/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  61% (8/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  69% (9/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  76% (10/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  84% (11/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  92% (12/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects: 100% (13/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects: 100% (13/13), done.        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Total 13 (delta 10), reused 0 (delta 0), pack-reused 0        
[22:46:21]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] From ssh://reviews.bitcoinabc.org:2221/source/bitcoin-abc-staging
[22:46:21]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788]  * [new tag]             phabricator/diff/21788 -> phabricator/diff/21788
[22:46:21]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788]  * [new tag]             phabricator/base/21788 -> phabricator/base/21788
[22:46:21] :			 [Update git mirror (/home/teamcity/buildAgent/system/git/git-48AA3180.git)] /usr/bin/git log -n1 --pretty=format:%H%x20%s bb1d4ea54664f67d042b66dc9c80e872cedba8a5 --
[22:46:21] :			 [Update git mirror (/home/teamcity/buildAgent/system/git/git-48AA3180.git)] /usr/bin/git pack-refs --all
[22:46:21] :		 [VCS Root: Bitcoin ABC Staging] Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)
[22:46:21] :			 [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:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git init
[22:46:21] :			 [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:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git config core.sparseCheckout true
[22:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git config http.sslCAInfo
[22:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref
[22:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref refs/tags/phabricator/diff/21788
[22:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git log -n1 --pretty=format:%H%x20%s bb1d4ea54664f67d042b66dc9c80e872cedba8a5 --
[22:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git -c credential.helper= checkout -q -f phabricator/diff/21788
[22:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref refs/tags/phabricator/diff/21788
[22:46:21] :			 [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:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git clean -f -d -x
[22:46:21] : Build preparation done
[22:46:21]E: Step 1/1: Command Line (17s)
[22:46:21] :	 [Step 1/1] Ant JUnit report watcher
[22:46:21] :		 [Ant JUnit report watcher] Watching paths:
[22:46:21] :		 [Ant JUnit report watcher] +:results/test_bitcoin.xml
[22:46:21] :		 [Ant JUnit report watcher] +:results/**/junit_results*.xml
[22:46:21] :	 [Step 1/1] Starting: /home/teamcity/buildAgent/temp/agentTmp/custom_script3393543922675283099
[22:46:21] :	 [Step 1/1] in directory: /home/teamcity/buildAgent/work/jailed-build
[22:46:21] :	 [Step 1/1] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[22:46:21] :	 [Step 1/1] ~/buildAgent/work/jailed-build
[22:46:21] :	 [Step 1/1] Building base image for: bb1d4ea54...
[22:46:21] :	 [Step 1/1] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[22:46:23] :	 [Step 1/1] ~/buildAgent/work/jailed-build
[22:46:23] :	 [Step 1/1] Tag name: abc-base-image-bb1d4ea54
[22:46:35]W:	 [Step 1/1] /bin/bash: ./contrib/teamcity/build-configurations.py: No such file or directory
[22:46:35]W:	 [Step 1/1] cp: cannot stat '/tmp/sanitizer_logs': No such file or directory
[22:46:35]W:	 [Step 1/1] cp: cannot stat '/work/build-clang-10': No such file or directory
[22:46:35]W:	 [Step 1/1] cp: cannot stat '/work/abc-ci-builds/build-clang-10': No such file or directory
[22:46:35]W:	 [Step 1/1] cp: cannot stat '/work/ibd/debug.log': No such file or directory
[22:46:38]W:	 [Step 1/1] Process exited with code 127
[22:46:38]E:	 [Step 1/1] Process exited with code 127 (Step: Command Line)

Snippet of first build failure:

[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  62% (23/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  64% (24/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  67% (25/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  70% (26/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  72% (27/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  75% (28/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  78% (29/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  81% (30/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  83% (31/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  86% (32/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  89% (33/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  91% (34/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  94% (35/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  97% (36/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects: 100% (37/37)        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects: 100% (37/37), done.        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Total 37 (delta 28), reused 0 (delta 0), pack-reused 0        
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] From ssh://reviews.bitcoinabc.org:2221/source/bitcoin-abc-staging
[22:46:19]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788]  * [new tag]             phabricator/diff/21788 -> phabricator/diff/21788
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788]  * [new tag]             phabricator/base/21783 -> phabricator/base/21783
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788]  * [new tag]             phabricator/base/21787 -> phabricator/base/21787
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788]  * [new tag]             phabricator/base/21788 -> phabricator/base/21788
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788]  * [new tag]             phabricator/diff/21783 -> phabricator/diff/21783
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788]  * [new tag]             phabricator/diff/21787 -> phabricator/diff/21787
[22:46:20] :			 [Update git mirror (/home/teamcity/buildAgent/system/git/git-48AA3180.git)] /usr/bin/git log -n1 --pretty=format:%H%x20%s bb1d4ea54664f67d042b66dc9c80e872cedba8a5 --
[22:46:20] :			 [Update git mirror (/home/teamcity/buildAgent/system/git/git-48AA3180.git)] /usr/bin/git pack-refs --all
[22:46:20] :		 [VCS Root: Bitcoin ABC Staging] Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)
[22:46:20] :			 [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:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git init
[22:46:20] :			 [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:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git config core.sparseCheckout true
[22:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git config http.sslCAInfo
[22:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref
[22:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref refs/tags/phabricator/diff/21788
[22:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git log -n1 --pretty=format:%H%x20%s bb1d4ea54664f67d042b66dc9c80e872cedba8a5 --
[22:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git -c credential.helper= checkout -q -f phabricator/diff/21788
[22:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref refs/tags/phabricator/diff/21788
[22:46:20] :			 [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:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git clean -f -d -x
[22:46:20] : Build preparation done
[22:46:20]E: Step 1/1: Command Line (18s)
[22:46:20] :	 [Step 1/1] Ant JUnit report watcher
[22:46:20] :		 [Ant JUnit report watcher] Watching paths:
[22:46:20] :		 [Ant JUnit report watcher] +:results/test_bitcoin.xml
[22:46:20] :		 [Ant JUnit report watcher] +:results/**/junit_results*.xml
[22:46:20] :	 [Step 1/1] Starting: /home/teamcity/buildAgent/temp/agentTmp/custom_script2826568573482898183
[22:46:20] :	 [Step 1/1] in directory: /home/teamcity/buildAgent/work/jailed-build
[22:46:20] :	 [Step 1/1] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[22:46:20] :	 [Step 1/1] ~/buildAgent/work/jailed-build
[22:46:20] :	 [Step 1/1] Building base image for: bb1d4ea54...
[22:46:20] :	 [Step 1/1] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[22:46:23] :	 [Step 1/1] ~/buildAgent/work/jailed-build
[22:46:23] :	 [Step 1/1] Tag name: abc-base-image-bb1d4ea54
[22:46:35]W:	 [Step 1/1] /bin/bash: ./contrib/teamcity/build-configurations.py: No such file or directory
[22:46:35]W:	 [Step 1/1] cp: cannot stat '/tmp/sanitizer_logs': No such file or directory
[22:46:35]W:	 [Step 1/1] cp: cannot stat '/work/build-diff': No such file or directory
[22:46:35]W:	 [Step 1/1] cp: cannot stat '/work/abc-ci-builds/build-diff': No such file or directory
[22:46:35]W:	 [Step 1/1] cp: cannot stat '/work/ibd/debug.log': No such file or directory
[22:46:38]W:	 [Step 1/1] Process exited with code 127
[22:46:38]E:	 [Step 1/1] Process exited with code 127 (Step: Command Line)

Snippet of first build failure:

[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Counting objects:  82% (19/23)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Counting objects:  86% (20/23)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Counting objects:  91% (21/23)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Counting objects:  95% (22/23)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Counting objects: 100% (23/23)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Counting objects: 100% (23/23), done.        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:   7% (1/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  15% (2/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  23% (3/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  30% (4/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  38% (5/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  46% (6/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  53% (7/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  61% (8/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  69% (9/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  76% (10/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  84% (11/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects:  92% (12/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects: 100% (13/13)        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Compressing objects: 100% (13/13), done.        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] remote: Total 13 (delta 10), reused 0 (delta 0), pack-reused 0        
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788] From ssh://reviews.bitcoinabc.org:2221/source/bitcoin-abc-staging
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788]  * [new tag]             phabricator/diff/21788 -> phabricator/diff/21788
[22:46:20]i:				 [/usr/bin/git -c credential.helper= fetch --progress origin +refs/tags/phabricator/diff/21788:refs/tags/phabricator/diff/21788]  * [new tag]             phabricator/base/21788 -> phabricator/base/21788
[22:46:20] :			 [Update git mirror (/home/teamcity/buildAgent/system/git/git-48AA3180.git)] /usr/bin/git log -n1 --pretty=format:%H%x20%s bb1d4ea54664f67d042b66dc9c80e872cedba8a5 --
[22:46:20] :			 [Update git mirror (/home/teamcity/buildAgent/system/git/git-48AA3180.git)] /usr/bin/git pack-refs --all
[22:46:20] :		 [VCS Root: Bitcoin ABC Staging] Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)
[22:46:20] :			 [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:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git init
[22:46:20] :			 [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:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git config core.sparseCheckout true
[22:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git config http.sslCAInfo
[22:46:20] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref
[22:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref refs/tags/phabricator/diff/21788
[22:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git log -n1 --pretty=format:%H%x20%s bb1d4ea54664f67d042b66dc9c80e872cedba8a5 --
[22:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git -c credential.helper= checkout -q -f phabricator/diff/21788
[22:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git show-ref refs/tags/phabricator/diff/21788
[22:46:21] :			 [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:46:21] :			 [Update checkout directory (/home/teamcity/buildAgent/work/jailed-build/bitcoin-abc)] /usr/bin/git clean -f -d -x
[22:46:21] : Build preparation done
[22:46:21]E: Step 1/1: Command Line (19s)
[22:46:21] :	 [Step 1/1] Ant JUnit report watcher
[22:46:21] :		 [Ant JUnit report watcher] Watching paths:
[22:46:21] :		 [Ant JUnit report watcher] +:results/test_bitcoin.xml
[22:46:21] :		 [Ant JUnit report watcher] +:results/**/junit_results*.xml
[22:46:21] :	 [Step 1/1] Starting: /home/teamcity/buildAgent/temp/agentTmp/custom_script942885101775108205
[22:46:21] :	 [Step 1/1] in directory: /home/teamcity/buildAgent/work/jailed-build
[22:46:21] :	 [Step 1/1] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[22:46:21] :	 [Step 1/1] ~/buildAgent/work/jailed-build
[22:46:21] :	 [Step 1/1] Building base image for: bb1d4ea54...
[22:46:21] :	 [Step 1/1] ~/buildAgent/work/jailed-build/bitcoin-abc ~/buildAgent/work/jailed-build
[22:46:23] :	 [Step 1/1] ~/buildAgent/work/jailed-build
[22:46:23] :	 [Step 1/1] Tag name: abc-base-image-bb1d4ea54
[22:46:36]W:	 [Step 1/1] /bin/bash: ./contrib/teamcity/build-configurations.py: No such file or directory
[22:46:36]W:	 [Step 1/1] cp: cannot stat '/tmp/sanitizer_logs': No such file or directory
[22:46:36]W:	 [Step 1/1] cp: cannot stat '/work/build-without-wallet': No such file or directory
[22:46:36]W:	 [Step 1/1] cp: cannot stat '/work/abc-ci-builds/build-without-wallet': No such file or directory
[22:46:36]W:	 [Step 1/1] cp: cannot stat '/work/ibd/debug.log': No such file or directory
[22:46:40]W:	 [Step 1/1] Process exited with code 127
[22:46:40]E:	 [Step 1/1] Process exited with code 127 (Step: Command Line)
This revision is now accepted and ready to land.Jun 25 2020, 22:55
This revision was landed with ongoing or failed builds.Jul 1 2020, 19:43
This revision was automatically updated to reflect the committed changes.