Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: Print tsan errors to stderr #29740

Merged
merged 1 commit into from Mar 27, 2024
Merged

Conversation

maflcko
Copy link
Member

@maflcko maflcko commented Mar 26, 2024

This fixes a bug introduced in #27667

All sanitizers print their errors to stderr, except for tsan, which prints to a file and expects the file to be read.

Fix this by not using a log file in any sanitizer.

@DrahtBot
Copy link
Contributor

DrahtBot commented Mar 26, 2024

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

Code Coverage

For detailed information about the code coverage, see the test coverage report.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK dergoegge

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

@DrahtBot DrahtBot added the Tests label Mar 26, 2024
@maflcko
Copy link
Member Author

maflcko commented Mar 27, 2024

Can be tested by checking out this commit, clearing test/sanitizer_suppressions/tsan, and observing a failure, along with the printed error in the tsan CI.

On master, clearing test/sanitizer_suppressions/tsan, would result in a failing tsan CI, but without error.

Copy link
Member

@dergoegge dergoegge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK fa22a43

@fanquake
Copy link
Member

Tested that this dumps a failure:

2024-03-27T10:57:55.583878Z (mocktime: 2020-08-31T15:34:11Z) [test] [validation.cpp:2812] [UpdateTipLog] UpdateTip: new best=571d80a9967ae599cec0448b0b0ba1cfb606f584d8069bd7166b86854ba7a191 height=100 version=0x20000000 log2_work=7.658211 tx=101 date='2020-08-31T15:34:11Z' progress=1.000000 cache=0.3MiB(100txo)
2024-03-27T10:57:55.583938Z (mocktime: 2020-08-31T15:34:11Z) [test] [validation.cpp:3069] [ConnectTip] [bench]   - Connect postprocess: 0.29ms [0.03s (0.17ms/blk)]
2024-03-27T10:57:55.583990Z (mocktime: 2020-08-31T15:34:11Z) [test] [validation.cpp:3073] [ConnectTip] [bench] - Connect block: 1.59ms [0.16s (0.79ms/blk)]
2024-03-27T10:57:55.584064Z (mocktime: 2020-08-31T15:34:11Z) [test] [txmempool.cpp:663] [check] [mempool] Checking mempool with 0 transactions and 0 inputs
==================
WARNING: ThreadSanitizer: data race (pid=35866)
  Read of size 4 at 0xff5dfa926368 by thread T4 (mutexes: write M0):
    #0 std::__1::ios_base::flags[abi:ue170006]() const /usr/lib/llvm-17/bin/../include/c++/v1/ios:475:12 (test_bitcoin+0x28ccf4) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #1 std::__1::basic_ostream<char, std::__1::char_traits<char>>& std::__1::__put_character_sequence[abi:ue170006]<char, std::__1::char_traits<char>>(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, char const*, unsigned long) /usr/lib/llvm-17/bin/../include/c++/v1/ostream:772:45 (test_bitcoin+0x28ccf4)
    #2 std::__1::basic_ostream<char, std::__1::char_traits<char>>& std::__1::operator<<[abi:ue170006]<char, std::__1::char_traits<char>, std::__1::allocator<char>>(std::__1::basic_ostream<char, std::__1::char_traits<char>>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) /usr/lib/llvm-17/bin/../include/c++/v1/ostream:1093:12 (test_bitcoin+0x247bc8) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #3 $_0::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const src/test/main.cpp:26:15 (test_bitcoin+0x247bc8)
    #4 decltype(std::declval<$_0&>()(std::declval<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>())) std::__1::__invoke[abi:ue170006]<$_0&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>($_0&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:340:25 (test_bitcoin+0x247bc8)
    #5 void std::__1::__invoke_void_return_wrapper<void, true>::__call[abi:ue170006]<$_0&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&>($_0&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:415:5 (test_bitcoin+0x247bc8)
    #6 std::__1::__function::__alloc_func<$_0, std::__1::allocator<$_0>, void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)>::operator()[abi:ue170006](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:192:16 (test_bitcoin+0x247bc8)
    #7 std::__1::__function::__func<$_0, std::__1::allocator<$_0>, void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)>::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:363:12 (test_bitcoin+0x247bc8)
    #8 std::__1::__function::__value_func<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)>::operator()[abi:ue170006](std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:517:16 (test_bitcoin+0x1307e4c) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #9 std::__1::function<void (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)>::operator()(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const /usr/lib/llvm-17/bin/../include/c++/v1/__functional/function.h:1168:12 (test_bitcoin+0x1307e4c)
    #10 BCLog::Logger::LogPrintStr(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, BCLog::LogFlags, BCLog::Level) src/logging.cpp:451:9 (test_bitcoin+0x1307e4c)
    #11 void LogPrintf_<std::__1::basic_string_view<char, std::__1::char_traits<char>>>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, BCLog::LogFlags, BCLog::Level, char const*, std::__1::basic_string_view<char, std::__1::char_traits<char>> const&) src/./logging.h:233:23 (test_bitcoin+0x132e694) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #12 util::TraceThread(std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::function<void ()>) src/util/thread.cpp:20:9 (test_bitcoin+0x132e3a0) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #13 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::StartBackgroundSync()::$_0>())) std::__1::__invoke[abi:ue170006]<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::StartBackgroundSync()::$_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::StartBackgroundSync()::$_0&&) /usr/lib/llvm-17/bin/../include/c++/v1/__type_traits/invoke.h:340:25 (test_bitcoin+0xe5c6d8) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #14 void std::__1::__thread_execute[abi:ue170006]<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::StartBackgroundSync()::$_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::StartBackgroundSync()::$_0>&, std::__1::__tuple_indices<2ul, 3ul>) /usr/lib/llvm-17/bin/../include/c++/v1/__thread/thread.h:221:5 (test_bitcoin+0xe5c6d8)
    #15 void* std::__1::__thread_proxy[abi:ue170006]<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::StartBackgroundSync()::$_0>>(void*) /usr/lib/llvm-17/bin/../include/c++/v1/__thread/thread.h:232:5 (test_bitcoin+0xe5c6d8)

  Previous write of size 4 at 0xff5dfa926368 by main thread:
    #0 std::__1::ios_base::flags[abi:ue170006](unsigned int) /usr/lib/llvm-17/bin/../include/c++/v1/ios:483:17 (test_bitcoin+0x21e264) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #1 boost::io::ios_base_all_saver::restore() /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/io/ios_state.hpp:383:17 (test_bitcoin+0x21e264)
    #2 boost::unit_test::unit_test_log_t::operator<<(boost::unit_test::log::begin const&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_log.ipp:412:49 (test_bitcoin+0x21e264)
    #3 boost::test_tools::tt_detail::report_assertion(boost::test_tools::assertion_result const&, boost::unit_test::lazy_ostream const&, boost::unit_test::basic_cstring<char const>, unsigned long, boost::test_tools::tt_detail::tool_level, boost::test_tools::tt_detail::check_type, unsigned long, ...) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/test_tools.ipp:380:19 (test_bitcoin+0x22ae74) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #4 coinstatsindex_tests::coinstatsindex_unclean_shutdown::test_method() src/test/coinstatsindex_tests.cpp:88:9 (test_bitcoin+0x467ecc) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #5 coinstatsindex_tests::coinstatsindex_unclean_shutdown_invoker() src/test/coinstatsindex_tests.cpp:81:1 (test_bitcoin+0x467454) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #6 boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:117:11 (test_bitcoin+0x310784) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #7 boost::function0<void>::operator()() const /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x29480c) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #8 boost::detail::forward::operator()() /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1388:32 (test_bitcoin+0x29480c)
    #9 boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:137:18 (test_bitcoin+0x29480c)
    #10 boost::function0<int>::operator()() const /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x2244dc) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #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&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:301:30 (test_bitcoin+0x2244dc)
    #12 boost::execution_monitor::catch_signals(boost::function<int ()> const&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:903:16 (test_bitcoin+0x2244dc)
    #13 boost::execution_monitor::execute(boost::function<int ()> const&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1301:16 (test_bitcoin+0x2247dc) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #14 boost::execution_monitor::vexecute(boost::function<void ()> const&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1397:5 (test_bitcoin+0x21df54) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #15 boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x21df54)
    #16 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:815:44 (test_bitcoin+0x24e860) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #17 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x24eed8) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #18 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x24eed8) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #19 boost::unit_test::framework::run(unsigned long, bool) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:1722:29 (test_bitcoin+0x21cf24) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #20 boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:250:9 (test_bitcoin+0x237520) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #21 main /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:306:12 (test_bitcoin+0x237ad0) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)

  Location is global 'std::__1::cout' of size 160 at 0xff5dfa926358 (libc++.so.1+0x116368)

  Mutex M0 (0xff5df2e030c0) created at:
    #0 pthread_mutex_lock <null> (test_bitcoin+0x1786a8) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #1 std::__1::mutex::lock() <null> (libc++.so.1+0x517f8) (BuildId: ffe23b881fe5b28d5e89993f80d2cd44feb10104)
    #2 SeedInsecureRand(SeedRand) src/./test/util/random.h:41:9 (test_bitcoin+0xbb1534) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #3 BasicTestingSetup::BasicTestingSetup(ChainType, std::__1::vector<char const*, std::__1::allocator<char const*>> const&) src/test/util/setup_common.cpp:184:5 (test_bitcoin+0xbb1534)
    #4 ChainTestingSetup::ChainTestingSetup(ChainType, std::__1::vector<char const*, std::__1::allocator<char const*>> const&) src/test/util/setup_common.cpp:221:7 (test_bitcoin+0xbb2360) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #5 TestingSetup::TestingSetup(ChainType, std::__1::vector<char const*, std::__1::allocator<char const*>> const&, bool, bool) src/test/util/setup_common.cpp:304:7 (test_bitcoin+0xbb3420) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #6 TestChain100Setup::TestChain100Setup(ChainType, std::__1::vector<char const*, std::__1::allocator<char const*>> const&, bool, bool) src/test/util/setup_common.cpp:339:7 (test_bitcoin+0xbb3a5c) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #7 coinstatsindex_tests::coinstatsindex_unclean_shutdown::coinstatsindex_unclean_shutdown() src/test/coinstatsindex_tests.cpp:81:1 (test_bitcoin+0x466e48) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #8 coinstatsindex_tests::coinstatsindex_unclean_shutdown_invoker() src/test/coinstatsindex_tests.cpp:81:1 (test_bitcoin+0x466e48)
    #9 boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:117:11 (test_bitcoin+0x310784) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #10 boost::function0<void>::operator()() const /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x29480c) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #11 boost::detail::forward::operator()() /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1388:32 (test_bitcoin+0x29480c)
    #12 boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:137:18 (test_bitcoin+0x29480c)
    #13 boost::function0<int>::operator()() const /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x2244dc) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #14 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&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:301:30 (test_bitcoin+0x2244dc)
    #15 boost::execution_monitor::catch_signals(boost::function<int ()> const&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:903:16 (test_bitcoin+0x2244dc)
    #16 boost::execution_monitor::execute(boost::function<int ()> const&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1301:16 (test_bitcoin+0x2247dc) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #17 boost::execution_monitor::vexecute(boost::function<void ()> const&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1397:5 (test_bitcoin+0x21df54) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #18 boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x21df54)
    #19 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:815:44 (test_bitcoin+0x24e860) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #20 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x24eed8) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #21 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x24eed8) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #22 boost::unit_test::framework::run(unsigned long, bool) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:1722:29 (test_bitcoin+0x21cf24) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #23 boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:250:9 (test_bitcoin+0x237520) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #24 main /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:306:12 (test_bitcoin+0x237ad0) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)

  Thread T4 'b-coinstatsinde' (tid=35873, running) created by main thread at:
    #0 pthread_create <null> (test_bitcoin+0x1766c8) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #1 std::__1::__libcpp_thread_create[abi:ue170006](unsigned long*, void* (*)(void*), void*) /usr/lib/llvm-17/bin/../include/c++/v1/__threading_support:371:10 (test_bitcoin+0xe5c2cc) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #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::StartBackgroundSync()::$_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::StartBackgroundSync()::$_0&&) /usr/lib/llvm-17/bin/../include/c++/v1/__thread/thread.h:248:16 (test_bitcoin+0xe5c2cc)
    #3 BaseIndex::StartBackgroundSync() src/index/base.cpp:394:21 (test_bitcoin+0xe5c2cc)
    #4 coinstatsindex_tests::coinstatsindex_unclean_shutdown::test_method() src/test/coinstatsindex_tests.cpp:88:9 (test_bitcoin+0x467e40) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #5 coinstatsindex_tests::coinstatsindex_unclean_shutdown_invoker() src/test/coinstatsindex_tests.cpp:81:1 (test_bitcoin+0x467454) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #6 boost::detail::function::void_function_invoker0<void (*)(), void>::invoke(boost::detail::function::function_buffer&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:117:11 (test_bitcoin+0x310784) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #7 boost::function0<void>::operator()() const /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x29480c) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #8 boost::detail::forward::operator()() /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1388:32 (test_bitcoin+0x29480c)
    #9 boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:137:18 (test_bitcoin+0x29480c)
    #10 boost::function0<int>::operator()() const /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/function/function_template.hpp:763:14 (test_bitcoin+0x2244dc) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #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&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:301:30 (test_bitcoin+0x2244dc)
    #12 boost::execution_monitor::catch_signals(boost::function<int ()> const&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:903:16 (test_bitcoin+0x2244dc)
    #13 boost::execution_monitor::execute(boost::function<int ()> const&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1301:16 (test_bitcoin+0x2247dc) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #14 boost::execution_monitor::vexecute(boost::function<void ()> const&) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/execution_monitor.ipp:1397:5 (test_bitcoin+0x21df54) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #15 boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned long) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_monitor.ipp:49:9 (test_bitcoin+0x21df54)
    #16 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:815:44 (test_bitcoin+0x24e860) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #17 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x24eed8) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #18 boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned long, boost::unit_test::framework::state::random_generator_helper const*) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:784:58 (test_bitcoin+0x24eed8) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #19 boost::unit_test::framework::run(unsigned long, bool) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/framework.ipp:1722:29 (test_bitcoin+0x21cf24) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #20 boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:250:9 (test_bitcoin+0x237520) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)
    #21 main /ci_container_base/depends/aarch64-unknown-linux-gnu/include/boost/test/impl/unit_test_main.ipp:306:12 (test_bitcoin+0x237ad0) (BuildId: f34e9dc99b9cee8e5287ddca9018e74b31bb4330)

