Skip to content

Add a few more corner cases to the base58 test suite

Cirrus CI / ASan + LSan + UBSan + integer, no depends, USDT failed Feb 24, 2024 in 18m 43s

Task Summary

Instruction ci failed in 18:33

Details

✅ 00:03 clone
✅ 00:01 enable_bpfcc
✅ 00:01 merge_base
❌ 18:33 ci

�[0;39;49m�[1;33;49mtest/cuckoocache_tests.cpp(32): Test suite "cuckoocache_tests" is skipped because disabled
�[0;39;49m�[1;33;49mwallet/test/group_outputs_tests.cpp(15): Test suite "group_outputs_tests" is skipped because disabled
�[0;39;49m�[1;33;49mtest/bip32_tests.cpp(160): Test suite "bip32_tests" is skipped because disabled
�[0;39;49m�[1;34;49mtest/base58_tests.cpp(21): Entering test suite "base58_tests"
�[0;39;49m�[1;34;49mtest/base58_tests.cpp(24): Entering test case "base58_EncodeBase58"
base58.cpp:96:85: runtime error: unsigned integer overflow: 0 - 10 cannot be represented in type 'unsigned long'
    #0 0x558ee87c88e0 in ConvertToLongArray(Span<unsigned char const> const&, unsigned long, unsigned long) src/base58.cpp:96:85
    #1 0x558ee87c8d3f in EncodeBase58[abi:cxx11](Span<unsigned char const>) src/base58.cpp:119:25
    #2 0x558ee6043bb8 in base58_tests::base58_EncodeBase58::test_method() src/test/base58_tests.cpp:37:9
    #3 0x558ee6042146 in base58_tests::base58_EncodeBase58_invoker() src/test/base58_tests.cpp:24:1
    #4 0x558ee5cda023 in boost::function0<void>::operator()() const /usr/include/boost/function/function_template.hpp:771:14
    #5 0x558ee5d60aba in boost::detail::forward::operator()() /usr/include/boost/test/impl/execution_monitor.ipp:1395:32
    #6 0x558ee5d60aba in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /usr/include/boost/function/function_template.hpp:137:18
    #7 0x558ee5d59eb3 in boost::function0<int>::operator()() const /usr/include/boost/function/function_template.hpp:771:14
    #8 0x558ee5c1934f in int boost::detail::do_invoke<boost::shared_ptr<boost::detail::translator_holder_base>, boost::function<int ()>>(boost::shared_ptr<boost::detail::translator_holder_base> const&, boost::function<int ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:308:30
    #9 0x558ee5c1934f in boost::execution_monitor::catch_signals(boost::function<int ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:910:16
    #10 0x558ee5c1991e in boost::execution_monitor::execute(boost::function<int ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:1308:16
    #11 0x558ee5c1161b in boost::execution_monitor::vexecute(boost::function<void ()> const&) /usr/include/boost/test/impl/execution_monitor.ipp:1404:5
    #12 0x558ee5c1161b in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /usr/include/boost/test/impl/unit_test_monitor.ipp:49:9
    #13 0x558ee5c93c52 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /usr/include/boost/test/impl/framework.ipp:815:44
    #14 0x558ee5c92bcf in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /usr/include/boost/test/impl/framework.ipp:784:58
    #15 0x558ee5c92bcf in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /usr/include/boost/test/impl/framework.ipp:784:58
    #16 0x558ee5c0f5c5 in boost::unit_test::framework::run(unsigned long, bool) /usr/include/boost/test/impl/framework.ipp:1722:29
    #17 0x558ee5c44b5b in boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /usr/include/boost/test/impl/unit_test_main.ipp:250:9
    #18 0x7f24895880cf  (/lib/x86_64-linux-gnu/libc.so.6+0x280cf) (BuildId: f0b834daa3d05a80967e9ec2f990a1ea71c958fa)
    #19 0x7f2489588188 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x28188) (BuildId: f0b834daa3d05a80967e9ec2f990a1ea71c958fa)
    #20 0x558ee5b07924 in _start (/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/test_bitcoin+0x118a924) (BuildId: baa4b9d47610b335f6e428737379387976a1b153)

SUMMARY: UndefinedBehaviorSanitizer: unsigned-integer-overflow base58.cpp:96:85 in 
make[3]: *** [Makefile:22958: test/base58_tests.cpp.test] Error 1
make[3]: *** Waiting for unfinished jobs....
PASS: univalue/test/object
PASS: univalue/test/unitester
  GEN      obj/build.h
PASS: minisketch/test
PASS: qt/test/test_bitcoin-qt
============================================================================
Testsuite summary for Bitcoin Core 26.99.0
============================================================================
# TOTAL: 4
# PASS:  4
# SKIP:  0
# XFAIL: 0
# FAIL:  0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: Leaving directory '/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src'
make[3]: Leaving directory '/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src'
make[2]: *** [Makefile:20868: check-am] Error 2
make[2]: Leaving directory '/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src'
make[1]: *** [Makefile:20533: check-recursive] Error 1
make[1]: Leaving directory '/ci_container_base/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src'
make: *** [Makefile:813: check-recursive] Error 1

Exit status: 2