Page MenuHomePhabricator

Prevent callback overruns in InvalidateBlock and RewindBlockIndex
ClosedPublic

Authored by fpelliccioni on Dec 26 2019, 19:16.

Details

Summary

This PR makes a number of improvements to the InvalidateBlock (invalidateblock RPC) and RewindBlockIndex functions, primarily around breaking up their long-term cs_main holding. In addition:

  • They're made safely interruptible (bitcoind can be shutdown, and no progress in either will be lost, though if incomplete, invalidateblock won't continue after restart and will need to be called again)
  • The validation queue is prevented from overflowing (meaning invalidateblock on a very old block will not drive bitcoind OOM) (see #14289).
  • invalidateblock won't bother to move transactions back into the mempool after 10 blocks (optimization).

Partial Backport of Bitcoin Core PR15402 (commit 9ce9c37):
https://github.com/bitcoin/bitcoin/pull/15402/commits/9ce9c37004440d6a329874dbf66b51666d497dcb

Prevent callback overruns in InvalidateBlock and RewindBlockIndex

Depends on D4942

Test Plan
  1. Build with Clang in Debug mode:
CXX=clang++ CC=clang cmake .. -D CMAKE_CXX_FLAGS="-Werror=thread-safety-analysis" -GNinja -DCMAKE_BUILD_TYPE=Debug
ninja check-all
  1. Verify that the compiler has not emitted a thread-safety warning.
  2. Run the node: ./src/bitcoind -regtest
  3. Verify that text similar to "Assertion failed: lock ... not held ..." is not printed on stderr.

Diff Detail

Repository
rABC Bitcoin ABC
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

fpelliccioni created this revision.Dec 26 2019, 19:16
Herald added a reviewer: Restricted Project. · View Herald TranscriptDec 26 2019, 19:16
fpelliccioni retitled this revision from Granular invalidateblock and RewindBlockIndex to Prevent callback overruns in InvalidateBlock and RewindBlockIndex.Dec 26 2019, 19:18
fpelliccioni edited the summary of this revision. (Show Details)
fpelliccioni edited the test plan for this revision. (Show Details)
fpelliccioni edited reviewers, added: markblundeberg; removed: Fabien.

Snippet of first build failure:
lines=16,COUNTEREXAMPLE```[19:23:16] : [Step 1/1] [0m [0;34mrpc_createmultisig.py | ✓ Passed | 2 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_decodescript.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_deprecated.py | ✓ Passed | 1 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_estimatefee.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_fundrawtransaction.py | ✓ Passed | 24 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_getblockstats.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_getchaintips.py | ✓ Passed | 1 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_help.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_invalidateblock.py | ✓ Passed | 5 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_named_arguments.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_net.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_preciousblock.py | ✓ Passed | 1 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_psbt.py | ✓ Passed | 8 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_rawtransaction.py | ✓ Passed | 20 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_scantxoutset.py | ✓ Passed | 3 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_signmessage.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_signrawtransaction.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_txoutproof.py | ✓ Passed | 2 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_uptime.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_users.py | ✓ Passed | 2 s
[19:23:16] : [Step 1/1] [0m [0;34mrpc_zmq.py | ✓ Passed | 1 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_abandonconflict.py | ✓ Passed | 6 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_basic.py | ✓ Passed | 19 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_disable.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_disableprivatekeys.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_disableprivatekeys.py --usecli | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_dump.py | ✓ Passed | 3 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_encryption.py | ✓ Passed | 5 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_groups.py | ✓ Passed | 6 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_hd.py | ✓ Passed | 4 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_import_rescan.py | ✓ Passed | 4 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_importmulti.py | ✓ Passed | 2 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_importprunedfunds.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_keypool.py | ✓ Passed | 3 s
[19:23:16]W: [Step 1/1] ++ print_sanitizers_log
[19:23:16]W: [Step 1/1] ++ for log in "${SAN_LOG_DIR}"/*.log.*
[19:23:16]W: [Step 1/1] ++ echo '* Output of /tmp/sanitizer_logs/*.log.* *'
[19:23:16]W: [Step 1/1] ++ cat '/tmp/sanitizer_logs/*.log.*'
[19:23:16]W: [Step 1/1] cat: '/tmp/sanitizer_logs/*.log.*': No such file or directory
[19:23:16] : [Step 1/1] [0m [0;34mwallet_keypool_topup.py | ✓ Passed | 3 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_labels.py | ✓ Passed | 4 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_listreceivedby.py | ✓ Passed | 10 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_listsinceblock.py | ✓ Passed | 2 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_listtransactions.py | ✓ Passed | 8 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_multiwallet.py | ✓ Passed | 6 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_multiwallet.py --usecli | ✓ Passed | 7 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_resendwallettransactions.py | ✓ Passed | 0 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_txn_clone.py | ✓ Passed | 2 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_txn_clone.py --mineblock | ✓ Passed | 1 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_txn_doublespend.py | ✓ Passed | 1 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_txn_doublespend.py --mineblock | ✓ Passed | 1 s
[19:23:16] : [Step 1/1] [0m [0;34mwallet_zapwallettxes.py | ✓ Passed | 2 s
[19:23:16] : [Step 1/1] [0m [0;31mfeature_notifications.py | ✖ Failed | 11 s
[19:23:16] : [Step 1/1] [0m [0;31m [1m
[19:23:16] : [Step 1/1] ALL | ✖ Failed | 411 s (accumulated)
[19:23:16] : [Step 1/1] [0m [0mRuntime: 234 s
[19:23:16] : [Step 1/1]
[19:23:16] : [Step 1/1] * Output of /tmp/sanitizer_logs/*.log.* *
[19:23:16]W: [Step 1/1] Process exited with code 1
[19:23:16]E: [Step 1/1] Process exited with code 1 (Step: Command Line)

Each failure log is accessible here:
[[https://build.bitcoinabc.org/viewLog.html?tab=buildLog&logTab=tree&filter=debug&expand=all&buildId=24773&guest=1&_focus=2413 | bitcoin_abc_tests: feature_notifications.py]]
deadalnix requested changes to this revision.Jan 3 2020, 05:28

Please investigate build failure.

This revision now requires changes to proceed.Jan 3 2020, 05:28
fpelliccioni planned changes to this revision.Jan 3 2020, 12:54
fpelliccioni updated this revision to Diff 15301.Jan 10 2020, 18:32

Call FinalizeBlockAndInvalidate without cs_main held

deadalnix requested changes to this revision.Jan 11 2020, 16:53

This clearly includes a lot of code that isn't in the original PR. Where does the clocking mechanism changes come from?

This revision now requires changes to proceed.Jan 11 2020, 16:53

This clearly includes a lot of code that isn't in the original PR. Where does the clocking mechanism changes come from?

The new code is related to @markblundeberg and your comments in D4758: InvalidateBlock now requires that cs_main be unlocked.
Also: abc-finalize-block is broken here if I don't make the changes. (Not broken in previous Diffs).
I could move the related code to D4758 (I didn't do it because it had already been approved) or to a new Diff.

This clearly includes a lot of code that isn't in the original PR. Where does the clocking mechanism changes come from?

The new code is related to @markblundeberg and your comments in D4758: InvalidateBlock now requires that cs_main be unlocked.
Also: abc-finalize-block is broken here if I don't make the changes. (Not broken in previous Diffs).
I could move the related code to D4758 (I didn't do it because it had already been approved) or to a new Diff.

It sounds like it would be best to make another Diff separately that first changes FinalizeBlockAndInvalidate to use the lockless pattern, then this one can simply do the backport as its summary suggests (and depend on the previous one).

fpelliccioni planned changes to this revision.Jan 14 2020, 16:11
fpelliccioni updated this revision to Diff 15455.Jan 14 2020, 17:17

revert not related with PR code

Snippet of first build failure:

[17:17:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git config core.sparseCheckout true
[17:17:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git config http.sslCAInfo
[17:17:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git show-ref
[17:17:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git show-ref refs/tags/phabricator/diff/15455
[17:17:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git log -n1 --pretty=format:%H%x20%s caf54b5614dbbd1adea1e19ff5aa1d1d6e68ce04 --
[17:17:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git -c credential.helper= checkout -q -f phabricator/diff/15455
[17:17:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git show-ref refs/tags/phabricator/diff/15455
[17:17:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] Cleaning Bitcoin ABC Staging in /home/teamcity/buildAgent/work/c4a5708f2bae7929 the file set ALL_UNTRACKED
[17:17:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git clean -f -d -x
[17:17:50] : Build preparation done
[17:17:50]E: Step 1/1: Command Line
[17:17:50] :	 [Step 1/1] Ant JUnit report watcher
[17:17:50] :		 [Ant JUnit report watcher] Watching paths:
[17:17:50] :		 [Ant JUnit report watcher] +:build/test_bitcoin.xml
[17:17:50] :		 [Ant JUnit report watcher] +:test/functional/junit_results.xml
[17:17:50] :		 [Ant JUnit report watcher] +:build/junit_results*.xml
[17:17:50] :	 [Step 1/1] Starting: /home/teamcity/buildAgent/temp/agentTmp/custom_script6541550057470952156
[17:17:50] :	 [Step 1/1] in directory: /home/teamcity/buildAgent/work/c4a5708f2bae7929
[17:17:50] :	 [Step 1/1] Running build configuration 'build-diff'...
[17:17:50]W:	 [Step 1/1] + : build-diff
[17:17:50]W:	 [Step 1/1] + '[' -z build-diff ']'
[17:17:50]W:	 [Step 1/1] + echo 'Running build configuration '\''build-diff'\''...'
[17:17:50]W:	 [Step 1/1] ++ git rev-parse --show-toplevel
[17:17:50]W:	 [Step 1/1] + TOPLEVEL=/home/teamcity/buildAgent/work/c4a5708f2bae7929
[17:17:50]W:	 [Step 1/1] + export TOPLEVEL
[17:17:50]W:	 [Step 1/1] + trap print_sanitizers_log ERR
[17:17:50]W:	 [Step 1/1] +++ dirname ./contrib/teamcity/build-configurations.sh
[17:17:50]W:	 [Step 1/1] ++ cd ./contrib/teamcity
[17:17:50]W:	 [Step 1/1] ++ pwd
[17:17:50]W:	 [Step 1/1] + CI_SCRIPTS_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929/contrib/teamcity
[17:17:50]W:	 [Step 1/1] + setup
[17:17:50]W:	 [Step 1/1] + : /home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[17:17:50]W:	 [Step 1/1] + mkdir -p /home/teamcity/buildAgent/work/c4a5708f2bae7929/build/output
[17:17:50]W:	 [Step 1/1] ++ cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[17:17:50]W:	 [Step 1/1] ++ pwd
[17:17:50]W:	 [Step 1/1] + BUILD_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[17:17:50]W:	 [Step 1/1] + export BUILD_DIR
[17:17:50]W:	 [Step 1/1] + TEST_RUNNER_FLAGS=--tmpdirprefix=output
[17:17:50]W:	 [Step 1/1] + cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[17:17:50]W:	 [Step 1/1] ++ nproc
[17:17:50]W:	 [Step 1/1] + THREADS=12
[17:17:50]W:	 [Step 1/1] + export THREADS
[17:17:50]W:	 [Step 1/1] + SAN_SUPP_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions
[17:17:50]W:	 [Step 1/1] + SAN_LOG_DIR=/tmp/sanitizer_logs
[17:17:50]W:	 [Step 1/1] + mkdir -p /tmp/sanitizer_logs
[17:17:50]W:	 [Step 1/1] + rm -rf /tmp/sanitizer_logs/ubsan.log.26656
[17:17:50]W:	 [Step 1/1] + export ASAN_OPTIONS=malloc_context_size=0:log_path=/tmp/sanitizer_logs/asan.log
[17:17:50]W:	 [Step 1/1] + ASAN_OPTIONS=malloc_context_size=0:log_path=/tmp/sanitizer_logs/asan.log
[17:17:50]W:	 [Step 1/1] + export LSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/lsan:log_path=/tmp/sanitizer_logs/lsan.log
[17:17:50]W:	 [Step 1/1] + LSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/lsan:log_path=/tmp/sanitizer_logs/lsan.log
[17:17:50]W:	 [Step 1/1] + export TSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/tsan:log_path=/tmp/sanitizer_logs/tsan.log
[17:17:50]W:	 [Step 1/1] + TSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/tsan:log_path=/tmp/sanitizer_logs/tsan.log
[17:17:50]W:	 [Step 1/1] + export UBSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:log_path=/tmp/sanitizer_logs/ubsan.log
[17:17:50]W:	 [Step 1/1] + UBSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:log_path=/tmp/sanitizer_logs/ubsan.log
[17:17:50]W:	 [Step 1/1] + case "$ABC_BUILD_NAME" in
[17:17:50]W:	 [Step 1/1] + echo 'Error: Invalid build name '\''build-diff'\'''
[17:17:50]W:	 [Step 1/1] + exit 2
[17:17:50] :	 [Step 1/1] Error: Invalid build name 'build-diff'
[17:17:50]W:	 [Step 1/1] Process exited with code 2
[17:17:50]E:	 [Step 1/1] Process exited with code 2 (Step: Command Line)
fpelliccioni updated this revision to Diff 15456.Jan 14 2020, 17:19

add whitespace

Snippet of first build failure:

[17:19:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git config core.sparseCheckout true
[17:19:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git config http.sslCAInfo
[17:19:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git show-ref
[17:19:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git show-ref refs/tags/phabricator/diff/15456
[17:19:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git log -n1 --pretty=format:%H%x20%s 21a480e54ed3ce667f71ddc91ead66644c953128 --
[17:19:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git -c credential.helper= checkout -q -f phabricator/diff/15456
[17:19:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git show-ref refs/tags/phabricator/diff/15456
[17:19:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] Cleaning Bitcoin ABC Staging in /home/teamcity/buildAgent/work/c4a5708f2bae7929 the file set ALL_UNTRACKED
[17:19:50] :			 [Update checkout directory (/home/teamcity/buildAgent/work/c4a5708f2bae7929)] /usr/bin/git clean -f -d -x
[17:19:50] : Build preparation done
[17:19:50]E: Step 1/1: Command Line
[17:19:50] :	 [Step 1/1] Ant JUnit report watcher
[17:19:50] :		 [Ant JUnit report watcher] Watching paths:
[17:19:50] :		 [Ant JUnit report watcher] +:build/test_bitcoin.xml
[17:19:50] :		 [Ant JUnit report watcher] +:test/functional/junit_results.xml
[17:19:50] :		 [Ant JUnit report watcher] +:build/junit_results*.xml
[17:19:50] :	 [Step 1/1] Starting: /home/teamcity/buildAgent/temp/agentTmp/custom_script3659797091565006074
[17:19:50] :	 [Step 1/1] in directory: /home/teamcity/buildAgent/work/c4a5708f2bae7929
[17:19:50]W:	 [Step 1/1] + : build-diff
[17:19:50] :	 [Step 1/1] Running build configuration 'build-diff'...
[17:19:50]W:	 [Step 1/1] + '[' -z build-diff ']'
[17:19:50]W:	 [Step 1/1] + echo 'Running build configuration '\''build-diff'\''...'
[17:19:50]W:	 [Step 1/1] ++ git rev-parse --show-toplevel
[17:19:50]W:	 [Step 1/1] + TOPLEVEL=/home/teamcity/buildAgent/work/c4a5708f2bae7929
[17:19:50]W:	 [Step 1/1] + export TOPLEVEL
[17:19:50]W:	 [Step 1/1] + trap print_sanitizers_log ERR
[17:19:50]W:	 [Step 1/1] +++ dirname ./contrib/teamcity/build-configurations.sh
[17:19:50]W:	 [Step 1/1] ++ cd ./contrib/teamcity
[17:19:50]W:	 [Step 1/1] ++ pwd
[17:19:50]W:	 [Step 1/1] + CI_SCRIPTS_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929/contrib/teamcity
[17:19:50]W:	 [Step 1/1] + setup
[17:19:50]W:	 [Step 1/1] + : /home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[17:19:50]W:	 [Step 1/1] + mkdir -p /home/teamcity/buildAgent/work/c4a5708f2bae7929/build/output
[17:19:50]W:	 [Step 1/1] ++ cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[17:19:50]W:	 [Step 1/1] ++ pwd
[17:19:50]W:	 [Step 1/1] + BUILD_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[17:19:50]W:	 [Step 1/1] + export BUILD_DIR
[17:19:50]W:	 [Step 1/1] + TEST_RUNNER_FLAGS=--tmpdirprefix=output
[17:19:50]W:	 [Step 1/1] + cd /home/teamcity/buildAgent/work/c4a5708f2bae7929/build
[17:19:50]W:	 [Step 1/1] ++ nproc
[17:19:50]W:	 [Step 1/1] + THREADS=12
[17:19:50]W:	 [Step 1/1] + export THREADS
[17:19:50]W:	 [Step 1/1] + SAN_SUPP_DIR=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions
[17:19:50]W:	 [Step 1/1] + SAN_LOG_DIR=/tmp/sanitizer_logs
[17:19:50]W:	 [Step 1/1] + mkdir -p /tmp/sanitizer_logs
[17:19:50]W:	 [Step 1/1] + rm -rf '/tmp/sanitizer_logs/*'
[17:19:50]W:	 [Step 1/1] + export ASAN_OPTIONS=malloc_context_size=0:log_path=/tmp/sanitizer_logs/asan.log
[17:19:50]W:	 [Step 1/1] + ASAN_OPTIONS=malloc_context_size=0:log_path=/tmp/sanitizer_logs/asan.log
[17:19:50]W:	 [Step 1/1] + export LSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/lsan:log_path=/tmp/sanitizer_logs/lsan.log
[17:19:50]W:	 [Step 1/1] + LSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/lsan:log_path=/tmp/sanitizer_logs/lsan.log
[17:19:50]W:	 [Step 1/1] + export TSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/tsan:log_path=/tmp/sanitizer_logs/tsan.log
[17:19:50]W:	 [Step 1/1] + TSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/tsan:log_path=/tmp/sanitizer_logs/tsan.log
[17:19:50]W:	 [Step 1/1] + export UBSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:log_path=/tmp/sanitizer_logs/ubsan.log
[17:19:50]W:	 [Step 1/1] + UBSAN_OPTIONS=suppressions=/home/teamcity/buildAgent/work/c4a5708f2bae7929/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:log_path=/tmp/sanitizer_logs/ubsan.log
[17:19:50] :	 [Step 1/1] Error: Invalid build name 'build-diff'
[17:19:50]W:	 [Step 1/1] + case "$ABC_BUILD_NAME" in
[17:19:50]W:	 [Step 1/1] + echo 'Error: Invalid build name '\''build-diff'\'''
[17:19:50]W:	 [Step 1/1] + exit 2
[17:19:50]W:	 [Step 1/1] Process exited with code 2
[17:19:50]E:	 [Step 1/1] Process exited with code 2 (Step: Command Line)
fpelliccioni updated this revision to Diff 15466.Jan 14 2020, 21:21

rebase from master

fpelliccioni updated this revision to Diff 15468.Jan 14 2020, 21:23

rebase from master

deadalnix accepted this revision.Jan 15 2020, 15:41
This revision is now accepted and ready to land.Jan 15 2020, 15:41