Created
June 7, 2019 16:26
-
-
Save wezrule/2e3ee5bf2dcd196a40a94fdc2d18da82 to your computer and use it in GitHub Desktop.
node.node_receive_quorum TSAN option Clang/Mac
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ 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