SUMMARY: ThreadSanitizer: data race /usr/lib/llvm-17/bin/../include/c++/v1/ios:475:12 in std::__1::ios_base::flags[abi:ue170006]() const
==================
make[3]: *** [Makefile:23057: test/coinstatsindex_tests.cpp.test] Error 1
make[3]: Leaving directory '/ci_container_base/ci/scratch/build/bitcoin-aarch64-unknown-linux-gnu/src'
make[2]: *** [Makefile:20957: check-am] Error 2
make[2]: Leaving directory '/ci_container_base/ci/scratch/build/bitcoin-aarch64-unknown-linux-gnu/src'
make[1]: *** [Makefile:20622: check-recursive] Error 1
make[1]: Leaving directory '/ci_container_base/ci/scratch/build/bitcoin-aarch64-unknown-linux-gnu/src'
make: *** [Makefile:813: check-recursive] Error 1

real	28m38.282s
user	0m30.357s
sys	0m29.373s

@fanquake fanquake merged commit b8b0d64 into bitcoin:master Mar 27, 2024
16 checks passed
@maflcko maflcko deleted the 2403-ci-tsan-err- branch March 27, 2024 11:10
fanquake pushed a commit to fanquake/bitcoin that referenced this pull request Apr 3, 2024
@fanquake
Copy link
Member

