Skip to content

Instantly share code, notes, and snippets.

@wezrule
Created June 7, 2019 16:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wezrule/2e3ee5bf2dcd196a40a94fdc2d18da82 to your computer and use it in GitHub Desktop.
Save wezrule/2e3ee5bf2dcd196a40a94fdc2d18da82 to your computer and use it in GitHub Desktop.
node.node_receive_quorum TSAN option Clang/Mac
[ RUN ] node.node_receive_quorum
2019-06-07 13:46:37.565155+0100 atos[2278:33749] examining /Users/USER/Library/raiblocks/*/core_test [2272]
==================
[1m[31mWARNING: ThreadSanitizer: data race (pid=2272)
[1m[0m[1m[34m Write of size 8 at 0x7b8800000230 by main thread:
[1m[0m #0 std::__1::__shared_count::__shared_count(long) memory:3526 (core_test:x86_64+0x101653ca2)
#1 std::__1::__shared_weak_count::__shared_weak_count(long) memory:3560 (core_test:x86_64+0x1016537e2)
#2 std::__1::__shared_ptr_emplace<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__shared_ptr_emplace<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:3667 (core_test:x86_64+0x10165e43b)
#3 std::__1::__shared_ptr_emplace<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__shared_ptr_emplace<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:3669 (core_test:x86_64+0x10165ddd8)
#4 std::__1::shared_ptr<nano::send_block> std::__1::shared_ptr<nano::send_block>::allocate_shared<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:4347 (core_test:x86_64+0x10165daee)
#5 std::__1::enable_if<!(is_array<nano::send_block>::value), std::__1::shared_ptr<nano::send_block> >::type std::__1::allocate_shared<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:4718 (core_test:x86_64+0x10165d924)
#6 std::__1::shared_ptr<nano::send_block> nano::make_shared<nano::send_block, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory.hpp:51 (core_test:x86_64+0x10165d77a)
#7 std::__1::shared_ptr<nano::send_block> (anonymous namespace)::deserialize_block<nano::send_block>(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&) blocks.cpp:24 (core_test:x86_64+0x101642903)
#8 nano::deserialize_block(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type, nano::block_uniquer*) blocks.cpp:1286 (core_test:x86_64+0x1016424c0)
#9 nano::mdb_store::block_get(nano::transaction const&, nano::uint256_union const&, nano::block_sideband*) const lmdb.cpp:1682 (core_test:x86_64+0x100dedf20)
#10 nano::mdb_store::block_account(nano::transaction const&, nano::uint256_union const&) const lmdb.cpp:1849 (core_test:x86_64+0x100df0866)
#11 nano::ledger::account(nano::transaction const&, nano::uint256_union const&) const ledger.cpp:871 (core_test:x86_64+0x10155b31b)
#12 nano::node::process_confirmed(std::__1::shared_ptr<nano::block>, unsigned char) node.cpp:1531 (core_test:x86_64+0x100f99991)
#13 nano::election::confirm_once()::$_1::operator()() const election.cpp:45 (core_test:x86_64+0x100c70cf2)
#14 void boost::asio::asio_handler_invoke<nano::election::confirm_once()::$_1>(nano::election::confirm_once()::$_1&, ...) handler_invoke_hook.hpp:69 (core_test:x86_64+0x100c70c58)
#15 void boost_asio_handler_invoke_helpers::invoke<nano::election::confirm_once()::$_1, nano::election::confirm_once()::$_1>(nano::election::confirm_once()::$_1&, nano::election::confirm_once()::$_1&) handler_invoke_helpers.hpp:37 (core_test:x86_64+0x100c70c03)
#16 void boost::asio::detail::handler_work<nano::election::confirm_once()::$_1, boost::asio::system_executor>::complete<nano::election::confirm_once()::$_1>(nano::election::confirm_once()::$_1&, nano::election::confirm_once()::$_1&) handler_work.hpp:82 (core_test:x86_64+0x100c70934)
#17 boost::asio::detail::completion_handler<nano::election::confirm_once()::$_1>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) completion_handler.hpp:70 (core_test:x86_64+0x100c705cd)
#18 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) scheduler_operation.hpp:40 (core_test:x86_64+0x1004b3c57)
#19 boost::asio::detail::scheduler::do_wait_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, long, boost::system::error_code const&) scheduler.ipp:481 (core_test:x86_64+0x10097b846)
#20 boost::asio::detail::scheduler::wait_one(long, boost::system::error_code&) scheduler.ipp:193 (core_test:x86_64+0x10097abd1)
#21 unsigned long boost::asio::io_context::run_one_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) io_context.hpp:110 (core_test:x86_64+0x10097a684)
#22 unsigned long boost::asio::io_context::run_one_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) io_context.hpp:95 (core_test:x86_64+0x10124e7c7)
#23 nano::system::poll(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) testing.cpp:169 (core_test:x86_64+0x10124cdef)
#24 node_node_receive_quorum_Test::TestBody() node.cpp:222 (core_test:x86_64+0x10058586f)
#25 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015f6ac6)
#26 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015a191e)
#27 testing::Test::Run() gtest.cc:2517 (core_test:x86_64+0x1015a17ae)
#28 testing::TestInfo::Run() gtest.cc:2693 (core_test:x86_64+0x1015a32ae)
#29 testing::TestCase::Run() gtest.cc:2811 (core_test:x86_64+0x1015a4c6a)
#30 testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5177 (core_test:x86_64+0x1015b5e56)
#31 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015fe2d6)
#32 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015b561e)
#33 testing::UnitTest::Run() gtest.cc:4786 (core_test:x86_64+0x1015b53c9)
#34 RUN_ALL_TESTS() gtest.h:2341 (core_test:x86_64+0x1001c7057)
#35 main core_test_main.cc:18 (core_test:x86_64+0x1001c6f96)
[1m[34m Previous atomic write of size 8 at 0x7b8800000230 by thread T90 (mutexes: write M985861295565876888):
[1m[0m #0 __tsan_atomic64_fetch_add <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64+0x44a3d)
#1 long std::__1::__libcpp_atomic_refcount_decrement<long>(long&) memory:3486 (core_test:x86_64+0x100028f40)
#2 std::__1::__shared_count::__release_shared() memory:3539 (core_test:x86_64+0x100028eb6)
#3 std::__1::__shared_weak_count::__release_shared() memory:3582 (core_test:x86_64+0x100028e52)
#4 std::__1::shared_ptr<nano::block>::~shared_ptr() memory:4518 (core_test:x86_64+0x100028e12)
#5 std::__1::shared_ptr<nano::block>::~shared_ptr() memory:4516 (core_test:x86_64+0x100007218)
#6 nano::unchecked_info::~unchecked_info() common.hpp:179 (core_test:x86_64+0x1001348a8)
#7 nano::unchecked_info::~unchecked_info() common.hpp:179 (core_test:x86_64+0x100134868)
#8 nano::block_processor::process_batch(std::__1::unique_lock<std::__1::mutex>&) blockprocessor.cpp:337 (core_test:x86_64+0x100a66bf0)
#9 nano::block_processor::process_blocks() blockprocessor.cpp:103 (core_test:x86_64+0x100a65150)
#10 nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2::operator()() const node.cpp:222 (core_test:x86_64+0x10105df2a)
#11 boost::detail::thread_data<nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2>::run() thread.hpp:117 (core_test:x86_64+0x10105de5f)
#12 boost::(anonymous namespace)::thread_proxy(void*) thread.cpp:177 (core_test:x86_64+0x101ab29d7)
[1m[32m Location is heap block of size 5904 at 0x7b8800000000 allocated by main thread:
[1m[0m #0 operator new[](unsigned long, std::nothrow_t const&) <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64+0x6d28a)
#1 boost::default_user_allocator_new_delete::malloc(unsigned long) pool.hpp:97 (core_test:x86_64+0x1003be8cf)
#2 boost::pool<boost::default_user_allocator_new_delete>::malloc_need_resize() pool.hpp:693 (core_test:x86_64+0x1003be382)
#3 boost::pool<boost::default_user_allocator_new_delete>::malloc() pool.hpp:431 (core_test:x86_64+0x1003be18c)
#4 boost::singleton_pool<boost::fast_pool_allocator_tag, 184u, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>::malloc() singleton_pool.hpp:137 (core_test:x86_64+0x1003c7c88)
#5 boost::fast_pool_allocator<std::__1::__shared_ptr_emplace<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>::allocate(unsigned long) pool_alloc.hpp:439 (core_test:x86_64+0x1003c7542)
#6 std::__1::shared_ptr<nano::send_block> std::__1::shared_ptr<nano::send_block>::allocate_shared<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:4345 (core_test:x86_64+0x10165da59)
#7 std::__1::enable_if<!(is_array<nano::send_block>::value), std::__1::shared_ptr<nano::send_block> >::type std::__1::allocate_shared<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:4718 (core_test:x86_64+0x10165d924)
#8 std::__1::shared_ptr<nano::send_block> nano::make_shared<nano::send_block, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory.hpp:51 (core_test:x86_64+0x10165d77a)
#9 std::__1::shared_ptr<nano::send_block> (anonymous namespace)::deserialize_block<nano::send_block>(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&) blocks.cpp:24 (core_test:x86_64+0x101642903)
#10 nano::deserialize_block(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type, nano::block_uniquer*) blocks.cpp:1286 (core_test:x86_64+0x1016424c0)
#11 nano::vote::vote(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type, nano::block_uniquer*) common.cpp:458 (core_test:x86_64+0x101530b6c)
#12 nano::vote::vote(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type, nano::block_uniquer*) common.cpp:441 (core_test:x86_64+0x1015313d7)
#13 std::__1::__compressed_pair_elem<nano::vote, 1, false>::__compressed_pair_elem<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&, 0ul, 1ul, 2ul>(std::__1::piecewise_construct_t, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>, std::__1::__tuple_indices<0ul, 1ul, 2ul>) memory:2153 (core_test:x86_64+0x100c13a76)
#14 std::__1::__compressed_pair<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, nano::vote>::__compressed_pair<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>(std::__1::piecewise_construct_t, std::__1::tuple<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&>, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>) memory:2255 (core_test:x86_64+0x100c138d1)
#15 std::__1::__compressed_pair<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, nano::vote>::__compressed_pair<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>(std::__1::piecewise_construct_t, std::__1::tuple<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&>, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>) memory:2256 (core_test:x86_64+0x100c1325d)
#16 std::__1::__shared_ptr_emplace<nano::vote, boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__shared_ptr_emplace<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory:3668 (core_test:x86_64+0x100c130d3)
#17 std::__1::__shared_ptr_emplace<nano::vote, boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__shared_ptr_emplace<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory:3669 (core_test:x86_64+0x100c12748)
#18 std::__1::shared_ptr<nano::vote> std::__1::shared_ptr<nano::vote>::allocate_shared<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory:4347 (core_test:x86_64+0x100c1244d)
#19 std::__1::enable_if<!(is_array<nano::vote>::value), std::__1::shared_ptr<nano::vote> >::type std::__1::allocate_shared<nano::vote, boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory:4718 (core_test:x86_64+0x100c121b4)
#20 std::__1::shared_ptr<nano::vote> nano::make_shared<nano::vote, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory.hpp:51 (core_test:x86_64+0x100bfd42a)
#21 nano::confirm_ack::confirm_ack(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::message_header const&, nano::vote_uniquer*) common.cpp:685 (core_test:x86_64+0x100bfd256)
#22 nano::confirm_ack::confirm_ack(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::message_header const&, nano::vote_uniquer*) common.cpp:686 (core_test:x86_64+0x100bfa258)
#23 message_confirm_ack_serialization_Test::TestBody() message.cpp:82 (core_test:x86_64+0x1003e6fc9)
#24 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015f6ac6)
#25 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015a191e)
#26 testing::Test::Run() gtest.cc:2517 (core_test:x86_64+0x1015a17ae)
#27 testing::TestInfo::Run() gtest.cc:2693 (core_test:x86_64+0x1015a32ae)
#28 testing::TestCase::Run() gtest.cc:2811 (core_test:x86_64+0x1015a4c6a)
#29 testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5177 (core_test:x86_64+0x1015b5e56)
#30 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015fe2d6)
#31 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015b561e)
#32 testing::UnitTest::Run() gtest.cc:4786 (core_test:x86_64+0x1015b53c9)
#33 RUN_ALL_TESTS() gtest.h:2341 (core_test:x86_64+0x1001c7057)
#34 main core_test_main.cc:18 (core_test:x86_64+0x1001c6f96)
[1m[35m Mutex M985861295565876888 is already destroyed.
[1m[0m[1m[36m Thread T90 (tid=33717, running) created by main thread at:
[1m[0m #0 pthread_create <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64+0x28a3d)
#1 boost::thread::start_thread_noexcept() thread.cpp:261 (core_test:x86_64+0x101ab290d)
#2 boost::thread::thread<nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2>(nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2&&) thread.hpp:266 (core_test:x86_64+0x10105d9cd)
#3 boost::thread::thread<nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2>(nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2&&) thread.hpp:265 (core_test:x86_64+0x100f8b638)
#4 nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool) node.cpp:220 (core_test:x86_64+0x100f8852f)
#5 nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool) node.cpp:233 (core_test:x86_64+0x100f8ae3a)
#6 std::__1::__compressed_pair_elem<nano::node, 1, false>::__compressed_pair_elem<nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::__1::piecewise_construct_t, std::__1::tuple<nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>, std::__1::__tuple_indices<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) memory:2153 (core_test:x86_64+0x10126c674)
#7 std::__1::__compressed_pair<std::__1::allocator<nano::node>, nano::node>::__compressed_pair<std::__1::allocator<nano::node>&, nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<nano::node>&>, std::__1::tuple<nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>) memory:2255 (core_test:x86_64+0x10126c407)
#8 std::__1::__compressed_pair<std::__1::allocator<nano::node>, nano::node>::__compressed_pair<std::__1::allocator<nano::node>&, nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<nano::node>&>, std::__1::tuple<nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>) memory:2256 (core_test:x86_64+0x10126b7d8)
#9 std::__1::__shared_ptr_emplace<nano::node, std::__1::allocator<nano::node> >::__shared_ptr_emplace<nano::node_init&, boost::asio::io_context&, boost::filesystem::path, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool&>(std::__1::allocator<nano::node>, nano::node_init&&&, boost::asio::io_context&&&, boost::filesystem::path&&, nano::alarm&&&, nano::node_config const&&&, nano::work_pool&&&, nano::node_flags&&, bool&&&) memory:3668 (core_test:x86_64+0x10126b4a8)
#10 std::__1::__shared_ptr_emplace<nano::node, std::__1::allocator<nano::node> >::__shared_ptr_emplace<nano::node_init&, boost::asio::io_context&, boost::filesystem::path, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool&>(std::__1::allocator<nano::node>, nano::node_init&&&, boost::asio::io_context&&&, boost::filesystem::path&&, nano::alarm&&&, nano::node_config const&&&, nano::work_pool&&&, nano::node_flags&&, bool&&&) memory:3669 (core_test:x86_64+0x10126ab46)
#11 std::__1::shared_ptr<nano::node> std::__1::shared_ptr<nano::node>::make_shared<nano::node_init&, boost::asio::io_context&, boost::filesystem::path, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool&>(nano::node_init&&&, boost::asio::io_context&&&, boost::filesystem::path&&, nano::alarm&&&, nano::node_config const&&&, nano::work_pool&&&, nano::node_flags&&, bool&&&) memory:4327 (core_test:x86_64+0x10126a4fe)
#12 std::__1::enable_if<!(is_array<nano::node>::value), std::__1::shared_ptr<nano::node> >::type std::__1::make_shared<nano::node, nano::node_init&, boost::asio::io_context&, boost::filesystem::path, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool&>(nano::node_init&&&, boost::asio::io_context&&&, boost::filesystem::path&&, nano::alarm&&&, nano::node_config const&&&, nano::work_pool&&&, nano::node_flags&&, bool&&&) memory:4706 (core_test:x86_64+0x10124c63c)
#13 nano::system::add_node(nano::node_config const&, bool, nano::transport::transport_type) testing.cpp:29 (core_test:x86_64+0x10124ba0f)
#14 nano::system::system(unsigned short, unsigned short, nano::transport::transport_type) testing.cpp:118 (core_test:x86_64+0x10124dbdb)
#15 node_node_receive_quorum_Test::TestBody() node.cpp:192 (core_test:x86_64+0x100583a74)
#16 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015f6ac6)
#17 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015a191e)
#18 testing::Test::Run() gtest.cc:2517 (core_test:x86_64+0x1015a17ae)
#19 testing::TestInfo::Run() gtest.cc:2693 (core_test:x86_64+0x1015a32ae)
#20 testing::TestCase::Run() gtest.cc:2811 (core_test:x86_64+0x1015a4c6a)
#21 testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5177 (core_test:x86_64+0x1015b5e56)
#22 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015fe2d6)
#23 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015b561e)
#24 testing::UnitTest::Run() gtest.cc:4786 (core_test:x86_64+0x1015b53c9)
#25 RUN_ALL_TESTS() gtest.h:2341 (core_test:x86_64+0x1001c7057)
#26 main core_test_main.cc:18 (core_test:x86_64+0x1001c6f96)
SUMMARY: ThreadSanitizer: data race memory:3526 in std::__1::__shared_count::__shared_count(long)
==================
ThreadSanitizer report breakpoint hit. Use 'thread info -s' to get extended information about the report.
==================
[1m[31mWARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=2272)
[1m[0m[1m[34m Write of size 8 at 0x7b8800000240 by main thread:
[1m[0m #0 nano::block::block() blocks.hpp:56 (core_test:x86_64+0x1003c1ba0)
#1 nano::send_block::send_block(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&) blocks.cpp:298 (core_test:x86_64+0x101637be4)
#2 nano::send_block::send_block(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&) blocks.cpp:300 (core_test:x86_64+0x101637d58)
#3 std::__1::__compressed_pair_elem<nano::send_block, 1, false>::__compressed_pair_elem<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, 0ul, 1ul>(std::__1::piecewise_construct_t, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>, std::__1::__tuple_indices<0ul, 1ul>) memory:2153 (core_test:x86_64+0x10165e9fc)
#4 std::__1::__compressed_pair<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, nano::send_block>::__compressed_pair<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(std::__1::piecewise_construct_t, std::__1::tuple<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&>, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>) memory:2255 (core_test:x86_64+0x10165e8b2)
#5 std::__1::__compressed_pair<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, nano::send_block>::__compressed_pair<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(std::__1::piecewise_construct_t, std::__1::tuple<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&>, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>) memory:2256 (core_test:x86_64+0x10165e5b8)
#6 std::__1::__shared_ptr_emplace<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__shared_ptr_emplace<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:3668 (core_test:x86_64+0x10165e4bb)
#7 std::__1::__shared_ptr_emplace<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__shared_ptr_emplace<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:3669 (core_test:x86_64+0x10165ddd8)
#8 std::__1::shared_ptr<nano::send_block> std::__1::shared_ptr<nano::send_block>::allocate_shared<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:4347 (core_test:x86_64+0x10165daee)
#9 std::__1::enable_if<!(is_array<nano::send_block>::value), std::__1::shared_ptr<nano::send_block> >::type std::__1::allocate_shared<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:4718 (core_test:x86_64+0x10165d924)
#10 std::__1::shared_ptr<nano::send_block> nano::make_shared<nano::send_block, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory.hpp:51 (core_test:x86_64+0x10165d77a)
#11 std::__1::shared_ptr<nano::send_block> (anonymous namespace)::deserialize_block<nano::send_block>(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&) blocks.cpp:24 (core_test:x86_64+0x101642903)
#12 nano::deserialize_block(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type, nano::block_uniquer*) blocks.cpp:1286 (core_test:x86_64+0x1016424c0)
#13 nano::mdb_store::block_get(nano::transaction const&, nano::uint256_union const&, nano::block_sideband*) const lmdb.cpp:1682 (core_test:x86_64+0x100dedf20)
#14 nano::mdb_store::block_account(nano::transaction const&, nano::uint256_union const&) const lmdb.cpp:1849 (core_test:x86_64+0x100df0866)
#15 nano::ledger::account(nano::transaction const&, nano::uint256_union const&) const ledger.cpp:871 (core_test:x86_64+0x10155b31b)
#16 nano::node::process_confirmed(std::__1::shared_ptr<nano::block>, unsigned char) node.cpp:1531 (core_test:x86_64+0x100f99991)
#17 nano::election::confirm_once()::$_1::operator()() const election.cpp:45 (core_test:x86_64+0x100c70cf2)
#18 void boost::asio::asio_handler_invoke<nano::election::confirm_once()::$_1>(nano::election::confirm_once()::$_1&, ...) handler_invoke_hook.hpp:69 (core_test:x86_64+0x100c70c58)
#19 void boost_asio_handler_invoke_helpers::invoke<nano::election::confirm_once()::$_1, nano::election::confirm_once()::$_1>(nano::election::confirm_once()::$_1&, nano::election::confirm_once()::$_1&) handler_invoke_helpers.hpp:37 (core_test:x86_64+0x100c70c03)
#20 void boost::asio::detail::handler_work<nano::election::confirm_once()::$_1, boost::asio::system_executor>::complete<nano::election::confirm_once()::$_1>(nano::election::confirm_once()::$_1&, nano::election::confirm_once()::$_1&) handler_work.hpp:82 (core_test:x86_64+0x100c70934)
#21 boost::asio::detail::completion_handler<nano::election::confirm_once()::$_1>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) completion_handler.hpp:70 (core_test:x86_64+0x100c705cd)
#22 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) scheduler_operation.hpp:40 (core_test:x86_64+0x1004b3c57)
#23 boost::asio::detail::scheduler::do_wait_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, long, boost::system::error_code const&) scheduler.ipp:481 (core_test:x86_64+0x10097b846)
#24 boost::asio::detail::scheduler::wait_one(long, boost::system::error_code&) scheduler.ipp:193 (core_test:x86_64+0x10097abd1)
#25 unsigned long boost::asio::io_context::run_one_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) io_context.hpp:110 (core_test:x86_64+0x10097a684)
#26 unsigned long boost::asio::io_context::run_one_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) io_context.hpp:95 (core_test:x86_64+0x10124e7c7)
#27 nano::system::poll(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) testing.cpp:169 (core_test:x86_64+0x10124cdef)
#28 node_node_receive_quorum_Test::TestBody() node.cpp:222 (core_test:x86_64+0x10058586f)
#29 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015f6ac6)
#30 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015a191e)
#31 testing::Test::Run() gtest.cc:2517 (core_test:x86_64+0x1015a17ae)
#32 testing::TestInfo::Run() gtest.cc:2693 (core_test:x86_64+0x1015a32ae)
#33 testing::TestCase::Run() gtest.cc:2811 (core_test:x86_64+0x1015a4c6a)
#34 testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5177 (core_test:x86_64+0x1015b5e56)
#35 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015fe2d6)
#36 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015b561e)
#37 testing::UnitTest::Run() gtest.cc:4786 (core_test:x86_64+0x1015b53c9)
#38 RUN_ALL_TESTS() gtest.h:2341 (core_test:x86_64+0x1001c7057)
#39 main core_test_main.cc:18 (core_test:x86_64+0x1001c6f96)
[1m[34m Previous read of size 8 at 0x7b8800000240 by thread T90 (mutexes: write M985861295565876888):
[1m[0m #0 std::__1::__shared_ptr_emplace<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__on_zero_shared() memory:3706 (core_test:x86_64+0x1003c8468)
#1 std::__1::__shared_count::__release_shared() memory:3540 (core_test:x86_64+0x100028ecd)
#2 std::__1::__shared_weak_count::__release_shared() memory:3582 (core_test:x86_64+0x100028e52)
#3 std::__1::shared_ptr<nano::block>::~shared_ptr() memory:4518 (core_test:x86_64+0x100028e12)
#4 std::__1::shared_ptr<nano::block>::~shared_ptr() memory:4516 (core_test:x86_64+0x100007218)
#5 nano::unchecked_info::~unchecked_info() common.hpp:179 (core_test:x86_64+0x1001348a8)
#6 nano::unchecked_info::~unchecked_info() common.hpp:179 (core_test:x86_64+0x100134868)
#7 nano::block_processor::process_batch(std::__1::unique_lock<std::__1::mutex>&) blockprocessor.cpp:337 (core_test:x86_64+0x100a66bf0)
#8 nano::block_processor::process_blocks() blockprocessor.cpp:103 (core_test:x86_64+0x100a65150)
#9 nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2::operator()() const node.cpp:222 (core_test:x86_64+0x10105df2a)
#10 boost::detail::thread_data<nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2>::run() thread.hpp:117 (core_test:x86_64+0x10105de5f)
#11 boost::(anonymous namespace)::thread_proxy(void*) thread.cpp:177 (core_test:x86_64+0x101ab29d7)
[1m[32m Location is heap block of size 5904 at 0x7b8800000000 allocated by main thread:
[1m[0m #0 operator new[](unsigned long, std::nothrow_t const&) <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64+0x6d28a)
#1 boost::default_user_allocator_new_delete::malloc(unsigned long) pool.hpp:97 (core_test:x86_64+0x1003be8cf)
#2 boost::pool<boost::default_user_allocator_new_delete>::malloc_need_resize() pool.hpp:693 (core_test:x86_64+0x1003be382)
#3 boost::pool<boost::default_user_allocator_new_delete>::malloc() pool.hpp:431 (core_test:x86_64+0x1003be18c)
#4 boost::singleton_pool<boost::fast_pool_allocator_tag, 184u, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>::malloc() singleton_pool.hpp:137 (core_test:x86_64+0x1003c7c88)
#5 boost::fast_pool_allocator<std::__1::__shared_ptr_emplace<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>::allocate(unsigned long) pool_alloc.hpp:439 (core_test:x86_64+0x1003c7542)
#6 std::__1::shared_ptr<nano::send_block> std::__1::shared_ptr<nano::send_block>::allocate_shared<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:4345 (core_test:x86_64+0x10165da59)
#7 std::__1::enable_if<!(is_array<nano::send_block>::value), std::__1::shared_ptr<nano::send_block> >::type std::__1::allocate_shared<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:4718 (core_test:x86_64+0x10165d924)
#8 std::__1::shared_ptr<nano::send_block> nano::make_shared<nano::send_block, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory.hpp:51 (core_test:x86_64+0x10165d77a)
#9 std::__1::shared_ptr<nano::send_block> (anonymous namespace)::deserialize_block<nano::send_block>(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&) blocks.cpp:24 (core_test:x86_64+0x101642903)
#10 nano::deserialize_block(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type, nano::block_uniquer*) blocks.cpp:1286 (core_test:x86_64+0x1016424c0)
#11 nano::vote::vote(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type, nano::block_uniquer*) common.cpp:458 (core_test:x86_64+0x101530b6c)
#12 nano::vote::vote(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type, nano::block_uniquer*) common.cpp:441 (core_test:x86_64+0x1015313d7)
#13 std::__1::__compressed_pair_elem<nano::vote, 1, false>::__compressed_pair_elem<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&, 0ul, 1ul, 2ul>(std::__1::piecewise_construct_t, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>, std::__1::__tuple_indices<0ul, 1ul, 2ul>) memory:2153 (core_test:x86_64+0x100c13a76)
#14 std::__1::__compressed_pair<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, nano::vote>::__compressed_pair<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>(std::__1::piecewise_construct_t, std::__1::tuple<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&>, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>) memory:2255 (core_test:x86_64+0x100c138d1)
#15 std::__1::__compressed_pair<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, nano::vote>::__compressed_pair<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>(std::__1::piecewise_construct_t, std::__1::tuple<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&>, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>) memory:2256 (core_test:x86_64+0x100c1325d)
#16 std::__1::__shared_ptr_emplace<nano::vote, boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__shared_ptr_emplace<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory:3668 (core_test:x86_64+0x100c130d3)
#17 std::__1::__shared_ptr_emplace<nano::vote, boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__shared_ptr_emplace<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory:3669 (core_test:x86_64+0x100c12748)
#18 std::__1::shared_ptr<nano::vote> std::__1::shared_ptr<nano::vote>::allocate_shared<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory:4347 (core_test:x86_64+0x100c1244d)
#19 std::__1::enable_if<!(is_array<nano::vote>::value), std::__1::shared_ptr<nano::vote> >::type std::__1::allocate_shared<nano::vote, boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory:4718 (core_test:x86_64+0x100c121b4)
#20 std::__1::shared_ptr<nano::vote> nano::make_shared<nano::vote, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory.hpp:51 (core_test:x86_64+0x100bfd42a)
#21 nano::confirm_ack::confirm_ack(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::message_header const&, nano::vote_uniquer*) common.cpp:685 (core_test:x86_64+0x100bfd256)
#22 nano::confirm_ack::confirm_ack(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::message_header const&, nano::vote_uniquer*) common.cpp:686 (core_test:x86_64+0x100bfa258)
#23 message_confirm_ack_serialization_Test::TestBody() message.cpp:82 (core_test:x86_64+0x1003e6fc9)
#24 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015f6ac6)
#25 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015a191e)
#26 testing::Test::Run() gtest.cc:2517 (core_test:x86_64+0x1015a17ae)
#27 testing::TestInfo::Run() gtest.cc:2693 (core_test:x86_64+0x1015a32ae)
#28 testing::TestCase::Run() gtest.cc:2811 (core_test:x86_64+0x1015a4c6a)
#29 testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5177 (core_test:x86_64+0x1015b5e56)
#30 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015fe2d6)
#31 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015b561e)
#32 testing::UnitTest::Run() gtest.cc:4786 (core_test:x86_64+0x1015b53c9)
#33 RUN_ALL_TESTS() gtest.h:2341 (core_test:x86_64+0x1001c7057)
#34 main core_test_main.cc:18 (core_test:x86_64+0x1001c6f96)
[1m[35m Mutex M985861295565876888 is already destroyed.
[1m[0m[1m[36m Thread T90 (tid=33717, running) created by main thread at:
[1m[0m #0 pthread_create <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64+0x28a3d)
#1 boost::thread::start_thread_noexcept() thread.cpp:261 (core_test:x86_64+0x101ab290d)
#2 boost::thread::thread<nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2>(nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2&&) thread.hpp:266 (core_test:x86_64+0x10105d9cd)
#3 boost::thread::thread<nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2>(nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2&&) thread.hpp:265 (core_test:x86_64+0x100f8b638)
#4 nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool) node.cpp:220 (core_test:x86_64+0x100f8852f)
#5 nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool) node.cpp:233 (core_test:x86_64+0x100f8ae3a)
#6 std::__1::__compressed_pair_elem<nano::node, 1, false>::__compressed_pair_elem<nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::__1::piecewise_construct_t, std::__1::tuple<nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>, std::__1::__tuple_indices<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) memory:2153 (core_test:x86_64+0x10126c674)
#7 std::__1::__compressed_pair<std::__1::allocator<nano::node>, nano::node>::__compressed_pair<std::__1::allocator<nano::node>&, nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<nano::node>&>, std::__1::tuple<nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>) memory:2255 (core_test:x86_64+0x10126c407)
#8 std::__1::__compressed_pair<std::__1::allocator<nano::node>, nano::node>::__compressed_pair<std::__1::allocator<nano::node>&, nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<nano::node>&>, std::__1::tuple<nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>) memory:2256 (core_test:x86_64+0x10126b7d8)
#9 std::__1::__shared_ptr_emplace<nano::node, std::__1::allocator<nano::node> >::__shared_ptr_emplace<nano::node_init&, boost::asio::io_context&, boost::filesystem::path, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool&>(std::__1::allocator<nano::node>, nano::node_init&&&, boost::asio::io_context&&&, boost::filesystem::path&&, nano::alarm&&&, nano::node_config const&&&, nano::work_pool&&&, nano::node_flags&&, bool&&&) memory:3668 (core_test:x86_64+0x10126b4a8)
#10 std::__1::__shared_ptr_emplace<nano::node, std::__1::allocator<nano::node> >::__shared_ptr_emplace<nano::node_init&, boost::asio::io_context&, boost::filesystem::path, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool&>(std::__1::allocator<nano::node>, nano::node_init&&&, boost::asio::io_context&&&, boost::filesystem::path&&, nano::alarm&&&, nano::node_config const&&&, nano::work_pool&&&, nano::node_flags&&, bool&&&) memory:3669 (core_test:x86_64+0x10126ab46)
#11 std::__1::shared_ptr<nano::node> std::__1::shared_ptr<nano::node>::make_shared<nano::node_init&, boost::asio::io_context&, boost::filesystem::path, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool&>(nano::node_init&&&, boost::asio::io_context&&&, boost::filesystem::path&&, nano::alarm&&&, nano::node_config const&&&, nano::work_pool&&&, nano::node_flags&&, bool&&&) memory:4327 (core_test:x86_64+0x10126a4fe)
#12 std::__1::enable_if<!(is_array<nano::node>::value), std::__1::shared_ptr<nano::node> >::type std::__1::make_shared<nano::node, nano::node_init&, boost::asio::io_context&, boost::filesystem::path, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool&>(nano::node_init&&&, boost::asio::io_context&&&, boost::filesystem::path&&, nano::alarm&&&, nano::node_config const&&&, nano::work_pool&&&, nano::node_flags&&, bool&&&) memory:4706 (core_test:x86_64+0x10124c63c)
#13 nano::system::add_node(nano::node_config const&, bool, nano::transport::transport_type) testing.cpp:29 (core_test:x86_64+0x10124ba0f)
#14 nano::system::system(unsigned short, unsigned short, nano::transport::transport_type) testing.cpp:118 (core_test:x86_64+0x10124dbdb)
#15 node_node_receive_quorum_Test::TestBody() node.cpp:192 (core_test:x86_64+0x100583a74)
#16 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015f6ac6)
#17 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015a191e)
#18 testing::Test::Run() gtest.cc:2517 (core_test:x86_64+0x1015a17ae)
#19 testing::TestInfo::Run() gtest.cc:2693 (core_test:x86_64+0x1015a32ae)
#20 testing::TestCase::Run() gtest.cc:2811 (core_test:x86_64+0x1015a4c6a)
#21 testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5177 (core_test:x86_64+0x1015b5e56)
#22 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015fe2d6)
#23 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015b561e)
#24 testing::UnitTest::Run() gtest.cc:4786 (core_test:x86_64+0x1015b53c9)
#25 RUN_ALL_TESTS() gtest.h:2341 (core_test:x86_64+0x1001c7057)
#26 main core_test_main.cc:18 (core_test:x86_64+0x1001c6f96)
SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) blocks.hpp:56 in nano::block::block()
==================
ThreadSanitizer report breakpoint hit. Use 'thread info -s' to get extended information about the report.
==================
[1m[31mWARNING: ThreadSanitizer: data race (pid=2272)
[1m[0m[1m[34m Write of size 1 at 0x7b88000002d8 by main thread:
[1m[0m #0 std::__1::char_traits<unsigned char>::assign(unsigned char&, unsigned char const&) __string:84 (core_test:x86_64+0x1000782c1)
#1 std::__1::char_traits<unsigned char>::copy(unsigned char*, unsigned char const*, unsigned long) __string:181 (core_test:x86_64+0x100078167)
#2 std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >::xsgetn(unsigned char*, long) streambuf:415 (core_test:x86_64+0x10006f243)
#3 std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >::sgetn(unsigned char*, long) streambuf:202 (core_test:x86_64+0x10153cac8)
#4 bool nano::try_read<unsigned long long>(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, unsigned long long&) blocks.hpp:24 (core_test:x86_64+0x10153cb3f)
#5 void nano::read<unsigned long long>(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, unsigned long long&) blocks.hpp:31 (core_test:x86_64+0x10152d388)
#6 nano::send_block::send_block(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&) blocks.cpp:306 (core_test:x86_64+0x101637c6b)
#7 nano::send_block::send_block(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&) blocks.cpp:300 (core_test:x86_64+0x101637d58)
#8 std::__1::__compressed_pair_elem<nano::send_block, 1, false>::__compressed_pair_elem<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, 0ul, 1ul>(std::__1::piecewise_construct_t, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>, std::__1::__tuple_indices<0ul, 1ul>) memory:2153 (core_test:x86_64+0x10165e9fc)
#9 std::__1::__compressed_pair<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, nano::send_block>::__compressed_pair<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(std::__1::piecewise_construct_t, std::__1::tuple<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&>, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>) memory:2255 (core_test:x86_64+0x10165e8b2)
#10 std::__1::__compressed_pair<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, nano::send_block>::__compressed_pair<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(std::__1::piecewise_construct_t, std::__1::tuple<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&>, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>) memory:2256 (core_test:x86_64+0x10165e5b8)
#11 std::__1::__shared_ptr_emplace<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__shared_ptr_emplace<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:3668 (core_test:x86_64+0x10165e4bb)
#12 std::__1::__shared_ptr_emplace<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__shared_ptr_emplace<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:3669 (core_test:x86_64+0x10165ddd8)
#13 std::__1::shared_ptr<nano::send_block> std::__1::shared_ptr<nano::send_block>::allocate_shared<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:4347 (core_test:x86_64+0x10165daee)
#14 std::__1::enable_if<!(is_array<nano::send_block>::value), std::__1::shared_ptr<nano::send_block> >::type std::__1::allocate_shared<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:4718 (core_test:x86_64+0x10165d924)
#15 std::__1::shared_ptr<nano::send_block> nano::make_shared<nano::send_block, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory.hpp:51 (core_test:x86_64+0x10165d77a)
#16 std::__1::shared_ptr<nano::send_block> (anonymous namespace)::deserialize_block<nano::send_block>(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&) blocks.cpp:24 (core_test:x86_64+0x101642903)
#17 nano::deserialize_block(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type, nano::block_uniquer*) blocks.cpp:1286 (core_test:x86_64+0x1016424c0)
#18 nano::mdb_store::block_get(nano::transaction const&, nano::uint256_union const&, nano::block_sideband*) const lmdb.cpp:1682 (core_test:x86_64+0x100dedf20)
#19 nano::mdb_store::block_account(nano::transaction const&, nano::uint256_union const&) const lmdb.cpp:1849 (core_test:x86_64+0x100df0866)
#20 nano::ledger::account(nano::transaction const&, nano::uint256_union const&) const ledger.cpp:871 (core_test:x86_64+0x10155b31b)
#21 nano::node::process_confirmed(std::__1::shared_ptr<nano::block>, unsigned char) node.cpp:1531 (core_test:x86_64+0x100f99991)
#22 nano::election::confirm_once()::$_1::operator()() const election.cpp:45 (core_test:x86_64+0x100c70cf2)
#23 void boost::asio::asio_handler_invoke<nano::election::confirm_once()::$_1>(nano::election::confirm_once()::$_1&, ...) handler_invoke_hook.hpp:69 (core_test:x86_64+0x100c70c58)
#24 void boost_asio_handler_invoke_helpers::invoke<nano::election::confirm_once()::$_1, nano::election::confirm_once()::$_1>(nano::election::confirm_once()::$_1&, nano::election::confirm_once()::$_1&) handler_invoke_helpers.hpp:37 (core_test:x86_64+0x100c70c03)
#25 void boost::asio::detail::handler_work<nano::election::confirm_once()::$_1, boost::asio::system_executor>::complete<nano::election::confirm_once()::$_1>(nano::election::confirm_once()::$_1&, nano::election::confirm_once()::$_1&) handler_work.hpp:82 (core_test:x86_64+0x100c70934)
#26 boost::asio::detail::completion_handler<nano::election::confirm_once()::$_1>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) completion_handler.hpp:70 (core_test:x86_64+0x100c705cd)
#27 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) scheduler_operation.hpp:40 (core_test:x86_64+0x1004b3c57)
#28 boost::asio::detail::scheduler::do_wait_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, long, boost::system::error_code const&) scheduler.ipp:481 (core_test:x86_64+0x10097b846)
#29 boost::asio::detail::scheduler::wait_one(long, boost::system::error_code&) scheduler.ipp:193 (core_test:x86_64+0x10097abd1)
#30 unsigned long boost::asio::io_context::run_one_until<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) io_context.hpp:110 (core_test:x86_64+0x10097a684)
#31 unsigned long boost::asio::io_context::run_one_for<long long, std::__1::ratio<1l, 1000000000l> >(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) io_context.hpp:95 (core_test:x86_64+0x10124e7c7)
#32 nano::system::poll(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > const&) testing.cpp:169 (core_test:x86_64+0x10124cdef)
#33 node_node_receive_quorum_Test::TestBody() node.cpp:222 (core_test:x86_64+0x10058586f)
#34 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015f6ac6)
#35 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015a191e)
#36 testing::Test::Run() gtest.cc:2517 (core_test:x86_64+0x1015a17ae)
#37 testing::TestInfo::Run() gtest.cc:2693 (core_test:x86_64+0x1015a32ae)
#38 testing::TestCase::Run() gtest.cc:2811 (core_test:x86_64+0x1015a4c6a)
#39 testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5177 (core_test:x86_64+0x1015b5e56)
#40 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015fe2d6)
#41 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015b561e)
#42 testing::UnitTest::Run() gtest.cc:4786 (core_test:x86_64+0x1015b53c9)
#43 RUN_ALL_TESTS() gtest.h:2341 (core_test:x86_64+0x1001c7057)
#44 main core_test_main.cc:18 (core_test:x86_64+0x1001c6f96)
[1m[34m Previous read of size 8 at 0x7b88000002d8 by thread T90 (mutexes: write M986705720496010928):
[1m[0m #0 nano::send_block::block_work() const blocks.cpp:140 (core_test:x86_64+0x101635c59)
#1 nano::work_validate(nano::block const&, unsigned long long*) work.cpp:21 (core_test:x86_64+0x10176ba54)
#2 nano::active_transactions::update_difficulty(nano::block const&) active_transactions.cpp:517 (core_test:x86_64+0x1009ed93a)
#3 nano::block_processor::process_one(nano::transaction const&, nano::unchecked_info) blockprocessor.cpp:444 (core_test:x86_64+0x100a6b6d2)
#4 nano::block_processor::process_batch(std::__1::unique_lock<std::__1::mutex>&) blockprocessor.cpp:328 (core_test:x86_64+0x100a66aaa)
#5 nano::block_processor::process_blocks() blockprocessor.cpp:103 (core_test:x86_64+0x100a65150)
#6 nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2::operator()() const node.cpp:222 (core_test:x86_64+0x10105df2a)
#7 boost::detail::thread_data<nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2>::run() thread.hpp:117 (core_test:x86_64+0x10105de5f)
#8 boost::(anonymous namespace)::thread_proxy(void*) thread.cpp:177 (core_test:x86_64+0x101ab29d7)
[1m[32m Location is heap block of size 5904 at 0x7b8800000000 allocated by main thread:
[1m[0m #0 operator new[](unsigned long, std::nothrow_t const&) <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64+0x6d28a)
#1 boost::default_user_allocator_new_delete::malloc(unsigned long) pool.hpp:97 (core_test:x86_64+0x1003be8cf)
#2 boost::pool<boost::default_user_allocator_new_delete>::malloc_need_resize() pool.hpp:693 (core_test:x86_64+0x1003be382)
#3 boost::pool<boost::default_user_allocator_new_delete>::malloc() pool.hpp:431 (core_test:x86_64+0x1003be18c)
#4 boost::singleton_pool<boost::fast_pool_allocator_tag, 184u, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>::malloc() singleton_pool.hpp:137 (core_test:x86_64+0x1003c7c88)
#5 boost::fast_pool_allocator<std::__1::__shared_ptr_emplace<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>::allocate(unsigned long) pool_alloc.hpp:439 (core_test:x86_64+0x1003c7542)
#6 std::__1::shared_ptr<nano::send_block> std::__1::shared_ptr<nano::send_block>::allocate_shared<boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:4345 (core_test:x86_64+0x10165da59)
#7 std::__1::enable_if<!(is_array<nano::send_block>::value), std::__1::shared_ptr<nano::send_block> >::type std::__1::allocate_shared<nano::send_block, boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(boost::fast_pool_allocator<nano::send_block, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory:4718 (core_test:x86_64+0x10165d924)
#8 std::__1::shared_ptr<nano::send_block> nano::make_shared<nano::send_block, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&>(bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&) memory.hpp:51 (core_test:x86_64+0x10165d77a)
#9 std::__1::shared_ptr<nano::send_block> (anonymous namespace)::deserialize_block<nano::send_block>(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&) blocks.cpp:24 (core_test:x86_64+0x101642903)
#10 nano::deserialize_block(std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type, nano::block_uniquer*) blocks.cpp:1286 (core_test:x86_64+0x1016424c0)
#11 nano::vote::vote(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type, nano::block_uniquer*) common.cpp:458 (core_test:x86_64+0x101530b6c)
#12 nano::vote::vote(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type, nano::block_uniquer*) common.cpp:441 (core_test:x86_64+0x1015313d7)
#13 std::__1::__compressed_pair_elem<nano::vote, 1, false>::__compressed_pair_elem<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&, 0ul, 1ul, 2ul>(std::__1::piecewise_construct_t, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>, std::__1::__tuple_indices<0ul, 1ul, 2ul>) memory:2153 (core_test:x86_64+0x100c13a76)
#14 std::__1::__compressed_pair<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, nano::vote>::__compressed_pair<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>(std::__1::piecewise_construct_t, std::__1::tuple<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&>, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>) memory:2255 (core_test:x86_64+0x100c138d1)
#15 std::__1::__compressed_pair<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, nano::vote>::__compressed_pair<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>(std::__1::piecewise_construct_t, std::__1::tuple<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>&>, std::__1::tuple<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type&&>) memory:2256 (core_test:x86_64+0x100c1325d)
#16 std::__1::__shared_ptr_emplace<nano::vote, boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__shared_ptr_emplace<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory:3668 (core_test:x86_64+0x100c130d3)
#17 std::__1::__shared_ptr_emplace<nano::vote, boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> >::__shared_ptr_emplace<bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory:3669 (core_test:x86_64+0x100c12748)
#18 std::__1::shared_ptr<nano::vote> std::__1::shared_ptr<nano::vote>::allocate_shared<boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory:4347 (core_test:x86_64+0x100c1244d)
#19 std::__1::enable_if<!(is_array<nano::vote>::value), std::__1::shared_ptr<nano::vote> >::type std::__1::allocate_shared<nano::vote, boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u>, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(boost::fast_pool_allocator<nano::vote, boost::default_user_allocator_new_delete, std::__1::mutex, 32u, 0u> const&, bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory:4718 (core_test:x86_64+0x100c121b4)
#20 std::__1::shared_ptr<nano::vote> nano::make_shared<nano::vote, bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::block_type>(bool&&&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&&&, nano::block_type&&) memory.hpp:51 (core_test:x86_64+0x100bfd42a)
#21 nano::confirm_ack::confirm_ack(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::message_header const&, nano::vote_uniquer*) common.cpp:685 (core_test:x86_64+0x100bfd256)
#22 nano::confirm_ack::confirm_ack(bool&, std::__1::basic_streambuf<unsigned char, std::__1::char_traits<unsigned char> >&, nano::message_header const&, nano::vote_uniquer*) common.cpp:686 (core_test:x86_64+0x100bfa258)
#23 message_confirm_ack_serialization_Test::TestBody() message.cpp:82 (core_test:x86_64+0x1003e6fc9)
#24 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015f6ac6)
#25 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015a191e)
#26 testing::Test::Run() gtest.cc:2517 (core_test:x86_64+0x1015a17ae)
#27 testing::TestInfo::Run() gtest.cc:2693 (core_test:x86_64+0x1015a32ae)
#28 testing::TestCase::Run() gtest.cc:2811 (core_test:x86_64+0x1015a4c6a)
#29 testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5177 (core_test:x86_64+0x1015b5e56)
#30 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015fe2d6)
#31 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015b561e)
#32 testing::UnitTest::Run() gtest.cc:4786 (core_test:x86_64+0x1015b53c9)
#33 RUN_ALL_TESTS() gtest.h:2341 (core_test:x86_64+0x1001c7057)
#34 main core_test_main.cc:18 (core_test:x86_64+0x1001c6f96)
[1m[35m Mutex M986705720496010928 is already destroyed.
[1m[0m[1m[36m Thread T90 (tid=33717, running) created by main thread at:
[1m[0m #0 pthread_create <null> (libclang_rt.tsan_osx_dynamic.dylib:x86_64+0x28a3d)
#1 boost::thread::start_thread_noexcept() thread.cpp:261 (core_test:x86_64+0x101ab290d)
#2 boost::thread::thread<nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2>(nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2&&) thread.hpp:266 (core_test:x86_64+0x10105d9cd)
#3 boost::thread::thread<nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2>(nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool)::$_2&&) thread.hpp:265 (core_test:x86_64+0x100f8b638)
#4 nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool) node.cpp:220 (core_test:x86_64+0x100f8852f)
#5 nano::node::node(nano::node_init&, boost::asio::io_context&, boost::filesystem::path const&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool) node.cpp:233 (core_test:x86_64+0x100f8ae3a)
#6 std::__1::__compressed_pair_elem<nano::node, 1, false>::__compressed_pair_elem<nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&, 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::__1::piecewise_construct_t, std::__1::tuple<nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>, std::__1::__tuple_indices<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) memory:2153 (core_test:x86_64+0x10126c674)
#7 std::__1::__compressed_pair<std::__1::allocator<nano::node>, nano::node>::__compressed_pair<std::__1::allocator<nano::node>&, nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<nano::node>&>, std::__1::tuple<nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>) memory:2255 (core_test:x86_64+0x10126c407)
#8 std::__1::__compressed_pair<std::__1::allocator<nano::node>, nano::node>::__compressed_pair<std::__1::allocator<nano::node>&, nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>(std::__1::piecewise_construct_t, std::__1::tuple<std::__1::allocator<nano::node>&>, std::__1::tuple<nano::node_init&, boost::asio::io_context&, boost::filesystem::path&&, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags&&, bool&>) memory:2256 (core_test:x86_64+0x10126b7d8)
#9 std::__1::__shared_ptr_emplace<nano::node, std::__1::allocator<nano::node> >::__shared_ptr_emplace<nano::node_init&, boost::asio::io_context&, boost::filesystem::path, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool&>(std::__1::allocator<nano::node>, nano::node_init&&&, boost::asio::io_context&&&, boost::filesystem::path&&, nano::alarm&&&, nano::node_config const&&&, nano::work_pool&&&, nano::node_flags&&, bool&&&) memory:3668 (core_test:x86_64+0x10126b4a8)
#10 std::__1::__shared_ptr_emplace<nano::node, std::__1::allocator<nano::node> >::__shared_ptr_emplace<nano::node_init&, boost::asio::io_context&, boost::filesystem::path, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool&>(std::__1::allocator<nano::node>, nano::node_init&&&, boost::asio::io_context&&&, boost::filesystem::path&&, nano::alarm&&&, nano::node_config const&&&, nano::work_pool&&&, nano::node_flags&&, bool&&&) memory:3669 (core_test:x86_64+0x10126ab46)
#11 std::__1::shared_ptr<nano::node> std::__1::shared_ptr<nano::node>::make_shared<nano::node_init&, boost::asio::io_context&, boost::filesystem::path, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool&>(nano::node_init&&&, boost::asio::io_context&&&, boost::filesystem::path&&, nano::alarm&&&, nano::node_config const&&&, nano::work_pool&&&, nano::node_flags&&, bool&&&) memory:4327 (core_test:x86_64+0x10126a4fe)
#12 std::__1::enable_if<!(is_array<nano::node>::value), std::__1::shared_ptr<nano::node> >::type std::__1::make_shared<nano::node, nano::node_init&, boost::asio::io_context&, boost::filesystem::path, nano::alarm&, nano::node_config const&, nano::work_pool&, nano::node_flags, bool&>(nano::node_init&&&, boost::asio::io_context&&&, boost::filesystem::path&&, nano::alarm&&&, nano::node_config const&&&, nano::work_pool&&&, nano::node_flags&&, bool&&&) memory:4706 (core_test:x86_64+0x10124c63c)
#13 nano::system::add_node(nano::node_config const&, bool, nano::transport::transport_type) testing.cpp:29 (core_test:x86_64+0x10124ba0f)
#14 nano::system::system(unsigned short, unsigned short, nano::transport::transport_type) testing.cpp:118 (core_test:x86_64+0x10124dbdb)
#15 node_node_receive_quorum_Test::TestBody() node.cpp:192 (core_test:x86_64+0x100583a74)
#16 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015f6ac6)
#17 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015a191e)
#18 testing::Test::Run() gtest.cc:2517 (core_test:x86_64+0x1015a17ae)
#19 testing::TestInfo::Run() gtest.cc:2693 (core_test:x86_64+0x1015a32ae)
#20 testing::TestCase::Run() gtest.cc:2811 (core_test:x86_64+0x1015a4c6a)
#21 testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5177 (core_test:x86_64+0x1015b5e56)
#22 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2443 (core_test:x86_64+0x1015fe2d6)
#23 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2479 (core_test:x86_64+0x1015b561e)
#24 testing::UnitTest::Run() gtest.cc:4786 (core_test:x86_64+0x1015b53c9)
#25 RUN_ALL_TESTS() gtest.h:2341 (core_test:x86_64+0x1001c7057)
#26 main core_test_main.cc:18 (core_test:x86_64+0x1001c6f96)
SUMMARY: ThreadSanitizer: data race __string:84 in std::__1::char_traits<unsigned char>::assign(unsigned char&, unsigned char const&)
==================
ThreadSanitizer report breakpoint hit. Use 'thread info -s' to get extended information about the report.
/Users/user/Library/raiblocks/nano/core_test/node.cpp:221: Failure
Value of: system.poll ()
Actual: Deadline expired
Expected:
[ FAILED ] node.node_receive_quorum (11748 ms)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment