Skip to content

Instantly share code, notes, and snippets.

@wezrule
Created April 2, 2020 19:50
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/eaf9b7ffd5ad3c2958c7e64448af0e78 to your computer and use it in GitHub Desktop.
Save wezrule/eaf9b7ffd5ad3c2958c7e64448af0e78 to your computer and use it in GitHub Desktop.
TSAN start_time
WARNING: ThreadSanitizer: data race (pid=27432)
Write of size 8 at 0x7b240007eb20 by thread T39:
#0 nano::bulk_pull_client::received_block(boost::system::error_code const&, unsigned long, nano::block_type) /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_bulk_pull.cpp:244 (nano_node+0x91ca43)
#1 operator() /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_bulk_pull.cpp:185 (nano_node+0x921d90)
#2 std::_Function_handler<void (boost::system::error_code const&, unsigned long), nano::bulk_pull_client::received_type()::$_7>::_M_invoke(std::_Any_data const&, boost::system::error_code const&, unsigned long&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:316 (nano_node+0x921b61)
#3 std::function<void (boost::system::error_code const&, unsigned long)>::operator()(boost::system::error_code const&, unsigned long) const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:706 (nano_node+0x64d164)
#4 operator() /home/wezrule/nano/raiblocks/nano/node/socket.cpp:61 (nano_node+0xa01e24)
#5 std::result_of<{lambda(boost::system::error_code const&, unsigned long)#1} (boost::system::error_code const&, unsigned long)>::type boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >::operator()<boost::system::error_code const&, unsigned long>((std::result_of&&)...) /usr/local/include/boost/asio/bind_executor.hpp:414 (nano_node+0xa00971)
#6 boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >::operator()(boost::system::error_code const&, unsigned long, int) /usr/local/include/boost/asio/impl/read.hpp:373 (nano_node+0xa00768)
#7 boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>::operator()() /usr/local/include/boost/asio/detail/bind_handler.hpp:164 (nano_node+0xa01b47)
#8 void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&, ...) /usr/local/include/boost/asio/handler_invoke_hook.hpp:69 (nano_node+0xa01af5)
#9 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, boost::asio::strand<boost::asio::io_context::executor_type> >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&, boost::asio::strand<boost::asio::io_context::executor_type>&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0xa01ac5)
#10 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::strand<boost::asio::io_context::executor_type> >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::strand<boost::asio::io_context::executor_type> >*) /usr/local/include/boost/asio/impl/read.hpp:428 (nano_node+0xa01a92)
#11 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0xa01a46)
#12 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code, unsigned long>(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::binder2<boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code, unsigned long>*) /usr/local/include/boost/asio/detail/bind_handler.hpp:207 (nano_node+0xa019ce)
#13 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > > >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0xa018d6)
#14 boost::asio::detail::executor_op<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, std::allocator<void>, boost::asio::detail::scheduler_operation>::do_complete(void*, std::allocator<void>*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/executor_op.hpp:70 (nano_node+0xa01c3e)
#15 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40 (nano_node+0x4da385)
#16 boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>::operator()() /usr/local/include/boost/asio/detail/impl/strand_executor_service.hpp:90 (nano_node+0x648c48)
#17 void boost::asio::asio_handler_invoke<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&, ...) /usr/local/include/boost/asio/handler_invoke_hook.hpp:69 (nano_node+0x648b75)
#18 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>, boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&, boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0x648a0b)
#19 void boost::asio::io_context::executor_type::dispatch<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>, std::allocator<void> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&&, std::allocator<void> const&) const /usr/local/include/boost/asio/impl/io_context.hpp:265 (nano_node+0x648808)
#20 void boost::asio::detail::strand_executor_service::dispatch<boost::asio::io_context::executor_type const, boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, std::allocator<void> >(std::shared_ptr<boost::asio::detail::strand_executor_service::strand_impl> const&, boost::asio::io_context::executor_type const&, boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&&, std::allocator<void> const&) /usr/local/include/boost/asio/detail/impl/strand_executor_service.hpp:128 (nano_node+0xa017c8)
#21 void boost::asio::strand<boost::asio::io_context::executor_type>::dispatch<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, std::allocator<void> >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&&, std::allocator<void> const&) const /usr/local/include/boost/asio/strand.hpp:193 (nano_node+0xa016b9)
#22 void boost::asio::detail::handler_work<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::asio::detail::io_object_executor<boost::asio::executor>, boost::asio::io_context::executor_type>::complete<boost::asio::detail::binder2<boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code, unsigned long>&, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >&) /usr/local/include/boost/asio/detail/handler_work.hpp:72 (nano_node+0xa013e5)
#23 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::asio::detail::io_object_executor<boost::asio::executor> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/reactive_socket_recv_op.hpp:123 (nano_node+0xa01100)
#24 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40 (nano_node+0x4da385)
#25 boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) /usr/local/include/boost/asio/detail/impl/scheduler.ipp:447 (nano_node+0x4d991d)
#26 boost::asio::detail::scheduler::run(boost::system::error_code&) /usr/local/include/boost/asio/detail/impl/scheduler.ipp:200 (nano_node+0x4d9498)
#27 boost::asio::io_context::run() /usr/local/include/boost/asio/impl/io_context.ipp:63 (nano_node+0xaf5165)
#28 operator() /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:124 (nano_node+0xaf4cfa)
#29 boost::detail::thread_data<nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>::run() /usr/local/include/boost/thread/detail/thread.hpp:120 (nano_node+0xaf4cac)
#30 boost::(anonymous namespace)::thread_proxy(void*) thread.cpp:? (nano_node+0xd10fa6)
Previous read of size 8 at 0x7b240007eb20 by thread T44 (mutexes: write M415):
#0 std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >::time_since_epoch() const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/chrono:640 (nano_node+0x4f3045)
#1 std::common_type<std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >::type std::chrono::operator-<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/chrono:754 (nano_node+0x50ab7b)
#2 nano::bootstrap_client::elapsed_seconds() const /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:41 (nano_node+0x92d2d9)
#3 nano::bootstrap_connections::populate_connections(bool) /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:220 (nano_node+0x92e123)
#4 operator() /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:307 (nano_node+0x9308d6)
#5 std::_Function_handler<void (), nano::bootstrap_connections::populate_connections(bool)::$_2>::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:316 (nano_node+0x9306cd)
#6 std::function<void ()>::operator()() const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:706 (nano_node+0x64a388)
#7 void boost::asio::asio_handler_invoke<std::function<void ()> >(std::function<void ()>&, ...) /usr/local/include/boost/asio/handler_invoke_hook.hpp:69 (nano_node+0xaa9a05)
#8 void boost_asio_handler_invoke_helpers::invoke<std::function<void ()>, std::function<void ()> >(std::function<void ()>&, std::function<void ()>&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0xaa99cb)
#9 void boost::asio::detail::handler_work<std::function<void ()>, boost::asio::system_executor, boost::asio::system_executor>::complete<std::function<void ()> >(std::function<void ()>&, std::function<void ()>&) /usr/local/include/boost/asio/detail/handler_work.hpp:100 (nano_node+0xaa988e)
#10 boost::asio::detail::completion_handler<std::function<void ()> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/completion_handler.hpp:70 (nano_node+0xaa96e5)
#11 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40 (nano_node+0x4da385)
#12 boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) /usr/local/include/boost/asio/detail/impl/scheduler.ipp:447 (nano_node+0x4d991d)
#13 boost::asio::detail::scheduler::run(boost::system::error_code&) /usr/local/include/boost/asio/detail/impl/scheduler.ipp:200 (nano_node+0x4d9498)
#14 boost::asio::io_context::run() /usr/local/include/boost/asio/impl/io_context.ipp:63 (nano_node+0xaf5165)
#15 operator() /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:124 (nano_node+0xaf4cfa)
#16 boost::detail::thread_data<nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>::run() /usr/local/include/boost/thread/detail/thread.hpp:120 (nano_node+0xaf4cac)
#17 boost::(anonymous namespace)::thread_proxy(void*) thread.cpp:? (nano_node+0xd10fa6)
Location is heap block of size 136 at 0x7b240007eab0 allocated by thread T36:
#0 operator new(unsigned long) ??:? (nano_node+0x4cc9f6)
#1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ext/new_allocator.h:111 (nano_node+0x936e0c)
#2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/alloc_traits.h:436 (nano_node+0x936d60)
#3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, (__gnu_cxx::_Lock_policy)2> >&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/allocated_ptr.h:104 (nano_node+0x936ad0)
#4 __shared_count<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, std::shared_ptr<nano::node>, const std::shared_ptr<nano::bootstrap_connections> &, std::shared_ptr<nano::transport::channel_tcp>, const std::shared_ptr<nano::socket> &> /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr_base.h:635 (nano_node+0x936952)
#5 __shared_ptr<std::allocator<nano::bootstrap_client>, std::shared_ptr<nano::node>, const std::shared_ptr<nano::bootstrap_connections> &, std::shared_ptr<nano::transport::channel_tcp>, const std::shared_ptr<nano::socket> &> /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr_base.h:1294 (nano_node+0x9368a7)
#6 shared_ptr<std::allocator<nano::bootstrap_client>, std::shared_ptr<nano::node>, const std::shared_ptr<nano::bootstrap_connections> &, std::shared_ptr<nano::transport::channel_tcp>, const std::shared_ptr<nano::socket> &> /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr.h:344 (nano_node+0x9367f1)
#7 std::shared_ptr<nano::bootstrap_client> std::allocate_shared<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, std::shared_ptr<nano::node>, std::shared_ptr<nano::bootstrap_connections> const&, std::shared_ptr<nano::transport::channel_tcp>, std::shared_ptr<nano::socket> const&>(std::allocator<nano::bootstrap_client> const&, std::shared_ptr<nano::node>&&, std::shared_ptr<nano::bootstrap_connections> const&, std::shared_ptr<nano::transport::channel_tcp>&&, std::shared_ptr<nano::socket> const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr.h:690 (nano_node+0x936711)
#8 std::shared_ptr<nano::bootstrap_client> std::make_shared<nano::bootstrap_client, std::shared_ptr<nano::node>, std::shared_ptr<nano::bootstrap_connections> const&, std::shared_ptr<nano::transport::channel_tcp>, std::shared_ptr<nano::socket> const&>(std::shared_ptr<nano::node>&&, std::shared_ptr<nano::bootstrap_connections> const&, std::shared_ptr<nano::transport::channel_tcp>&&, std::shared_ptr<nano::socket> const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr.h:706 (nano_node+0x9365d6)
#9 operator() /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:154 (nano_node+0x9302f6)
#10 std::_Function_handler<void (boost::system::error_code const&), nano::bootstrap_connections::connect_client(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, bool)::$_1>::_M_invoke(std::_Any_data const&, boost::system::error_code const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:316 (nano_node+0x92fed1)
#11 std::function<void (boost::system::error_code const&)>::operator()(boost::system::error_code const&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:706 (nano_node+0xa0f46e)
#12 operator() /home/wezrule/nano/raiblocks/nano/node/socket.cpp:41 (nano_node+0x9febdb)
#13 std::result_of<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0 (boost::system::error_code const&)>::type boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >::operator()<boost::system::error_code const&>(boost::system::error_code const&) /usr/local/include/boost/asio/bind_executor.hpp:414 (nano_node+0x9feb72)
#14 boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>::operator()() /usr/local/include/boost/asio/detail/bind_handler.hpp:65 (nano_node+0x9feb29)
#15 void boost::asio::asio_handler_invoke<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code> >(boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&, ...) /usr/local/include/boost/asio/handler_invoke_hook.hpp:69 (nano_node+0x9feac5)
#16 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>, boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> > >(boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&, boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0x9fea95)
#17 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>, boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>(boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&, boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>*) /usr/local/include/boost/asio/detail/bind_handler.hpp:106 (nano_node+0x9fea2e)
#18 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>, boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code> >(boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&, boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0x9fe936)
#19 boost::asio::detail::executor_op<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>, std::allocator<void>, boost::asio::detail::scheduler_operation>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/executor_op.hpp:70 (nano_node+0x9fecee)
#20 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40 (nano_node+0x4da385)
#21 boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>::operator()() /usr/local/include/boost/asio/detail/impl/strand_executor_service.hpp:90 (nano_node+0x648c48)
#22 void boost::asio::asio_handler_invoke<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&, ...) /usr/local/include/boost/asio/handler_invoke_hook.hpp:69 (nano_node+0x648b75)
#23 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>, boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&, boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0x648a0b)
#24 void boost::asio::io_context::executor_type::dispatch<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>, std::allocator<void> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&&, std::allocator<void> const&) const /usr/local/include/boost/asio/impl/io_context.hpp:265 (nano_node+0x648808)
#25 void boost::asio::detail::strand_executor_service::dispatch<boost::asio::io_context::executor_type const, boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>, std::allocator<void> >(std::shared_ptr<boost::asio::detail::strand_executor_service::strand_impl> const&, boost::asio::io_context::executor_type const&, boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&&, std::allocator<void> const&) /usr/local/include/boost/asio/detail/impl/strand_executor_service.hpp:128 (nano_node+0x9fe898)
#26 void boost::asio::strand<boost::asio::io_context::executor_type>::dispatch<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>, std::allocator<void> >(boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&&, std::allocator<void> const&) const /usr/local/include/boost/asio/strand.hpp:193 (nano_node+0x9fe789)
#27 void boost::asio::detail::handler_work<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::asio::detail::io_object_executor<boost::asio::executor>, boost::asio::strand<boost::asio::io_context::executor_type> >::complete<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code> >(boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&, boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >&) /usr/local/include/boost/asio/detail/handler_work.hpp:72 (nano_node+0x9ff475)
#28 boost::asio::detail::reactive_socket_connect_op<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::asio::detail::io_object_executor<boost::asio::executor> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/reactive_socket_connect_op.hpp:102 (nano_node+0x9ff23c)
#29 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40 (nano_node+0x4da385)
#30 boost::asio::detail::epoll_reactor::descriptor_state::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/impl/epoll_reactor.ipp:776 (nano_node+0x63efa2)
#31 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40 (nano_node+0x4da385)
#32 boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) /usr/local/include/boost/asio/detail/impl/scheduler.ipp:447 (nano_node+0x4d991d)
#33 boost::asio::detail::scheduler::run(boost::system::error_code&) /usr/local/include/boost/asio/detail/impl/scheduler.ipp:200 (nano_node+0x4d9498)
#34 boost::asio::io_context::run() /usr/local/include/boost/asio/impl/io_context.ipp:63 (nano_node+0xaf5165)
#35 operator() /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:124 (nano_node+0xaf4cfa)
#36 boost::detail::thread_data<nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>::run() /usr/local/include/boost/thread/detail/thread.hpp:120 (nano_node+0xaf4cac)
#37 boost::(anonymous namespace)::thread_proxy(void*) thread.cpp:? (nano_node+0xd10fa6)
Mutex M415 (0x7b4c000048e8) created at:
#0 pthread_mutex_lock ??:? (nano_node+0x447d77)
#1 __gthread_mutex_lock(pthread_mutex_t*) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/x86_64-linux-gnu/c++/7.5.0/bits/gthr-default.h:748 (nano_node+0x5527a3)
#2 std::mutex::lock() /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_mutex.h:103 (nano_node+0x55cea5)
#3 nano::unique_lock<std::mutex, void>::lock_impl() /home/wezrule/nano/raiblocks/nano/lib/locks.cpp:74 (nano_node+0xad350c)
#4 unique_lock /home/wezrule/nano/raiblocks/nano/lib/locks.cpp:66 (nano_node+0xad347a)
#5 nano::bootstrap_connections::populate_connections(bool) /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:209 (nano_node+0x92dfb8)
#6 nano::bootstrap_connections::start_populate_connections() /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:317 (nano_node+0x92ee14)
#7 nano::bootstrap_connections::run() /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:463 (nano_node+0x92f9b7)
#8 operator() /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap.cpp:21 (nano_node+0x597252)
#9 boost::detail::thread_data<nano::bootstrap_initiator::bootstrap_initiator(nano::node&)::$_0>::run() /usr/local/include/boost/thread/detail/thread.hpp:120 (nano_node+0x5971fc)
#10 boost::(anonymous namespace)::thread_proxy(void*) thread.cpp:? (nano_node+0xd10fa6)
Thread T39 'I/O' (tid=27475, running) created by main thread at:
#0 pthread_create ??:? (nano_node+0x43b2a6)
#1 boost::thread::start_thread_noexcept(boost::thread_attributes const&) ??:? (nano_node+0xd111b5)
#2 thread<(lambda at /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:120:32)> /usr/local/include/boost/thread/detail/thread.hpp:277 (nano_node+0xaf4a38)
#3 void __gnu_cxx::new_allocator<boost::thread>::construct<boost::thread, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(boost::thread*, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ext/new_allocator.h:136 (nano_node+0xaf49c8)
#4 void std::allocator_traits<std::allocator<boost::thread> >::construct<boost::thread, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(std::allocator<boost::thread>&, boost::thread*, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/alloc_traits.h:475 (nano_node+0xaf46f8)
#5 boost::thread& std::vector<boost::thread, std::allocator<boost::thread> >::emplace_back<boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/vector.tcc:100 (nano_node+0xaf44e0)
#6 thread_runner /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:120 (nano_node+0xaf4422)
#7 std::_MakeUniq<nano::thread_runner>::__single_object std::make_unique<nano::thread_runner, boost::asio::io_context&, unsigned int&>(boost::asio::io_context&, unsigned int&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:821 (nano_node+0x4d2c73)
#8 nano_daemon::daemon::run(boost::filesystem::path const&, nano::node_flags const&) /home/wezrule/nano/raiblocks/nano/nano_node/daemon.cpp:148 (nano_node+0x4d0115)
#9 main /home/wezrule/nano/raiblocks/nano/nano_node/entry.cpp:158 (nano_node+0x4f9cea)
Thread T44 'I/O' (tid=27480, running) created by main thread at:
#0 pthread_create ??:? (nano_node+0x43b2a6)
#1 boost::thread::start_thread_noexcept(boost::thread_attributes const&) ??:? (nano_node+0xd111b5)
#2 thread<(lambda at /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:120:32)> /usr/local/include/boost/thread/detail/thread.hpp:277 (nano_node+0xaf4a38)
#3 void __gnu_cxx::new_allocator<boost::thread>::construct<boost::thread, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(boost::thread*, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ext/new_allocator.h:136 (nano_node+0xaf49c8)
#4 void std::allocator_traits<std::allocator<boost::thread> >::construct<boost::thread, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(std::allocator<boost::thread>&, boost::thread*, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/alloc_traits.h:475 (nano_node+0xaf46f8)
#5 boost::thread& std::vector<boost::thread, std::allocator<boost::thread> >::emplace_back<boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/vector.tcc:100 (nano_node+0xaf44e0)
#6 thread_runner /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:120 (nano_node+0xaf4422)
#7 std::_MakeUniq<nano::thread_runner>::__single_object std::make_unique<nano::thread_runner, boost::asio::io_context&, unsigned int&>(boost::asio::io_context&, unsigned int&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:821 (nano_node+0x4d2c73)
#8 nano_daemon::daemon::run(boost::filesystem::path const&, nano::node_flags const&) /home/wezrule/nano/raiblocks/nano/nano_node/daemon.cpp:148 (nano_node+0x4d0115)
#9 main /home/wezrule/nano/raiblocks/nano/nano_node/entry.cpp:158 (nano_node+0x4f9cea)
Thread T36 'I/O' (tid=27472, running) created by main thread at:
#0 pthread_create ??:? (nano_node+0x43b2a6)
#1 boost::thread::start_thread_noexcept(boost::thread_attributes const&) ??:? (nano_node+0xd111b5)
#2 thread<(lambda at /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:120:32)> /usr/local/include/boost/thread/detail/thread.hpp:277 (nano_node+0xaf4a38)
#3 void __gnu_cxx::new_allocator<boost::thread>::construct<boost::thread, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(boost::thread*, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ext/new_allocator.h:136 (nano_node+0xaf49c8)
#4 void std::allocator_traits<std::allocator<boost::thread> >::construct<boost::thread, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(std::allocator<boost::thread>&, boost::thread*, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/alloc_traits.h:475 (nano_node+0xaf46f8)
#5 boost::thread& std::vector<boost::thread, std::allocator<boost::thread> >::emplace_back<boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/vector.tcc:100 (nano_node+0xaf44e0)
#6 thread_runner /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:120 (nano_node+0xaf4422)
#7 std::_MakeUniq<nano::thread_runner>::__single_object std::make_unique<nano::thread_runner, boost::asio::io_context&, unsigned int&>(boost::asio::io_context&, unsigned int&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:821 (nano_node+0x4d2c73)
#8 nano_daemon::daemon::run(boost::filesystem::path const&, nano::node_flags const&) /home/wezrule/nano/raiblocks/nano/nano_node/daemon.cpp:148 (nano_node+0x4d0115)
#9 main /home/wezrule/nano/raiblocks/nano/nano_node/entry.cpp:158 (nano_node+0x4f9cea)
SUMMARY: ThreadSanitizer: data race /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_bulk_pull.cpp:244 in nano::bulk_pull_client::received_block(boost::system::error_code const&, unsigned long, nano::block_type)
==================
==================
WARNING: ThreadSanitizer: data race (pid=27432)
Read of size 8 at 0x7b240007eb20 by thread T37 (mutexes: write M415):
#0 std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >::time_since_epoch() const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/chrono:640 (nano_node+0x4f3045)
#1 std::common_type<std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >::type std::chrono::operator-<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >(std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&, std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/chrono:754 (nano_node+0x50ab7b)
#2 nano::bootstrap_client::elapsed_seconds() const /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:41 (nano_node+0x92d2d9)
#3 nano::bootstrap_connections::populate_connections(bool) /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:220 (nano_node+0x92e123)
#4 operator() /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:307 (nano_node+0x9308d6)
#5 std::_Function_handler<void (), nano::bootstrap_connections::populate_connections(bool)::$_2>::_M_invoke(std::_Any_data const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:316 (nano_node+0x9306cd)
#6 std::function<void ()>::operator()() const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:706 (nano_node+0x64a388)
#7 void boost::asio::asio_handler_invoke<std::function<void ()> >(std::function<void ()>&, ...) /usr/local/include/boost/asio/handler_invoke_hook.hpp:69 (nano_node+0xaa9a05)
#8 void boost_asio_handler_invoke_helpers::invoke<std::function<void ()>, std::function<void ()> >(std::function<void ()>&, std::function<void ()>&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0xaa99cb)
#9 void boost::asio::detail::handler_work<std::function<void ()>, boost::asio::system_executor, boost::asio::system_executor>::complete<std::function<void ()> >(std::function<void ()>&, std::function<void ()>&) /usr/local/include/boost/asio/detail/handler_work.hpp:100 (nano_node+0xaa988e)
#10 boost::asio::detail::completion_handler<std::function<void ()> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/completion_handler.hpp:70 (nano_node+0xaa96e5)
#11 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40 (nano_node+0x4da385)
#12 boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) /usr/local/include/boost/asio/detail/impl/scheduler.ipp:447 (nano_node+0x4d991d)
#13 boost::asio::detail::scheduler::run(boost::system::error_code&) /usr/local/include/boost/asio/detail/impl/scheduler.ipp:200 (nano_node+0x4d9498)
#14 boost::asio::io_context::run() /usr/local/include/boost/asio/impl/io_context.ipp:63 (nano_node+0xaf5165)
#15 operator() /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:124 (nano_node+0xaf4cfa)
#16 boost::detail::thread_data<nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>::run() /usr/local/include/boost/thread/detail/thread.hpp:120 (nano_node+0xaf4cac)
#17 boost::(anonymous namespace)::thread_proxy(void*) thread.cpp:? (nano_node+0xd10fa6)
Previous write of size 8 at 0x7b240007eb20 by thread T39:
#0 nano::bulk_pull_client::received_block(boost::system::error_code const&, unsigned long, nano::block_type) /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_bulk_pull.cpp:244 (nano_node+0x91ca43)
#1 operator() /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_bulk_pull.cpp:185 (nano_node+0x921d90)
#2 std::_Function_handler<void (boost::system::error_code const&, unsigned long), nano::bulk_pull_client::received_type()::$_7>::_M_invoke(std::_Any_data const&, boost::system::error_code const&, unsigned long&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:316 (nano_node+0x921b61)
#3 std::function<void (boost::system::error_code const&, unsigned long)>::operator()(boost::system::error_code const&, unsigned long) const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:706 (nano_node+0x64d164)
#4 operator() /home/wezrule/nano/raiblocks/nano/node/socket.cpp:61 (nano_node+0xa01e24)
#5 std::result_of<{lambda(boost::system::error_code const&, unsigned long)#1} (boost::system::error_code const&, unsigned long)>::type boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >::operator()<boost::system::error_code const&, unsigned long>((std::result_of&&)...) /usr/local/include/boost/asio/bind_executor.hpp:414 (nano_node+0xa00971)
#6 boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >::operator()(boost::system::error_code const&, unsigned long, int) /usr/local/include/boost/asio/impl/read.hpp:373 (nano_node+0xa00768)
#7 boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>::operator()() /usr/local/include/boost/asio/detail/bind_handler.hpp:164 (nano_node+0xa01b47)
#8 void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&, ...) /usr/local/include/boost/asio/handler_invoke_hook.hpp:69 (nano_node+0xa01af5)
#9 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, boost::asio::strand<boost::asio::io_context::executor_type> >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&, boost::asio::strand<boost::asio::io_context::executor_type>&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0xa01ac5)
#10 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::strand<boost::asio::io_context::executor_type> >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::strand<boost::asio::io_context::executor_type> >*) /usr/local/include/boost/asio/impl/read.hpp:428 (nano_node+0xa01a92)
#11 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0xa01a46)
#12 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code, unsigned long>(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::binder2<boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code, unsigned long>*) /usr/local/include/boost/asio/detail/bind_handler.hpp:207 (nano_node+0xa019ce)
#13 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > > >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0xa018d6)
#14 boost::asio::detail::executor_op<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, std::allocator<void>, boost::asio::detail::scheduler_operation>::do_complete(void*, std::allocator<void>*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/executor_op.hpp:70 (nano_node+0xa01c3e)
#15 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40 (nano_node+0x4da385)
#16 boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>::operator()() /usr/local/include/boost/asio/detail/impl/strand_executor_service.hpp:90 (nano_node+0x648c48)
#17 void boost::asio::asio_handler_invoke<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&, ...) /usr/local/include/boost/asio/handler_invoke_hook.hpp:69 (nano_node+0x648b75)
#18 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>, boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&, boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0x648a0b)
#19 void boost::asio::io_context::executor_type::dispatch<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>, std::allocator<void> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&&, std::allocator<void> const&) const /usr/local/include/boost/asio/impl/io_context.hpp:265 (nano_node+0x648808)
#20 void boost::asio::detail::strand_executor_service::dispatch<boost::asio::io_context::executor_type const, boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, std::allocator<void> >(std::shared_ptr<boost::asio::detail::strand_executor_service::strand_impl> const&, boost::asio::io_context::executor_type const&, boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&&, std::allocator<void> const&) /usr/local/include/boost/asio/detail/impl/strand_executor_service.hpp:128 (nano_node+0xa017c8)
#21 void boost::asio::strand<boost::asio::io_context::executor_type>::dispatch<boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>, std::allocator<void> >(boost::asio::detail::binder2<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::system::error_code, unsigned long>&&, std::allocator<void> const&) const /usr/local/include/boost/asio/strand.hpp:193 (nano_node+0xa016b9)
#22 void boost::asio::detail::handler_work<boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::asio::detail::io_object_executor<boost::asio::executor>, boost::asio::io_context::executor_type>::complete<boost::asio::detail::binder2<boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code, unsigned long>&, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> >&) /usr/local/include/boost/asio/detail/handler_work.hpp:72 (nano_node+0xa013e5)
#23 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::executor>, boost::asio::mutable_buffers_1, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<nano::socket::async_read(std::shared_ptr<std::vector<unsigned char, std::allocator<unsigned char> > >, unsigned long, std::function<void (boost::system::error_code const&, unsigned long)>)::$_1::operator()() const::{lambda(boost::system::error_code const&, unsigned long)#1}, boost::asio::strand<boost::asio::io_context::executor_type> > >, boost::asio::detail::io_object_executor<boost::asio::executor> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/reactive_socket_recv_op.hpp:123 (nano_node+0xa01100)
#24 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40 (nano_node+0x4da385)
#25 boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) /usr/local/include/boost/asio/detail/impl/scheduler.ipp:447 (nano_node+0x4d991d)
#26 boost::asio::detail::scheduler::run(boost::system::error_code&) /usr/local/include/boost/asio/detail/impl/scheduler.ipp:200 (nano_node+0x4d9498)
#27 boost::asio::io_context::run() /usr/local/include/boost/asio/impl/io_context.ipp:63 (nano_node+0xaf5165)
#28 operator() /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:124 (nano_node+0xaf4cfa)
#29 boost::detail::thread_data<nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>::run() /usr/local/include/boost/thread/detail/thread.hpp:120 (nano_node+0xaf4cac)
#30 boost::(anonymous namespace)::thread_proxy(void*) thread.cpp:? (nano_node+0xd10fa6)
Location is heap block of size 136 at 0x7b240007eab0 allocated by thread T36:
#0 operator new(unsigned long) ??:? (nano_node+0x4cc9f6)
#1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ext/new_allocator.h:111 (nano_node+0x936e0c)
#2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/alloc_traits.h:436 (nano_node+0x936d60)
#3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, (__gnu_cxx::_Lock_policy)2> >&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/allocated_ptr.h:104 (nano_node+0x936ad0)
#4 __shared_count<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, std::shared_ptr<nano::node>, const std::shared_ptr<nano::bootstrap_connections> &, std::shared_ptr<nano::transport::channel_tcp>, const std::shared_ptr<nano::socket> &> /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr_base.h:635 (nano_node+0x936952)
#5 __shared_ptr<std::allocator<nano::bootstrap_client>, std::shared_ptr<nano::node>, const std::shared_ptr<nano::bootstrap_connections> &, std::shared_ptr<nano::transport::channel_tcp>, const std::shared_ptr<nano::socket> &> /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr_base.h:1294 (nano_node+0x9368a7)
#6 shared_ptr<std::allocator<nano::bootstrap_client>, std::shared_ptr<nano::node>, const std::shared_ptr<nano::bootstrap_connections> &, std::shared_ptr<nano::transport::channel_tcp>, const std::shared_ptr<nano::socket> &> /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr.h:344 (nano_node+0x9367f1)
#7 std::shared_ptr<nano::bootstrap_client> std::allocate_shared<nano::bootstrap_client, std::allocator<nano::bootstrap_client>, std::shared_ptr<nano::node>, std::shared_ptr<nano::bootstrap_connections> const&, std::shared_ptr<nano::transport::channel_tcp>, std::shared_ptr<nano::socket> const&>(std::allocator<nano::bootstrap_client> const&, std::shared_ptr<nano::node>&&, std::shared_ptr<nano::bootstrap_connections> const&, std::shared_ptr<nano::transport::channel_tcp>&&, std::shared_ptr<nano::socket> const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr.h:690 (nano_node+0x936711)
#8 std::shared_ptr<nano::bootstrap_client> std::make_shared<nano::bootstrap_client, std::shared_ptr<nano::node>, std::shared_ptr<nano::bootstrap_connections> const&, std::shared_ptr<nano::transport::channel_tcp>, std::shared_ptr<nano::socket> const&>(std::shared_ptr<nano::node>&&, std::shared_ptr<nano::bootstrap_connections> const&, std::shared_ptr<nano::transport::channel_tcp>&&, std::shared_ptr<nano::socket> const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/shared_ptr.h:706 (nano_node+0x9365d6)
#9 operator() /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:154 (nano_node+0x9302f6)
#10 std::_Function_handler<void (boost::system::error_code const&), nano::bootstrap_connections::connect_client(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, bool)::$_1>::_M_invoke(std::_Any_data const&, boost::system::error_code const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:316 (nano_node+0x92fed1)
#11 std::function<void (boost::system::error_code const&)>::operator()(boost::system::error_code const&) const /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_function.h:706 (nano_node+0xa0f46e)
#12 operator() /home/wezrule/nano/raiblocks/nano/node/socket.cpp:41 (nano_node+0x9febdb)
#13 std::result_of<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0 (boost::system::error_code const&)>::type boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >::operator()<boost::system::error_code const&>(boost::system::error_code const&) /usr/local/include/boost/asio/bind_executor.hpp:414 (nano_node+0x9feb72)
#14 boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>::operator()() /usr/local/include/boost/asio/detail/bind_handler.hpp:65 (nano_node+0x9feb29)
#15 void boost::asio::asio_handler_invoke<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code> >(boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&, ...) /usr/local/include/boost/asio/handler_invoke_hook.hpp:69 (nano_node+0x9feac5)
#16 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>, boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> > >(boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&, boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0x9fea95)
#17 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>, boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>(boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&, boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>*) /usr/local/include/boost/asio/detail/bind_handler.hpp:106 (nano_node+0x9fea2e)
#18 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>, boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code> >(boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&, boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0x9fe936)
#19 boost::asio::detail::executor_op<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>, std::allocator<void>, boost::asio::detail::scheduler_operation>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/executor_op.hpp:70 (nano_node+0x9fecee)
#20 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40 (nano_node+0x4da385)
#21 boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>::operator()() /usr/local/include/boost/asio/detail/impl/strand_executor_service.hpp:90 (nano_node+0x648c48)
#22 void boost::asio::asio_handler_invoke<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&, ...) /usr/local/include/boost/asio/handler_invoke_hook.hpp:69 (nano_node+0x648b75)
#23 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>, boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&, boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&) /usr/local/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (nano_node+0x648a0b)
#24 void boost::asio::io_context::executor_type::dispatch<boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>, std::allocator<void> >(boost::asio::detail::strand_executor_service::invoker<boost::asio::io_context::executor_type const>&&, std::allocator<void> const&) const /usr/local/include/boost/asio/impl/io_context.hpp:265 (nano_node+0x648808)
#25 void boost::asio::detail::strand_executor_service::dispatch<boost::asio::io_context::executor_type const, boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>, std::allocator<void> >(std::shared_ptr<boost::asio::detail::strand_executor_service::strand_impl> const&, boost::asio::io_context::executor_type const&, boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&&, std::allocator<void> const&) /usr/local/include/boost/asio/detail/impl/strand_executor_service.hpp:128 (nano_node+0x9fe898)
#26 void boost::asio::strand<boost::asio::io_context::executor_type>::dispatch<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>, std::allocator<void> >(boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&&, std::allocator<void> const&) const /usr/local/include/boost/asio/strand.hpp:193 (nano_node+0x9fe789)
#27 void boost::asio::detail::handler_work<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::asio::detail::io_object_executor<boost::asio::executor>, boost::asio::strand<boost::asio::io_context::executor_type> >::complete<boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code> >(boost::asio::detail::binder1<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::system::error_code>&, boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >&) /usr/local/include/boost/asio/detail/handler_work.hpp:72 (nano_node+0x9ff475)
#28 boost::asio::detail::reactive_socket_connect_op<boost::asio::executor_binder<nano::socket::async_connect(boost::asio::ip::basic_endpoint<boost::asio::ip::tcp> const&, std::function<void (boost::system::error_code const&)>)::$_0, boost::asio::strand<boost::asio::io_context::executor_type> >, boost::asio::detail::io_object_executor<boost::asio::executor> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/reactive_socket_connect_op.hpp:102 (nano_node+0x9ff23c)
#29 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40 (nano_node+0x4da385)
#30 boost::asio::detail::epoll_reactor::descriptor_state::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/impl/epoll_reactor.ipp:776 (nano_node+0x63efa2)
#31 boost::asio::detail::scheduler_operation::complete(void*, boost::system::error_code const&, unsigned long) /usr/local/include/boost/asio/detail/scheduler_operation.hpp:40 (nano_node+0x4da385)
#32 boost::asio::detail::scheduler::do_run_one(boost::asio::detail::conditionally_enabled_mutex::scoped_lock&, boost::asio::detail::scheduler_thread_info&, boost::system::error_code const&) /usr/local/include/boost/asio/detail/impl/scheduler.ipp:447 (nano_node+0x4d991d)
#33 boost::asio::detail::scheduler::run(boost::system::error_code&) /usr/local/include/boost/asio/detail/impl/scheduler.ipp:200 (nano_node+0x4d9498)
#34 boost::asio::io_context::run() /usr/local/include/boost/asio/impl/io_context.ipp:63 (nano_node+0xaf5165)
#35 operator() /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:124 (nano_node+0xaf4cfa)
#36 boost::detail::thread_data<nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>::run() /usr/local/include/boost/thread/detail/thread.hpp:120 (nano_node+0xaf4cac)
#37 boost::(anonymous namespace)::thread_proxy(void*) thread.cpp:? (nano_node+0xd10fa6)
Mutex M415 (0x7b4c000048e8) created at:
#0 pthread_mutex_lock ??:? (nano_node+0x447d77)
#1 __gthread_mutex_lock(pthread_mutex_t*) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/x86_64-linux-gnu/c++/7.5.0/bits/gthr-default.h:748 (nano_node+0x5527a3)
#2 std::mutex::lock() /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/std_mutex.h:103 (nano_node+0x55cea5)
#3 nano::unique_lock<std::mutex, void>::lock_impl() /home/wezrule/nano/raiblocks/nano/lib/locks.cpp:74 (nano_node+0xad350c)
#4 unique_lock /home/wezrule/nano/raiblocks/nano/lib/locks.cpp:66 (nano_node+0xad347a)
#5 nano::bootstrap_connections::populate_connections(bool) /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:209 (nano_node+0x92dfb8)
#6 nano::bootstrap_connections::start_populate_connections() /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:317 (nano_node+0x92ee14)
#7 nano::bootstrap_connections::run() /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap_connections.cpp:463 (nano_node+0x92f9b7)
#8 operator() /home/wezrule/nano/raiblocks/nano/node/bootstrap/bootstrap.cpp:21 (nano_node+0x597252)
#9 boost::detail::thread_data<nano::bootstrap_initiator::bootstrap_initiator(nano::node&)::$_0>::run() /usr/local/include/boost/thread/detail/thread.hpp:120 (nano_node+0x5971fc)
#10 boost::(anonymous namespace)::thread_proxy(void*) thread.cpp:? (nano_node+0xd10fa6)
Thread T37 'I/O' (tid=27473, running) created by main thread at:
#0 pthread_create ??:? (nano_node+0x43b2a6)
#1 boost::thread::start_thread_noexcept(boost::thread_attributes const&) ??:? (nano_node+0xd111b5)
#2 thread<(lambda at /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:120:32)> /usr/local/include/boost/thread/detail/thread.hpp:277 (nano_node+0xaf4a38)
#3 void __gnu_cxx::new_allocator<boost::thread>::construct<boost::thread, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(boost::thread*, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ext/new_allocator.h:136 (nano_node+0xaf49c8)
#4 void std::allocator_traits<std::allocator<boost::thread> >::construct<boost::thread, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(std::allocator<boost::thread>&, boost::thread*, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/alloc_traits.h:475 (nano_node+0xaf46f8)
#5 void std::vector<boost::thread, std::allocator<boost::thread> >::_M_realloc_insert<boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(__gnu_cxx::__normal_iterator<boost::thread*, std::vector<boost::thread, std::allocator<boost::thread> > >, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/vector.tcc:415 (nano_node+0xaf47e4)
#6 boost::thread& std::vector<boost::thread, std::allocator<boost::thread> >::emplace_back<boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/vector.tcc:105 (nano_node+0xaf4523)
#7 thread_runner /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:120 (nano_node+0xaf4422)
#8 std::_MakeUniq<nano::thread_runner>::__single_object std::make_unique<nano::thread_runner, boost::asio::io_context&, unsigned int&>(boost::asio::io_context&, unsigned int&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:821 (nano_node+0x4d2c73)
#9 nano_daemon::daemon::run(boost::filesystem::path const&, nano::node_flags const&) /home/wezrule/nano/raiblocks/nano/nano_node/daemon.cpp:148 (nano_node+0x4d0115)
#10 main /home/wezrule/nano/raiblocks/nano/nano_node/entry.cpp:158 (nano_node+0x4f9cea)
Thread T39 'I/O' (tid=27475, running) created by main thread at:
#0 pthread_create ??:? (nano_node+0x43b2a6)
#1 boost::thread::start_thread_noexcept(boost::thread_attributes const&) ??:? (nano_node+0xd111b5)
#2 thread<(lambda at /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:120:32)> /usr/local/include/boost/thread/detail/thread.hpp:277 (nano_node+0xaf4a38)
#3 void __gnu_cxx::new_allocator<boost::thread>::construct<boost::thread, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(boost::thread*, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ext/new_allocator.h:136 (nano_node+0xaf49c8)
#4 void std::allocator_traits<std::allocator<boost::thread> >::construct<boost::thread, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(std::allocator<boost::thread>&, boost::thread*, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/alloc_traits.h:475 (nano_node+0xaf46f8)
#5 boost::thread& std::vector<boost::thread, std::allocator<boost::thread> >::emplace_back<boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/vector.tcc:100 (nano_node+0xaf44e0)
#6 thread_runner /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:120 (nano_node+0xaf4422)
#7 std::_MakeUniq<nano::thread_runner>::__single_object std::make_unique<nano::thread_runner, boost::asio::io_context&, unsigned int&>(boost::asio::io_context&, unsigned int&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:821 (nano_node+0x4d2c73)
#8 nano_daemon::daemon::run(boost::filesystem::path const&, nano::node_flags const&) /home/wezrule/nano/raiblocks/nano/nano_node/daemon.cpp:148 (nano_node+0x4d0115)
#9 main /home/wezrule/nano/raiblocks/nano/nano_node/entry.cpp:158 (nano_node+0x4f9cea)
Thread T36 'I/O' (tid=27472, running) created by main thread at:
#0 pthread_create ??:? (nano_node+0x43b2a6)
#1 boost::thread::start_thread_noexcept(boost::thread_attributes const&) ??:? (nano_node+0xd111b5)
#2 thread<(lambda at /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:120:32)> /usr/local/include/boost/thread/detail/thread.hpp:277 (nano_node+0xaf4a38)
#3 void __gnu_cxx::new_allocator<boost::thread>::construct<boost::thread, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(boost::thread*, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/ext/new_allocator.h:136 (nano_node+0xaf49c8)
#4 void std::allocator_traits<std::allocator<boost::thread> >::construct<boost::thread, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(std::allocator<boost::thread>&, boost::thread*, boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/alloc_traits.h:475 (nano_node+0xaf46f8)
#5 boost::thread& std::vector<boost::thread, std::allocator<boost::thread> >::emplace_back<boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0>(boost::thread_attributes&, nano::thread_runner::thread_runner(boost::asio::io_context&, unsigned int)::$_0&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/vector.tcc:100 (nano_node+0xaf44e0)
#6 thread_runner /home/wezrule/nano/raiblocks/nano/lib/threading.cpp:120 (nano_node+0xaf4422)
#7 std::_MakeUniq<nano::thread_runner>::__single_object std::make_unique<nano::thread_runner, boost::asio::io_context&, unsigned int&>(boost::asio::io_context&, unsigned int&) /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/unique_ptr.h:821 (nano_node+0x4d2c73)
#8 nano_daemon::daemon::run(boost::filesystem::path const&, nano::node_flags const&) /home/wezrule/nano/raiblocks/nano/nano_node/daemon.cpp:148 (nano_node+0x4d0115)
#9 main /home/wezrule/nano/raiblocks/nano/nano_node/entry.cpp:158 (nano_node+0x4f9cea)
SUMMARY: ThreadSanitizer: data race /usr/bin/../lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/chrono:640 in std::chrono::time_point<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >::time_since_epoch() const
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment