ci: Use TSan new runtime (llvm-16, take 3) #27298

pull maflcko wants to merge 1 commits into bitcoin:master from maflcko:2303-ci-tsan-v2-llvm-16-take-3-🌡 changing 2 files +5 −5
  1. maflcko commented at 11:52 AM on March 22, 2023: member

    The previous two attempts failed:

    However, now that the bug is known and fixed, it should be good to go. See also #26775 (comment)

  2. DrahtBot commented at 11:52 AM on March 22, 2023: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK fanquake
    Concept ACK dergoegge

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #27340 (ci: Use Cirrus CI dockerfile env by MarcoFalke)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  3. DrahtBot added the label Tests on Mar 22, 2023
  4. maflcko renamed this:
    ci: Use TSan v2 (llvm-16, take 3)
    ci: Use TSan new runtime (llvm-16, take 3)
    on Mar 22, 2023
  5. fanquake commented at 1:21 PM on March 22, 2023: member

    Imagine how much nicer life would be if we could upgrade the sanitizer infrastructure for the bitcoin consensus code without having to make some random gui sub dependency compile with a newer version of Clang. I'll take a look. Maybe we can just drop a patch into depends.

            if (os2->achVendID && os2->achVendID[0] != 0)
                ~~~~~^~~~~~~~~ ~~
      CC       fcname.lo
      CC       fcobjs.lo
      CC       fcpat.lo
      CC       fcrange.lo
      CC       fcserialize.lo
      CC       fcstat.lo
      CC       fcstr.lo
      CC       fcweight.lo
      CC       fcxml.lo
      CC       ftglue.lo
    1 warning generated.
      CC       fcarch.o
      CCLD     fcarch
      CCLD     libfontconfig.la
    make[4]: Leaving directory '/tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/fontconfig/2.12.6-6d71f6a3836/src'
    make[3]: Leaving directory '/tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/fontconfig/2.12.6-6d71f6a3836/src'
    Making all in fc-cache
    make[3]: Entering directory '/tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/fontconfig/2.12.6-6d71f6a3836/fc-cache'
      CC       fc-cache.o
      CCLD     fc-cache
    make[3]: Leaving directory '/tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/fontconfig/2.12.6-6d71f6a3836/fc-cache'
    Making all in fc-cat
    make[3]: Entering directory '/tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/fontconfig/2.12.6-6d71f6a3836/fc-cat'
      CC       fc-cat.o
    fc-cat.c:252:10: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
        int         ret = 0;
                    ^
    1 warning generated.
      CCLD     fc-cat
    make[3]: Leaving directory '/tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/fontconfig/2.12.6-6d71f6a3836/fc-cat'
    Making all in fc-list
    make[3]: Entering directory '/tmp/cirrus-ci-build/depends/work/build/x86_64-pc-linux-gnu/fontconfig/2.12.6-6d71f6a3836/fc-list'
      CC       fc-list.o
    fc-list.c:119:27: error: call to undeclared function 'strdup'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
                format = (FcChar8 *) strdup (optarg);
                                     ^
    fc-list.c:119:27: note: did you mean 'strcmp'?
    /usr/include/string.h:156:12: note: 'strcmp' declared here
    extern int strcmp (const char *__s1, const char *__s2)
               ^
    fc-list.c:119:15: warning: cast to 'FcChar8 *' (aka 'unsigned char *') from smaller integer type 'int' [-Wint-to-pointer-cast]
                format = (FcChar8 *) strdup (optarg);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
    1 warning and 1 error generated.
    make[3]: *** [Makefile:510: fc-list.o] Error 1
    
  6. dergoegge commented at 1:52 PM on March 22, 2023: member

    Concept ACK

  7. dergoegge commented at 2:05 PM on March 22, 2023: member

    Could we drop the GUI from the TSan task?

  8. maflcko commented at 2:24 PM on March 22, 2023: member

    Could we drop the GUI from the TSan task?

    Yes, but there is another (linker) bug.

  9. maflcko force-pushed on Mar 22, 2023
  10. fanquake commented at 6:00 PM on March 22, 2023: member

    Could we drop the GUI from the TSan task?

    Concept ACK.

    Yes, but there is another (linker) bug.

    Looks like just explicitly installing libclang-rt-16-dev will solve this. This branch works for me, for running the TSAN CI job on x86_64: https://github.com/fanquake/bitcoin/tree/27298_plus_libclang:

    ALL                                                    | ✓ Passed  | 3493 s (accumulated) 
    Runtime: 991 s
    
    Stop and remove CI container by ID
    48aee56b02c33313b240f21c0b9924c68bfa9fcaaa16d0557adcd31b1efb73be
    
    real	32m28.067s
    

    Still testing on aarch64.

  11. fanquake commented at 6:11 PM on March 22, 2023: member

    Ran into a failure (with the above branch, and NO_BDB=1), on aarch64:

    2023-03-22T18:02:11.462544Z (mocktime: 2020-08-31T15:34:12Z) [txindex] [util/thread.cpp:20] [TraceThread] txindex thread start
    test/txindex_tests.cpp(38): fatal error: in "txindex_tests/txindex_initial_sync": critical check time_start + timeout_ms > GetTimeMillis() has failed
    LLVMSymbolizer: error reading file: No such file or directory
    make[3]: Leaving directory '/home/fedora/ci_scratch/ci/scratch/build/bitcoin-aarch64-unknown-linux-gnu/src'
    make[2]: *** [Makefile:19828: check-am] Error 2
    make[2]: Leaving directory '/home/fedora/ci_scratch/ci/scratch/build/bitcoin-aarch64-unknown-linux-gnu/src'
    make[1]: *** [Makefile:19493: check-recursive] Error 1
    make[1]: Leaving directory '/home/fedora/ci_scratch/ci/scratch/build/bitcoin-aarch64-unknown-linux-gnu/src'
    make: *** [Makefile:816: check-recursive] Error 1
    ==================
    WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=32811)
      Write of size 8 at 0xffffd3434508 by main thread:
        [#0](/bitcoin-bitcoin/0/) BaseIndex::~BaseIndex() src/index/base.cpp:80:1 (test_bitcoin+0xc540e4) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#1](/bitcoin-bitcoin/1/) TxIndex::~TxIndex() src/index/txindex.cpp:56:19 (test_bitcoin+0xc6cf08) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#2](/bitcoin-bitcoin/2/) txindex_tests::txindex_initial_sync::test_method() src/test/txindex_tests.cpp:82:1 (test_bitcoin+0x7c2450) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#3](/bitcoin-bitcoin/3/) txindex_tests::txindex_initial_sync_invoker() src/test/txindex_tests.cpp:17:1 (test_bitcoin+0x7c0bac) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#4](/bitcoin-bitcoin/4/) boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:117:11 (test_bitcoin+0x2b7868) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#5](/bitcoin-bitcoin/5/) boost::function0<void>::operator()() const /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x24f2dc) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#6](/bitcoin-bitcoin/6/) boost::detail::forward::operator()() /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1388:32 (test_bitcoin+0x24f2dc)
        [#7](/bitcoin-bitcoin/7/) boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:137:18 (test_bitcoin+0x24f2dc)
        [#8](/bitcoin-bitcoin/8/) boost::function0<int>::operator()() const /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x1e3304) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#9](/bitcoin-bitcoin/9/) 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&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:301:30 (test_bitcoin+0x1e3304)
        [#10](/bitcoin-bitcoin/10/) boost::execution_monitor::catch_signals(boost::function<int ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:903:16 (test_bitcoin+0x1e3304)
        [#11](/bitcoin-bitcoin/11/) boost::execution_monitor::execute(boost::function<int ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1301:16 (test_bitcoin+0x1e35fc) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#12](/bitcoin-bitcoin/12/) boost::execution_monitor::vexecute(boost::function<void ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1397:5 (test_bitcoin+0x1dce40) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#13](/bitcoin-bitcoin/13/) boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x1dce40)
        [#14](/bitcoin-bitcoin/14/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:815:44 (test_bitcoin+0x20cd7c) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#15](/bitcoin-bitcoin/15/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x20d0a8) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#16](/bitcoin-bitcoin/16/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x20d0a8) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#17](/bitcoin-bitcoin/17/) boost::unit_test::framework::run(unsigned long, bool) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:1722:29 (test_bitcoin+0x1dbde4) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#18](/bitcoin-bitcoin/18/) boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:250:9 (test_bitcoin+0x1f5748) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#19](/bitcoin-bitcoin/19/) main /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:306:12 (test_bitcoin+0x1f5cf4) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
    
      Previous read of size 8 at 0xffffd3434508 by thread T4:
        [#0](/bitcoin-bitcoin/0/) BaseIndex::ThreadSync() src/index/base.cpp:217:18 (test_bitcoin+0xc54fbc) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#1](/bitcoin-bitcoin/1/) BaseIndex::Start()::$_0::operator()() const src/index/base.cpp:404:73 (test_bitcoin+0xc58740) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#2](/bitcoin-bitcoin/2/) decltype(std::declval<BaseIndex::Start()::$_0&>()()) std::__1::__invoke[abi:v160000]<BaseIndex::Start()::$_0&>(BaseIndex::Start()::$_0&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/invoke.h:394:23 (test_bitcoin+0xc58740)
        [#3](/bitcoin-bitcoin/3/) void std::__1::__invoke_void_return_wrapper<void, true>::__call<BaseIndex::Start()::$_0&>(BaseIndex::Start()::$_0&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/invoke.h:487:9 (test_bitcoin+0xc58740)
        [#4](/bitcoin-bitcoin/4/) std::__1::__function::__alloc_func<BaseIndex::Start()::$_0, std::__1::allocator<BaseIndex::Start()::$_0>, void ()>::operator()[abi:v160000]() /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:185:16 (test_bitcoin+0xc58740)
        [#5](/bitcoin-bitcoin/5/) std::__1::__function::__func<BaseIndex::Start()::$_0, std::__1::allocator<BaseIndex::Start()::$_0>, void ()>::operator()() /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:356:12 (test_bitcoin+0xc58740)
        [#6](/bitcoin-bitcoin/6/) std::__1::__function::__value_func<void ()>::operator()[abi:v160000]() const /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:510:16 (test_bitcoin+0x10ca298) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#7](/bitcoin-bitcoin/7/) std::__1::function<void ()>::operator()() const /usr/lib/llvm-16/bin/../include/c++/v1/__functional/function.h:1156:12 (test_bitcoin+0x10ca298)
        [#8](/bitcoin-bitcoin/8/) util::TraceThread(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>) src/util/thread.cpp:21:9 (test_bitcoin+0x10ca298)
        [#9](/bitcoin-bitcoin/9/) decltype(std::declval<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>)>()(std::declval<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(), std::declval<BaseIndex::Start()::$_0>())) std::__1::__invoke[abi:v160000]<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, BaseIndex::Start()::$_0>(void (*&&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>&&, BaseIndex::Start()::$_0&&) /usr/lib/llvm-16/bin/../include/c++/v1/__functional/invoke.h:394:23 (test_bitcoin+0xc5828c) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#10](/bitcoin-bitcoin/10/) void std::__1::__thread_execute[abi:v160000]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, BaseIndex::Start()::$_0, 2ul, 3ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, BaseIndex::Start()::$_0>&, std::__1::__tuple_indices<2ul, 3ul>) /usr/lib/llvm-16/bin/../include/c++/v1/thread:282:5 (test_bitcoin+0xc5828c)
        [#11](/bitcoin-bitcoin/11/) void* std::__1::__thread_proxy[abi:v160000]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, BaseIndex::Start()::$_0>>(void*) /usr/lib/llvm-16/bin/../include/c++/v1/thread:293:5 (test_bitcoin+0xc5828c)
    
      Location is stack of main thread.
    
      Location is global '??' at 0xffffd3417000 ([stack]+0x1d508)
    
      Thread T4 'b-txindex' (tid=32816, running) created by main thread at:
        [#0](/bitcoin-bitcoin/0/) pthread_create <null> (test_bitcoin+0x1376ec) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#1](/bitcoin-bitcoin/1/) std::__1::__libcpp_thread_create[abi:v160000](unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-16/bin/../include/c++/v1/__threading_support:378:10 (test_bitcoin+0xc57f1c) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#2](/bitcoin-bitcoin/2/) std::__1::thread::thread<void (*)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, BaseIndex::Start()::$_0, void>(void (*&&)(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>), std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, BaseIndex::Start()::$_0&&) /usr/lib/llvm-16/bin/../include/c++/v1/thread:309:16 (test_bitcoin+0xc57f1c)
        [#3](/bitcoin-bitcoin/3/) BaseIndex::Start() src/index/base.cpp:404:21 (test_bitcoin+0xc57f1c)
        [#4](/bitcoin-bitcoin/4/) txindex_tests::txindex_initial_sync::test_method() src/test/txindex_tests.cpp:32:5 (test_bitcoin+0x7c150c) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#5](/bitcoin-bitcoin/5/) txindex_tests::txindex_initial_sync_invoker() src/test/txindex_tests.cpp:17:1 (test_bitcoin+0x7c0bac) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#6](/bitcoin-bitcoin/6/) boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:117:11 (test_bitcoin+0x2b7868) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#7](/bitcoin-bitcoin/7/) boost::function0<void>::operator()() const /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x24f2dc) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#8](/bitcoin-bitcoin/8/) boost::detail::forward::operator()() /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1388:32 (test_bitcoin+0x24f2dc)
        [#9](/bitcoin-bitcoin/9/) boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:137:18 (test_bitcoin+0x24f2dc)
        [#10](/bitcoin-bitcoin/10/) boost::function0<int>::operator()() const /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x1e3304) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#11](/bitcoin-bitcoin/11/) 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&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:301:30 (test_bitcoin+0x1e3304)
        [#12](/bitcoin-bitcoin/12/) boost::execution_monitor::catch_signals(boost::function<int ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:903:16 (test_bitcoin+0x1e3304)
        [#13](/bitcoin-bitcoin/13/) boost::execution_monitor::execute(boost::function<int ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1301:16 (test_bitcoin+0x1e35fc) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#14](/bitcoin-bitcoin/14/) boost::execution_monitor::vexecute(boost::function<void ()> const&) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1397:5 (test_bitcoin+0x1dce40) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#15](/bitcoin-bitcoin/15/) boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x1dce40)
        [#16](/bitcoin-bitcoin/16/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:815:44 (test_bitcoin+0x20cd7c) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#17](/bitcoin-bitcoin/17/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x20d0a8) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#18](/bitcoin-bitcoin/18/) boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x20d0a8) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#19](/bitcoin-bitcoin/19/) boost::unit_test::framework::run(unsigned long, bool) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:1722:29 (test_bitcoin+0x1dbde4) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#20](/bitcoin-bitcoin/20/) boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:250:9 (test_bitcoin+0x1f5748) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
        [#21](/bitcoin-bitcoin/21/) main /home/fedora/ci_scratch/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:306:12 (test_bitcoin+0x1f5cf4) (BuildId: b7b04616b4944ef4985d18b976ee210f40ecea99)
    
    SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) src/index/base.cpp:80:1 in BaseIndex::~BaseIndex()
    ==================
    
    real	28m15.335s
    

    Full log: https://gist.github.com/fanquake/f5b4a6e114b727a290bf078e3b99990c.

  12. maflcko commented at 2:16 PM on March 24, 2023: member

    Ran into a failure (with the above branch, and NO_BDB=1), on aarch64:

    Does this happen on master as well?

  13. maflcko commented at 2:19 PM on March 24, 2023: member
  14. fanquake commented at 5:06 PM on March 24, 2023: member

    Does this happen on master as well?

    A different failure with master (e352f5ab6b60ec1cc549997275e945238508cdee):

    make  check-TESTS check-local
    make[3]: Entering directory '/home/fedora/bitcoin/ci/scratch/build/bitcoin-aarch64-unknown-linux-gnu/src'
    Running tests: addrman_tests from test/addrman_tests.cpp
    Running tests: allocator_tests from test/allocator_tests.cpp
    Running tests: amount_tests from test/amount_tests.cpp
    make[4]: Entering directory '/home/fedora/bitcoin/ci/scratch/build/bitcoin-aarch64-unknown-linux-gnu/src'
    /bin/bash: line 2: 27679 Segmentation fault      (core dumped) test/test_bitcoin --catch_system_errors=no -l test_suite -t "$( cat test/amount_tests.cpp | grep -E "(BOOST_FIXTURE_TEST_SUITE\\(|BOOST_AUTO_TEST_SUITE\\()" | cut -d '(' -f 2 | cut -d ',' -f 1 | cut -d ')' -f 1 )" -- DEBUG_LOG_OUT > "$TEST_LOGFILE" 2>&1
    ThreadSanitizer: CHECK failed: tsan_platform_linux.cpp:310 "((personality(old_personality | ADDR_NO_RANDOMIZE))) != ((-1))" (0xffffffffffffffff, 0xffffffffffffffff) (tid=27679)
    /bin/bash: line 2: 27670 Segmentation fault      (core dumped) test/test_bitcoin --catch_system_errors=no -l test_suite -t "$( cat test/addrman_tests.cpp | grep -E "(BOOST_FIXTURE_TEST_SUITE\\(|BOOST_AUTO_TEST_SUITE\\()" | cut -d '(' -f 2 | cut -d ',' -f 1 | cut -d ')' -f 1 )" -- DEBUG_LOG_OUT > "$TEST_LOGFILE" 2>&1
    make[3]: *** [Makefile:21823: test/amount_tests.cpp.test] Error 1
    make[3]: *** Waiting for unfinished jobs....
    /bin/bash: line 2: 27677 Segmentation fault      (core dumped) test/test_bitcoin --catch_system_errors=no -l test_suite -t "$( cat test/allocator_tests.cpp | grep -E "(BOOST_FIXTURE_TEST_SUITE\\(|BOOST_AUTO_TEST_SUITE\\()" | cut -d '(' -f 2 | cut -d ',' -f 1 | cut -d ')' -f 1 )" -- DEBUG_LOG_OUT > "$TEST_LOGFILE" 2>&1
    ThreadSanitizer: CHECK failed: tsan_platform_linux.cpp:310 "((personality(old_personality | ADDR_NO_RANDOMIZE))) != ((-1))" (0xffffffffffffffff, 0xffffffffffffffff) (tid=27670)
    make[3]: *** [Makefile:21823: test/addrman_tests.cpp.test] Error 1
    ../build-aux/test-driver: line 112: 27688 Segmentation fault      (core dumped) "$@" >> "$log_file" 2>&1
    FAIL: minisketch/test
    ThreadSanitizer: CHECK failed: tsan_platform_linux.cpp:310 "((personality(old_personality | ADDR_NO_RANDOMIZE))) != ((-1))" (0xffffffffffffffff, 0xffffffffffffffff) (tid=27677)
    make[3]: *** [Makefile:21823: test/allocator_tests.cpp.test] Error 1
    ../build-aux/test-driver: line 112: 27710 Segmentation fault      (core dumped) "$@" >> "$log_file" 2>&1
    FAIL: univalue/test/object
    ../build-aux/test-driver: line 112: 27709 Segmentation fault      (core dumped) "$@" >> "$log_file" 2>&1
    FAIL: univalue/test/unitester
    ==============================================
       Bitcoin Core 24.99.0: src/test-suite.log
    ==============================================
    
    FAIL: minisketch/test
    =====================
    
    ThreadSanitizer: CHECK failed: tsan_platform_linux.cpp:310 "((personality(old_personality | ADDR_NO_RANDOMIZE))) != ((-1))" (0xffffffffffffffff, 0xffffffffffffffff) (tid=27688)
    FAIL minisketch/test (exit status: 139)
    
    FAIL: univalue/test/object
    ==========================
    
    ThreadSanitizer: CHECK failed: tsan_platform_linux.cpp:310 "((personality(old_personality | ADDR_NO_RANDOMIZE))) != ((-1))" (0xffffffffffffffff, 0xffffffffffffffff) (tid=27710)
    FAIL univalue/test/object (exit status: 139)
    
    FAIL: univalue/test/unitester
    =============================
    
    ThreadSanitizer: CHECK failed: tsan_platform_linux.cpp:310 "((personality(old_personality | ADDR_NO_RANDOMIZE))) != ((-1))" (0xffffffffffffffff, 0xffffffffffffffff) (tid=27709)
    FAIL univalue/test/unitester (exit status: 139)
    
  15. fanquake commented at 2:41 PM on March 27, 2023: member

    Could rebase on #27301, and see what happens when you drop 6a05c8401984d989f1adb2a61f12e64c1f13ff82 ?

  16. maflcko force-pushed on Mar 27, 2023
  17. fanquake commented at 3:57 PM on March 27, 2023: member

    Looks like the explicit libclang-rt-dev package installation was lost, so configure is failing.

  18. fanquake referenced this in commit b759cefe93 on Mar 27, 2023
  19. DrahtBot added the label Needs rebase on Mar 27, 2023
  20. sidhujag referenced this in commit 2d65d29021 on Mar 27, 2023
  21. ci: Use TSan new runtime (llvm-16, take 3) faf4aca15a
  22. maflcko force-pushed on Mar 28, 2023
  23. DrahtBot removed the label Needs rebase on Mar 28, 2023
  24. maflcko marked this as ready for review on Mar 28, 2023
  25. fanquake approved
  26. fanquake commented at 10:34 AM on March 28, 2023: member

    ACK faf4aca15a319a26aaec7127455f6db97c7039cc - I still see this failure on aarch64, but that isn't really a regression, as running this tests was already broken for me. I'll open a separate issue, and we can follow up.

  27. fanquake merged this on Mar 28, 2023
  28. fanquake closed this on Mar 28, 2023

  29. maflcko deleted the branch on Mar 28, 2023
  30. sidhujag referenced this in commit 7083206493 on Mar 28, 2023
  31. fanquake referenced this in commit fd0a58a506 on Mar 29, 2023
  32. fanquake referenced this in commit a341c1d3a8 on Mar 29, 2023
  33. fanquake referenced this in commit 118805531f on Mar 29, 2023
  34. fanquake referenced this in commit 97edee3730 on Mar 29, 2023
  35. fanquake referenced this in commit a634c288c3 on Mar 29, 2023
  36. fanquake referenced this in commit 84f4ac39fd on Mar 30, 2023
  37. fanquake referenced this in commit 579e0274fe on Mar 31, 2023
  38. fanquake referenced this in commit 1759d1046b on Apr 6, 2023
  39. fanquake referenced this in commit 0af85aa5ff on Apr 17, 2023
  40. fanquake referenced this in commit c2f757fde0 on Apr 18, 2023
  41. fanquake referenced this in commit 4cd3b39043 on Apr 20, 2023
  42. fanquake referenced this in commit 35362a1fea on Apr 20, 2023
  43. fanquake referenced this in commit 987567f2a4 on Apr 21, 2023
  44. fanquake referenced this in commit a440295fa9 on Apr 21, 2023
  45. fanquake referenced this in commit 114fdfe3b9 on Apr 27, 2023
  46. fanquake referenced this in commit 68da768986 on May 1, 2023
  47. fanquake referenced this in commit 1232c2f6b9 on May 2, 2023
  48. fanquake referenced this in commit 7b45d171f5 on May 2, 2023
  49. RandyMcMillan referenced this in commit f368db267d on May 27, 2023
  50. RandyMcMillan referenced this in commit 3fd7216330 on May 27, 2023
  51. UdjinM6 referenced this in commit 6a282f4407 on Feb 10, 2024
  52. PastaPastaPasta referenced this in commit 2f6528292f on Feb 12, 2024
  53. bitcoin locked this on Mar 27, 2024

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-24 03:14 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me