Page MenuHomePhabricator

tests: Remove no longer needed UBSan suppressions (issues fixed). Add documentation.
ClosedPublic

Authored by PiRK on Oct 30 2020, 09:13.

Details

Reviewers
Fabien
Group Reviewers
Restricted Owners Package(Owns No Changed Paths)
Restricted Project
Commits
rABC4b91fddee81f: tests: Remove no longer needed UBSan suppressions (issues fixed). Add…
Summary

This is a backport of Core PR17209

Test Plan
cmake -GNinja ..   -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DENABLE_SANITIZERS="undefined"
UBSAN_OPTIONS=print_stacktrace=1:halt_on_error=0 ninja check check-functional
grep -i "runtime error" test/log/*.log

Check that there are no errors for wallet.cpp or fs.cpp

Diff Detail

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

Event Timeline

Owners added a reviewer: Restricted Owners Package.Oct 30 2020, 09:13
PiRK requested review of this revision.Oct 30 2020, 09:14
Fabien requested changes to this revision.Oct 30 2020, 09:30
Fabien added a subscriber: Fabien.

The test plan is wrong

This revision now requires changes to proceed.Oct 30 2020, 09:30

Tail of the build log:

[74/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/descriptor_tests.cpp.o
[75/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/inv_tests.cpp.o
[76/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/finalization_tests.cpp.o
[77/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/denialofservice_tests.cpp.o
[78/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/hash_tests.cpp.o
[79/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/merkleblock_tests.cpp.o
[80/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/key_io_tests.cpp.o
[81/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/getarg_tests.cpp.o
[82/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/key_tests.cpp.o
[83/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/interfaces_tests.cpp.o
[84/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/op_reversebytes_tests.cpp.o
[85/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/monolith_opcodes_tests.cpp.o
[86/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/pmt_tests.cpp.o
[87/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/multisig_tests.cpp.o
[88/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/policyestimator_tests.cpp.o
[89/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/ref_tests.cpp.o
[90/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/netbase_tests.cpp.o
[91/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/miner_tests.cpp.o
[92/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/prevector_tests.cpp.o
[93/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/raii_event_tests.cpp.o
[94/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/net_tests.cpp.o
[95/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/reverselock_tests.cpp.o
[96/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sanity_tests.cpp.o
[97/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/rpc_server_tests.cpp.o
[98/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_bitfield_tests.cpp.o
[99/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/schnorr_tests.cpp.o
[100/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/rwcollection_tests.cpp.o
[101/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_commitment_tests.cpp.o
[102/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/scheduler_tests.cpp.o
[103/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/scriptnum_tests.cpp.o
[104/422] secp256k1: testing secp256k1-tests
FAILED: src/secp256k1/CMakeFiles/check-secp256k1-secp256k1-tests 
cd /work/abc-ci-builds/build-ubsan/src/secp256k1 && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-ubsan/test/junit && /usr/bin/cmake -E make_directory /work/abc-ci-builds/build-ubsan/test/log && /usr/bin/cmake -E env UBSAN_OPTIONS=suppressions=/work/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:log_path=stdout /work/cmake/utils/log-and-print-on-failure.sh /work/abc-ci-builds/build-ubsan/test/log/secp256k1-secp256k1-tests.log /work/abc-ci-builds/build-ubsan/src/secp256k1/secp256k1-tests
test count = 64
random seed = fcbd041ab5973b2d564e2acae0b34965
../../src/secp256k1/src/ecmult_impl.h:599:35: runtime error: applying non-zero offset 832 to null pointer
    #0 0x55cc562a79df in secp256k1_ecmult_strauss_batch /work/abc-ci-builds/build-ubsan/../../src/secp256k1/src/ecmult_impl.h:599:35
    #1 0x55cc5627b09d in secp256k1_ecmult_strauss_batch_single /work/abc-ci-builds/build-ubsan/../../src/secp256k1/src/ecmult_impl.h:622:12
    #2 0x55cc562795bc in test_ecmult_multi_batch_single /work/abc-ci-builds/build-ubsan/../../src/secp256k1/src/tests.c:3108:5
    #3 0x55cc5627af60 in run_ecmult_multi_tests /work/abc-ci-builds/build-ubsan/../../src/secp256k1/src/tests.c:3291:5
    #4 0x55cc56298861 in main /work/abc-ci-builds/build-ubsan/../../src/secp256k1/src/tests.c:5689:5
    #5 0x7f451b00d09a in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2409a)
    #6 0x55cc56213c39 in _start (/work/abc-ci-builds/build-ubsan/src/secp256k1/secp256k1-tests+0x2dc39)

SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../../src/secp256k1/src/ecmult_impl.h:599:35 in 
[105/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/radix_tests.cpp.o
[106/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_standard_tests.cpp.o
[107/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_p2sh_tests.cpp.o
[108/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/rpc_tests.cpp.o
[109/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sigencoding_tests.cpp.o
[110/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sigcache_tests.cpp.o
[111/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sighashtype_tests.cpp.o
[112/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/settings_tests.cpp.o
[113/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sigcheckcount_tests.cpp.o
[114/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/skiplist_tests.cpp.o
[115/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/serialize_tests.cpp.o
[116/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/sighash_tests.cpp.o
[117/422] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/script_tests.cpp.o
ninja: build stopped: subcommand failed.
Build build-ubsan failed with exit code 1
PiRK requested review of this revision.Oct 30 2020, 12:33
PiRK edited the test plan for this revision. (Show Details)

test plan updated

PiRK edited the test plan for this revision. (Show Details)
This revision is now accepted and ready to land.Oct 30 2020, 12:48