fanquake commented Apr 3, 2024

Pulled this into 27.x in #29780.

fanquake added a commit that referenced this pull request Apr 15, 2024
910e3e8 doc: update manual pages for v27.0 (fanquake)
2d2a0a3 build: bump version to v27.0 final (fanquake)
9442ea8 doc: import release notes from devwiki (fanquake)
fe51ace Update the developer mailing list address. (Edil Medeiros)
bde54b7 ci: Print tsan errors to stderr (MarcoFalke)
753c68d ci: Pull in qtbase5-dev instead of seperate low-level libraries (laanwj)
c4da61b doc: Suggest installing dev packages for debian/ubuntu qt5 build (laanwj)

Pull request description:

  Currently backports:
  * #29740
  * #29764
  * #29782

  Pulls release notes:  https://github.com/bitcoin-core/bitcoin-devwiki/wiki/27.0-Release-Notes-Draft.
  Finalizes `v27.0`.

ACKs for top commit:
  achow101:
    ACK 910e3e8
  stickies-v:
    ACK 910e3e8 - no changes except addressing nits

Tree-SHA512: 5dd8c6adaab154699f8ad9a5bda26de54901d3d1d09034a5a6775a37f12b44274d2d5ce6e1a527a6c211b56a75fe154f3ccb37bcbc39882be8299a4f127bfe30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants