Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Message Received: { "cmd": "startTrade",
- "params": {
- }
- }
- OnStartTrading at 237
- ==================
- WARNING: ThreadSanitizer: data race (pid=31044)
- Write of size 8 at 0x7fa02f9be658 by thread T6:
- #0 pthread_cond_destroy /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/tsan/tsan_interceptors.cc:1119 (libtsan.so.0+0x2c376)
- #1 ~SyncTaskBase /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../librobot/OMSQueue.cpp.in:109 (Workflow.so+0x93037)
- #2 ~SyncTask /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../librobot/OMSQueue.cpp.in:142 (Workflow.so+0x95a43)
- #3 OMSQueue<utils::AsyncQueue>::OnStartTrade() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../librobot/OMSQueue.cpp.in:216 (Workflow.so+0xa3feb)
- #4 Workflow::OnStartTrade() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:242 (Workflow.so+0x956fb)
- #5 CmdProcessor::StartTrade(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/CmdProcessor.cpp:312 (OutputConnector.so+0xbffc8)
- #6 ExternalAPI::SignalResponse std::__invoke_impl<ExternalAPI::SignalResponse, ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >(std::__invoke_memfun_deref, ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xcc404)
- #7 std::__invoke_result<ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >::type std::__invoke<ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >(ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xcb9ce)
- #8 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)>::__call<ExternalAPI::SignalResponse, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, 0ul, 1ul>(std::tuple<std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&>&&, std::_Index_tuple<0ul, 1ul>) <null> (OutputConnector.so+0xcac1d)
- #9 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)>::operator()<std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, ExternalAPI::SignalResponse>(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xc95b6)
- #10 std::_Function_handler<ExternalAPI::SignalResponse (std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>), std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)> >::_M_invoke(std::_Any_data const&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xc6e52)
- #11 std::function<ExternalAPI::SignalResponse (std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)>::operator()(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>) const <null> (OutputConnector.so+0xc3a93)
- #12 CmdProcessor::OnMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/CmdProcessor.cpp:46 (OutputConnector.so+0xbb3b2)
- #13 Server::handleRead(Connection*, boost::system::error_code const&, unsigned long) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:197 (OutputConnector.so+0xdd248)
- #14 boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>::operator()(Server*, Connection*, boost::system::error_code const&, unsigned long) const /usr/include/boost/bind/mem_fn_template.hpp:393 (OutputConnector.so+0xf3d5f)
- #15 void boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()>::operator()<boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&> >(boost::_bi::type<void>, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>&, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&>&, int) <null> (OutputConnector.so+0xf0d16)
- #16 void boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code const&, unsigned long const&>(boost::system::error_code const&, unsigned long const&) <null> (OutputConnector.so+0xec96b)
- #17 boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::operator()(boost::system::error_code const&, unsigned long, int) <null> (OutputConnector.so+0xe770a)
- #18 boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>::operator()() /usr/include/boost/asio/detail/bind_handler.hpp:127 (OutputConnector.so+0xfd97f)
- #19 void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, ...) /usr/include/boost/asio/handler_invoke_hook.hpp:69 (OutputConnector.so+0xfd235)
- #20 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (OutputConnector.so+0xfccf2)
- #21 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >*) /usr/include/boost/asio/impl/read.hpp:683 (OutputConnector.so+0xfc824)
- #22 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (OutputConnector.so+0xfb8a1)
- #23 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/reactive_socket_recv_op.hpp:110 (OutputConnector.so+0xf9cf3)
- #24 boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/task_io_service_operation.hpp:38 (OutputConnector.so+0xd1e80)
- #25 boost::asio::detail::epoll_reactor::descriptor_state::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:704 (OutputConnector.so+0xd51e1)
- #26 boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/task_io_service_operation.hpp:38 (OutputConnector.so+0xd1e80)
- #27 boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:372 (OutputConnector.so+0xd63b6)
- #28 boost::asio::detail::task_io_service::run(boost::system::error_code&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:149 (OutputConnector.so+0xd5b97)
- #29 boost::asio::io_service::run() /usr/include/boost/asio/impl/io_service.ipp:59 (OutputConnector.so+0xd6824)
- #30 Server::accept_and_run() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:127 (OutputConnector.so+0xdccc7)
- #31 Server::start() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:137 (OutputConnector.so+0xdcd9c)
- #32 operator() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:423 (OutputConnector.so+0xcca4d)
- #33 __invoke_impl<void, OutputConnector::Run()::<lambda()> > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:60 (OutputConnector.so+0xcd767)
- #34 __invoke<OutputConnector::Run()::<lambda()> > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (OutputConnector.so+0xcd3a9)
- #35 _M_invoke<0> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:244 (OutputConnector.so+0xce418)
- #36 operator() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:253 (OutputConnector.so+0xce368)
- #37 _M_run /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:196 (OutputConnector.so+0xce2da)
- #38 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Previous read of size 8 at 0x7fa02f9be658 by thread T5:
- #0 pthread_cond_broadcast /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/tsan/tsan_interceptors.cc:1112 (libtsan.so.0+0x2c253)
- #1 __gthread_cond_broadcast /usr/src/debug/sys-devel/gcc-8.3.0-r1/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:852 (libstdc++.so.6+0xdc2f8)
- #2 std::condition_variable::notify_all() /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/condition_variable.cc:73 (libstdc++.so.6+0xdc2f8)
- #3 __invoke_impl<void, void ((anonymous namespace)::SyncTaskBase::*&)(), (anonymous namespace)::SyncTask<ExternalAPI::SignalResponse>*&> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Workflow.so+0x98f2e)
- #4 __invoke<void ((anonymous namespace)::SyncTaskBase::*&)(), (anonymous namespace)::SyncTask<ExternalAPI::SignalResponse>*&> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Workflow.so+0x98bde)
- #5 __call<void, 0> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Workflow.so+0x98913)
- #6 operator()<> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Workflow.so+0x9819b)
- #7 _M_invoke /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:297 (Workflow.so+0x9748c)
- #8 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xa070c)
- #9 OMSQueue<utils::AsyncQueue>::Execute(std::function<void ()> const&) const <null> (Workflow.so+0xa776e)
- #10 void std::__invoke_impl<void, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(std::__invoke_memfun_deref, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xc1ade)
- #11 std::__invoke_result<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>::type std::__invoke<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xbd6d6)
- #12 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::__call<void, std::function<void ()> const&, 0ul, 1ul>(std::tuple<std::function<void ()> const&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xb9643)
- #13 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::operator()<std::function<void ()> const&, void>(std::function<void ()> const&) <null> (Workflow.so+0xb3470)
- #14 std::_Function_handler<void (std::function<void ()> const&), std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const> >::_M_invoke(std::_Any_data const&, std::function<void ()> const&) <null> (Workflow.so+0xac899)
- #15 std::function<void (std::function<void ()> const&)>::operator()(std::function<void ()> const&) const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xaf5d8)
- #16 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::Execute() <null> (Workflow.so+0xacb02)
- #17 void std::__invoke_impl<void, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(std::__invoke_memfun_deref, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xb3d57)
- #18 std::__invoke_result<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>::type std::__invoke<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xacde8)
- #19 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xcab72)
- #20 std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::operator()() <null> (Workflow.so+0xc821a)
- #21 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> > >::_M_run() <null> (Workflow.so+0xc4180)
- #22 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Location is stack of thread T6.
- Thread T6 (tid=31051, running) created by main thread at:
- #0 pthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bbde)
- #1 __gthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xe24b4)
- #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xe24b4)
- #3 OutputConnector::Run() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:423 (OutputConnector.so+0xccb36)
- #4 Workflow::Run() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:36 (Workflow.so+0x9392a)
- #5 main /home/work/alfarobot/sources/alfarobotbackend/source/main.cpp:22 (AlfaRobotApp+0x34b2)
- Thread T5 (tid=31050, running) created by main thread at:
- #0 pthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bbde)
- #1 __gthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xe24b4)
- #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xe24b4)
- #3 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::AsyncQueue(std::function<void (std::function<void ()> const&)> const&) <null> (Workflow.so+0xa7a21)
- #4 OMSQueue<utils::AsyncQueue>::OMSQueue() <null> (Workflow.so+0xa144b)
- #5 Workflow::Workflow() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:12 (Workflow.so+0x93289)
- #6 MaxLib::SingleInstanceDynamicModuleInterface<WorkflowI, Workflow>::Create() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../libmax/SingleInstanceDynamicModuleInterface.h:25 (Workflow.so+0xe21c4)
- #7 MaxLib::DynamicModuleInterfaceWrapper<WorkflowI>::LoadModuleInterface(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/libmax/DynamicModuleInterfaceWrapper.h:103 (AlfaRobotApp+0x44e9)
- #8 main /home/work/alfarobot/sources/alfarobotbackend/source/main.cpp:20 (AlfaRobotApp+0x342e)
- SUMMARY: ThreadSanitizer: data race /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../librobot/OMSQueue.cpp.in:109 in ~SyncTaskBase
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=31044)
- Write of size 8 at 0x7fa0342fdb18 by thread T5 (mutexes: write M479773686362004280):
- #0 std::shared_ptr<Order>& std::deque<std::shared_ptr<Order>, std::allocator<std::shared_ptr<Order> > >::emplace_back<std::shared_ptr<Order> >(std::shared_ptr<Order>&&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/deque.tcc:171 (dbconnector.so+0x71f02)
- #1 std::deque<std::shared_ptr<Order>, std::allocator<std::shared_ptr<Order> > >::push_back(std::shared_ptr<Order>&&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_deque.h:1568 (dbconnector.so+0x6babe)
- #2 DBConnector::UpdateOrder(Order const*) /home/work/alfarobot/sources/alfarobotbackend/source/libdbconnector/DBConnector.cpp:260 (dbconnector.so+0x5bd13)
- #3 OMS::UpdateOrderDB(std::shared_ptr<Order> const&) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/OMS.cpp:37 (Robot.so+0xe92a8)
- #4 OMS::CreateOrderUnchecked(std::shared_ptr<Order> const&) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/OMS.cpp:276 (Robot.so+0xeb6cd)
- #5 OMS::CreateLimitOrderUnchecked(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/OMS.cpp:266 (Robot.so+0xeb4e9)
- #6 OMS::CreateLimitOrder(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/OMS.cpp:87 (Robot.so+0xe983c)
- #7 OMSToTradeLogicI::RequestResult std::__invoke_impl<OMSToTradeLogicI::RequestResult, OMSToTradeLogicI::RequestResult (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, BSType&, int&, double&, OrderLogicType&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(std::__invoke_memfun_deref, OMSToTradeLogicI::RequestResult (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, BSType&, int&, double&, OrderLogicType&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Workflow.so+0xdc1ee)
- #8 std::__invoke_result<OMSToTradeLogicI::RequestResult (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, BSType&, int&, double&, OrderLogicType&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>::type std::__invoke<OMSToTradeLogicI::RequestResult (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, BSType&, int&, double&, OrderLogicType&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>(OMSToTradeLogicI::RequestResult (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, BSType&, int&, double&, OrderLogicType&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Workflow.so+0xda57c)
- #9 OMSToTradeLogicI::RequestResult std::_Bind<OMSToTradeLogicI::RequestResult (OMS::*(OMS*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>::__call<OMSToTradeLogicI::RequestResult, , 0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul, 5ul, 6ul, 7ul>) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Workflow.so+0xd859a)
- #10 OMSToTradeLogicI::RequestResult std::_Bind<OMSToTradeLogicI::RequestResult (OMS::*(OMS*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>::operator()<, OMSToTradeLogicI::RequestResult>() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Workflow.so+0xd5177)
- #11 std::_Function_handler<void (), std::_Bind<OMSToTradeLogicI::RequestResult (OMS::*(OMS*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BSType, int, double, OrderLogicType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)> >::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:297 (Workflow.so+0xd06b1)
- #12 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xa070c)
- #13 OMSQueue<utils::AsyncQueue>::Execute(std::function<void ()> const&) const <null> (Workflow.so+0xa776e)
- #14 void std::__invoke_impl<void, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(std::__invoke_memfun_deref, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xc1ade)
- #15 std::__invoke_result<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>::type std::__invoke<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xbd6d6)
- #16 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::__call<void, std::function<void ()> const&, 0ul, 1ul>(std::tuple<std::function<void ()> const&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xb9643)
- #17 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::operator()<std::function<void ()> const&, void>(std::function<void ()> const&) <null> (Workflow.so+0xb3470)
- #18 std::_Function_handler<void (std::function<void ()> const&), std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const> >::_M_invoke(std::_Any_data const&, std::function<void ()> const&) <null> (Workflow.so+0xac899)
- #19 std::function<void (std::function<void ()> const&)>::operator()(std::function<void ()> const&) const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xaf5d8)
- #20 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::Execute() <null> (Workflow.so+0xacb02)
- #21 void std::__invoke_impl<void, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(std::__invoke_memfun_deref, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xb3d57)
- #22 std::__invoke_result<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>::type std::__invoke<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xacde8)
- #23 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xcab72)
- #24 std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::operator()() <null> (Workflow.so+0xc821a)
- #25 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> > >::_M_run() <null> (Workflow.so+0xc4180)
- #26 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Previous read of size 8 at 0x7fa0342fdb18 by thread T66:
- #0 bool std::operator==<std::shared_ptr<Order>, std::shared_ptr<Order>&, std::shared_ptr<Order>*>(std::_Deque_iterator<std::shared_ptr<Order>, std::shared_ptr<Order>&, std::shared_ptr<Order>*> const&, std::_Deque_iterator<std::shared_ptr<Order>, std::shared_ptr<Order>&, std::shared_ptr<Order>*> const&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_deque.h:270 (dbconnector.so+0x74dab)
- #1 std::deque<std::shared_ptr<Order>, std::allocator<std::shared_ptr<Order> > >::empty() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_deque.h:1368 (dbconnector.so+0x6d4db)
- #2 DBConnector::processOrders() /home/work/alfarobot/sources/alfarobotbackend/source/libdbconnector/DBConnector.cpp:821 (dbconnector.so+0x61f89)
- #3 DBConnector::poller() /home/work/alfarobot/sources/alfarobotbackend/source/libdbconnector/DBConnector.cpp:575 (dbconnector.so+0x5f56d)
- #4 DBConnector::Run()::{lambda()#1}::operator()() const /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../libdbconnector/DBConnector.h:128 (Workflow.so+0x9a687)
- #5 void std::__invoke_impl<void, DBConnector::Run()::{lambda()#1}>(std::__invoke_other, DBConnector::Run()::{lambda()#1}&&) <null> (Workflow.so+0xa53fd)
- #6 std::__invoke_result<DBConnector::Run()::{lambda()#1}>::type std::__invoke<DBConnector::Run()::{lambda()#1}>(std::__invoke_result&&, (DBConnector::Run()::{lambda()#1}&&)...) <null> (Workflow.so+0x9fe92)
- #7 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<DBConnector::Run()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (Workflow.so+0xcacae)
- #8 std::thread::_Invoker<std::tuple<DBConnector::Run()::{lambda()#1}> >::operator()() <null> (Workflow.so+0xc82f2)
- #9 std::thread::_State_impl<std::thread::_Invoker<std::tuple<DBConnector::Run()::{lambda()#1}> > >::_M_run() <null> (Workflow.so+0xc425e)
- #10 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Location is global 'MaxLib::SingleInstanceDynamicModuleInterface<WorkflowI, Workflow>::Create()::cmi' of size 7424 at 0x7fa0342fc340 (Workflow.so+0x000000114b18)
- Mutex M479773686362004280 is already destroyed.
- Thread T5 (tid=31050, running) created by main thread at:
- #0 pthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bbde)
- #1 __gthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xe24b4)
- #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xe24b4)
- #3 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::AsyncQueue(std::function<void (std::function<void ()> const&)> const&) <null> (Workflow.so+0xa7a21)
- #4 OMSQueue<utils::AsyncQueue>::OMSQueue() <null> (Workflow.so+0xa144b)
- #5 Workflow::Workflow() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:12 (Workflow.so+0x93289)
- #6 MaxLib::SingleInstanceDynamicModuleInterface<WorkflowI, Workflow>::Create() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../libmax/SingleInstanceDynamicModuleInterface.h:25 (Workflow.so+0xe21c4)
- #7 MaxLib::DynamicModuleInterfaceWrapper<WorkflowI>::LoadModuleInterface(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/libmax/DynamicModuleInterfaceWrapper.h:103 (AlfaRobotApp+0x44e9)
- #8 main /home/work/alfarobot/sources/alfarobotbackend/source/main.cpp:20 (AlfaRobotApp+0x342e)
- Thread T66 (tid=31840, running) created by thread T6 at:
- #0 pthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bbde)
- #1 __gthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xe24b4)
- #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xe24b4)
- #3 DBConnector::Run() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../libdbconnector/DBConnector.h:128 (Workflow.so+0x9a70d)
- #4 Workflow::OnStart(ExternalAPI::StartingParams) /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:188 (Workflow.so+0x94eb8)
- #5 CmdProcessor::Start(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/CmdProcessor.cpp:290 (OutputConnector.so+0xbee08)
- #6 ExternalAPI::SignalResponse std::__invoke_impl<ExternalAPI::SignalResponse, ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >(std::__invoke_memfun_deref, ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xcc404)
- #7 std::__invoke_result<ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >::type std::__invoke<ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >(ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xcb9ce)
- #8 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)>::__call<ExternalAPI::SignalResponse, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, 0ul, 1ul>(std::tuple<std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&>&&, std::_Index_tuple<0ul, 1ul>) <null> (OutputConnector.so+0xcac1d)
- #9 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)>::operator()<std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, ExternalAPI::SignalResponse>(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xc95b6)
- #10 std::_Function_handler<ExternalAPI::SignalResponse (std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>), std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)> >::_M_invoke(std::_Any_data const&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xc6e52)
- #11 std::function<ExternalAPI::SignalResponse (std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)>::operator()(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>) const <null> (OutputConnector.so+0xc3a93)
- #12 CmdProcessor::OnMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/CmdProcessor.cpp:46 (OutputConnector.so+0xbb3b2)
- #13 Server::handleRead(Connection*, boost::system::error_code const&, unsigned long) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:197 (OutputConnector.so+0xdd248)
- #14 boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>::operator()(Server*, Connection*, boost::system::error_code const&, unsigned long) const /usr/include/boost/bind/mem_fn_template.hpp:393 (OutputConnector.so+0xf3d5f)
- #15 void boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()>::operator()<boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&> >(boost::_bi::type<void>, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>&, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&>&, int) <null> (OutputConnector.so+0xf0d16)
- #16 void boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code const&, unsigned long const&>(boost::system::error_code const&, unsigned long const&) <null> (OutputConnector.so+0xec96b)
- #17 boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::operator()(boost::system::error_code const&, unsigned long, int) <null> (OutputConnector.so+0xe770a)
- #18 boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>::operator()() /usr/include/boost/asio/detail/bind_handler.hpp:127 (OutputConnector.so+0xfd97f)
- #19 void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, ...) /usr/include/boost/asio/handler_invoke_hook.hpp:69 (OutputConnector.so+0xfd235)
- #20 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (OutputConnector.so+0xfccf2)
- #21 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >*) /usr/include/boost/asio/impl/read.hpp:683 (OutputConnector.so+0xfc824)
- #22 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (OutputConnector.so+0xfb8a1)
- #23 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/reactive_socket_recv_op.hpp:110 (OutputConnector.so+0xf9cf3)
- #24 boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/task_io_service_operation.hpp:38 (OutputConnector.so+0xd1e80)
- #25 boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:372 (OutputConnector.so+0xd63b6)
- #26 boost::asio::detail::task_io_service::run(boost::system::error_code&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:149 (OutputConnector.so+0xd5b97)
- #27 boost::asio::io_service::run() /usr/include/boost/asio/impl/io_service.ipp:59 (OutputConnector.so+0xd6824)
- #28 Server::accept_and_run() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:127 (OutputConnector.so+0xdccc7)
- #29 Server::start() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:137 (OutputConnector.so+0xdcd9c)
- #30 operator() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:423 (OutputConnector.so+0xcca4d)
- #31 __invoke_impl<void, OutputConnector::Run()::<lambda()> > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:60 (OutputConnector.so+0xcd767)
- #32 __invoke<OutputConnector::Run()::<lambda()> > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (OutputConnector.so+0xcd3a9)
- #33 _M_invoke<0> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:244 (OutputConnector.so+0xce418)
- #34 operator() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:253 (OutputConnector.so+0xce368)
- #35 _M_run /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:196 (OutputConnector.so+0xce2da)
- #36 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- SUMMARY: ThreadSanitizer: data race /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/deque.tcc:171 in std::shared_ptr<Order>& std::deque<std::shared_ptr<Order>, std::allocator<std::shared_ptr<Order> > >::emplace_back<std::shared_ptr<Order> >(std::shared_ptr<Order>&&)
- ==================
- OnStopTrading at 271
- ==================
- WARNING: ThreadSanitizer: data race (pid=31044)
- Write of size 8 at 0x7fa0342fdb90 by thread T5 (mutexes: write M1298, write M2422, write M327777198938250160):
- #0 std::shared_ptr<Position>& std::deque<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > >::emplace_back<std::shared_ptr<Position> >(std::shared_ptr<Position>&&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/deque.tcc:171 (dbconnector.so+0x72026)
- #1 std::deque<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > >::push_back(std::shared_ptr<Position>&&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_deque.h:1568 (dbconnector.so+0x6bb28)
- #2 DBConnector::UpdatePosition(Position const*) /home/work/alfarobot/sources/alfarobotbackend/source/libdbconnector/DBConnector.cpp:271 (dbconnector.so+0x5be1c)
- #3 Calculator::UpdatePositionDB(std::shared_ptr<Position> const&) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/Calculator.cpp:72 (Robot.so+0x90dc9)
- #4 void std::__invoke_impl<void, void (Calculator::*&)(std::shared_ptr<Position> const&), Calculator*&, std::shared_ptr<Position>&>(std::__invoke_memfun_deref, void (Calculator::*&)(std::shared_ptr<Position> const&), Calculator*&, std::shared_ptr<Position>&) <null> (Robot.so+0x9b01f)
- #5 std::__invoke_result<void (Calculator::*&)(std::shared_ptr<Position> const&), Calculator*&, std::shared_ptr<Position>&>::type std::__invoke<void (Calculator::*&)(std::shared_ptr<Position> const&), Calculator*&, std::shared_ptr<Position>&>(void (Calculator::*&)(std::shared_ptr<Position> const&), Calculator*&, std::shared_ptr<Position>&) <null> (Robot.so+0x9a0f6)
- #6 void std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(std::shared_ptr<Position> const&)>::__call<void, std::shared_ptr<Position>&, 0ul, 1ul>(std::tuple<std::shared_ptr<Position>&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Robot.so+0x988cf)
- #7 void std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(std::shared_ptr<Position> const&)>::operator()<std::shared_ptr<Position>&, void>(std::shared_ptr<Position>&) <null> (Robot.so+0x96e7e)
- #8 std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(std::shared_ptr<Position> const&)> std::for_each<__gnu_cxx::__normal_iterator<std::shared_ptr<Position>*, std::vector<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > > >, std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(std::shared_ptr<Position> const&)> >(__gnu_cxx::__normal_iterator<std::shared_ptr<Position>*, std::vector<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<Position>*, std::vector<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > > >, std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(std::shared_ptr<Position> const&)>) <null> (Robot.so+0x94fa9)
- #9 Calculator::HandleFillOrder(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BSType, int, double) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/Calculator.cpp:160 (Robot.so+0x91ca5)
- #10 OMS::OnFillOrder(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/OMS.cpp:370 (Robot.so+0xec2ab)
- #11 void std::__invoke_impl<void, void (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, double&>(std::__invoke_memfun_deref, void (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, double&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Workflow.so+0xdb662)
- #12 std::__invoke_result<void (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, double&>::type std::__invoke<void (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, double&>(void (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, double&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Workflow.so+0xd9b16)
- #13 void std::_Bind<void (OMS::*(OMS*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double)>::__call<void, , 0ul, 1ul, 2ul, 3ul, 4ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul>) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Workflow.so+0xd7d50)
- #14 void std::_Bind<void (OMS::*(OMS*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double)>::operator()<, void>() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Workflow.so+0xd3c93)
- #15 std::_Function_handler<void (), std::_Bind<void (OMS::*(OMS*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double)> >::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:297 (Workflow.so+0xcf975)
- #16 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xa070c)
- #17 OMSQueue<utils::AsyncQueue>::Execute(std::function<void ()> const&) const <null> (Workflow.so+0xa776e)
- #18 void std::__invoke_impl<void, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(std::__invoke_memfun_deref, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xc1ade)
- #19 std::__invoke_result<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>::type std::__invoke<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xbd6d6)
- #20 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::__call<void, std::function<void ()> const&, 0ul, 1ul>(std::tuple<std::function<void ()> const&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xb9643)
- #21 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::operator()<std::function<void ()> const&, void>(std::function<void ()> const&) <null> (Workflow.so+0xb3470)
- #22 std::_Function_handler<void (std::function<void ()> const&), std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const> >::_M_invoke(std::_Any_data const&, std::function<void ()> const&) <null> (Workflow.so+0xac899)
- #23 std::function<void (std::function<void ()> const&)>::operator()(std::function<void ()> const&) const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xaf5d8)
- #24 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::Execute() <null> (Workflow.so+0xacb02)
- #25 void std::__invoke_impl<void, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(std::__invoke_memfun_deref, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xb3d57)
- #26 std::__invoke_result<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>::type std::__invoke<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xacde8)
- #27 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xcab72)
- #28 std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::operator()() <null> (Workflow.so+0xc821a)
- #29 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> > >::_M_run() <null> (Workflow.so+0xc4180)
- #30 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Previous read of size 8 at 0x7fa0342fdb90 by thread T66:
- #0 bool std::operator==<std::shared_ptr<Position>, std::shared_ptr<Position>&, std::shared_ptr<Position>*>(std::_Deque_iterator<std::shared_ptr<Position>, std::shared_ptr<Position>&, std::shared_ptr<Position>*> const&, std::_Deque_iterator<std::shared_ptr<Position>, std::shared_ptr<Position>&, std::shared_ptr<Position>*> const&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_deque.h:270 (dbconnector.so+0x75b13)
- #1 std::deque<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > >::empty() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_deque.h:1368 (dbconnector.so+0x6db4d)
- #2 DBConnector::processPositions() /home/work/alfarobot/sources/alfarobotbackend/source/libdbconnector/DBConnector.cpp:885 (dbconnector.so+0x62a9f)
- #3 DBConnector::poller() /home/work/alfarobot/sources/alfarobotbackend/source/libdbconnector/DBConnector.cpp:577 (dbconnector.so+0x5f579)
- #4 DBConnector::Run()::{lambda()#1}::operator()() const /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../libdbconnector/DBConnector.h:128 (Workflow.so+0x9a687)
- #5 void std::__invoke_impl<void, DBConnector::Run()::{lambda()#1}>(std::__invoke_other, DBConnector::Run()::{lambda()#1}&&) <null> (Workflow.so+0xa53fd)
- #6 std::__invoke_result<DBConnector::Run()::{lambda()#1}>::type std::__invoke<DBConnector::Run()::{lambda()#1}>(std::__invoke_result&&, (DBConnector::Run()::{lambda()#1}&&)...) <null> (Workflow.so+0x9fe92)
- #7 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<DBConnector::Run()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (Workflow.so+0xcacae)
- #8 std::thread::_Invoker<std::tuple<DBConnector::Run()::{lambda()#1}> >::operator()() <null> (Workflow.so+0xc82f2)
- #9 std::thread::_State_impl<std::thread::_Invoker<std::tuple<DBConnector::Run()::{lambda()#1}> > >::_M_run() <null> (Workflow.so+0xc425e)
- #10 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Location is global 'MaxLib::SingleInstanceDynamicModuleInterface<WorkflowI, Workflow>::Create()::cmi' of size 7424 at 0x7fa0342fc340 (Workflow.so+0x000000114b90)
- Mutex M1298 (0x7fa0342fd9c8) created at:
- #0 pthread_mutex_lock /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3799 (libtsan.so.0+0x3f9cb)
- #1 __gthread_mutex_lock /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h:748 (Robot.so+0x9060e)
- #2 __gthread_recursive_mutex_lock /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h:810 (Robot.so+0x92afd)
- #3 std::recursive_mutex::lock() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/mutex:107 (Robot.so+0x93142)
- #4 std::lock_guard<std::recursive_mutex>::lock_guard(std::recursive_mutex&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_mutex.h:162 (Robot.so+0xf1632)
- #5 PositionList::Clear() /home/work/alfarobot/sources/alfarobotbackend/source/librobot/PositionList.cpp:76 (Robot.so+0xf569a)
- #6 Calculator::Initialize(ExternalAPI::NotificationAPI*) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/Calculator.cpp:55 (Robot.so+0x90ba9)
- #7 Workflow::OnStart(ExternalAPI::StartingParams) /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:120 (Workflow.so+0x945b5)
- #8 CmdProcessor::Start(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/CmdProcessor.cpp:290 (OutputConnector.so+0xbee08)
- #9 ExternalAPI::SignalResponse std::__invoke_impl<ExternalAPI::SignalResponse, ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >(std::__invoke_memfun_deref, ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xcc404)
- #10 std::__invoke_result<ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >::type std::__invoke<ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >(ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xcb9ce)
- #11 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)>::__call<ExternalAPI::SignalResponse, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, 0ul, 1ul>(std::tuple<std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&>&&, std::_Index_tuple<0ul, 1ul>) <null> (OutputConnector.so+0xcac1d)
- #12 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)>::operator()<std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, ExternalAPI::SignalResponse>(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xc95b6)
- #13 std::_Function_handler<ExternalAPI::SignalResponse (std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>), std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)> >::_M_invoke(std::_Any_data const&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xc6e52)
- #14 std::function<ExternalAPI::SignalResponse (std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)>::operator()(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>) const <null> (OutputConnector.so+0xc3a93)
- #15 CmdProcessor::OnMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/CmdProcessor.cpp:46 (OutputConnector.so+0xbb3b2)
- #16 Server::handleRead(Connection*, boost::system::error_code const&, unsigned long) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:197 (OutputConnector.so+0xdd248)
- #17 boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>::operator()(Server*, Connection*, boost::system::error_code const&, unsigned long) const /usr/include/boost/bind/mem_fn_template.hpp:393 (OutputConnector.so+0xf3d5f)
- #18 void boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()>::operator()<boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&> >(boost::_bi::type<void>, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>&, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&>&, int) <null> (OutputConnector.so+0xf0d16)
- #19 void boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code const&, unsigned long const&>(boost::system::error_code const&, unsigned long const&) <null> (OutputConnector.so+0xec96b)
- #20 boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::operator()(boost::system::error_code const&, unsigned long, int) <null> (OutputConnector.so+0xe770a)
- #21 boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>::operator()() /usr/include/boost/asio/detail/bind_handler.hpp:127 (OutputConnector.so+0xfd97f)
- #22 void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, ...) /usr/include/boost/asio/handler_invoke_hook.hpp:69 (OutputConnector.so+0xfd235)
- #23 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (OutputConnector.so+0xfccf2)
- #24 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >*) /usr/include/boost/asio/impl/read.hpp:683 (OutputConnector.so+0xfc824)
- #25 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (OutputConnector.so+0xfb8a1)
- #26 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/reactive_socket_recv_op.hpp:110 (OutputConnector.so+0xf9cf3)
- #27 boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/task_io_service_operation.hpp:38 (OutputConnector.so+0xd1e80)
- #28 boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:372 (OutputConnector.so+0xd63b6)
- #29 boost::asio::detail::task_io_service::run(boost::system::error_code&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:149 (OutputConnector.so+0xd5b97)
- #30 boost::asio::io_service::run() /usr/include/boost/asio/impl/io_service.ipp:59 (OutputConnector.so+0xd6824)
- #31 Server::accept_and_run() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:127 (OutputConnector.so+0xdccc7)
- #32 Server::start() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:137 (OutputConnector.so+0xdcd9c)
- #33 operator() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:423 (OutputConnector.so+0xcca4d)
- #34 __invoke_impl<void, OutputConnector::Run()::<lambda()> > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:60 (OutputConnector.so+0xcd767)
- #35 __invoke<OutputConnector::Run()::<lambda()> > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (OutputConnector.so+0xcd3a9)
- #36 _M_invoke<0> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:244 (OutputConnector.so+0xce418)
- #37 operator() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:253 (OutputConnector.so+0xce368)
- #38 _M_run /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:196 (OutputConnector.so+0xce2da)
- #39 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Mutex M2422 (0x7fa0342fda30) created at:
- #0 pthread_mutex_lock /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3799 (libtsan.so.0+0x3f9cb)
- #1 __gthread_mutex_lock /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h:748 (Workflow.so+0x99a77)
- #2 std::mutex::lock() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_mutex.h:103 (Workflow.so+0x99ffe)
- #3 std::lock_guard<std::mutex>::lock_guard(std::mutex&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_mutex.h:162 (Workflow.so+0x9f926)
- #4 Calculator::OnBidAskPriceCallback(math::BidAskPriceSummary const&) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/Calculator.cpp:232 (Robot.so+0x925af)
- #5 void std::__invoke_impl<void, void (Calculator::*&)(math::BidAskPriceSummary const&), Calculator*&, math::BidAskPriceSummary>(std::__invoke_memfun_deref, void (Calculator::*&)(math::BidAskPriceSummary const&), Calculator*&, math::BidAskPriceSummary&&) <null> (Robot.so+0x9b429)
- #6 std::__invoke_result<void (Calculator::*&)(math::BidAskPriceSummary const&), Calculator*&, math::BidAskPriceSummary>::type std::__invoke<void (Calculator::*&)(math::BidAskPriceSummary const&), Calculator*&, math::BidAskPriceSummary>(void (Calculator::*&)(math::BidAskPriceSummary const&), Calculator*&, math::BidAskPriceSummary&&) <null> (Robot.so+0x9a5f4)
- #7 void std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(math::BidAskPriceSummary const&)>::__call<void, math::BidAskPriceSummary&&, 0ul, 1ul>(std::tuple<math::BidAskPriceSummary&&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Robot.so+0x993d3)
- #8 void std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(math::BidAskPriceSummary const&)>::operator()<math::BidAskPriceSummary, void>(math::BidAskPriceSummary&&) <null> (Robot.so+0x97960)
- #9 std::_Function_handler<void (math::BidAskPriceSummary), std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(math::BidAskPriceSummary const&)> >::_M_invoke(std::_Any_data const&, math::BidAskPriceSummary&&) <null> (Robot.so+0x95d59)
- #10 std::function<void (math::BidAskPriceSummary)>::operator()(math::BidAskPriceSummary) const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (math.so+0x4d5ed)
- #11 math::Notifier<math::BidAskPriceSummary>::Notify(math::BidAskPriceSummary const&) const /home/work/alfarobot/sources/alfarobotbackend/source/libmath/statistics.h:39 (math.so+0x4ca42)
- #12 math::BidAskPriceStatistics::SetBidAsk(double, double, double) /home/work/alfarobot/sources/alfarobotbackend/source/libmath/statistics.cpp:44 (math.so+0x4b56d)
- #13 TradeLogic::InitializeHistoryPointDb(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/TradeLogic.cpp:1642 (Robot.so+0xa93fe)
- #14 TradeLogic::OnStart(ExternalAPI::StartingParams) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/TradeLogic.cpp:221 (Robot.so+0xa1a3c)
- #15 OMS::OnStart(ExternalAPI::StartingParams) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/OMS.cpp:511 (Robot.so+0xed85a)
- #16 ExternalAPI::SignalResponse std::__invoke_impl<ExternalAPI::SignalResponse, ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&>(std::__invoke_memfun_deref, ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Workflow.so+0xc22b7)
- #17 std::__invoke_result<ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&>::type std::__invoke<ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&>(ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Workflow.so+0xc03fe)
- #18 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (OMS::*(OMS*, ExternalAPI::StartingParams))(ExternalAPI::StartingParams)>::__call<ExternalAPI::SignalResponse, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Workflow.so+0xbb355)
- #19 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (OMS::*(OMS*, ExternalAPI::StartingParams))(ExternalAPI::StartingParams)>::operator()<, ExternalAPI::SignalResponse>() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Workflow.so+0xb59d5)
- #20 std::_Function_handler<ExternalAPI::SignalResponse (), std::_Bind<ExternalAPI::SignalResponse (OMS::*(OMS*, ExternalAPI::StartingParams))(ExternalAPI::StartingParams)> >::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:282 (Workflow.so+0xaefdf)
- #21 std::function<ExternalAPI::SignalResponse ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xca7e0)
- #22 execute /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../librobot/OMSQueue.cpp.in:160 (Workflow.so+0x9975a)
- #23 operator() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../librobot/OMSQueue.cpp.in:113 (Workflow.so+0x92e0e)
- #24 __invoke_impl<void, void ((anonymous namespace)::SyncTaskBase::*&)(), (anonymous namespace)::SyncTask<ExternalAPI::SignalResponse>*&> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Workflow.so+0x98f2e)
- #25 __invoke<void ((anonymous namespace)::SyncTaskBase::*&)(), (anonymous namespace)::SyncTask<ExternalAPI::SignalResponse>*&> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Workflow.so+0x98bde)
- #26 __call<void, 0> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Workflow.so+0x98913)
- #27 operator()<> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Workflow.so+0x9819b)
- #28 _M_invoke /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:297 (Workflow.so+0x9748c)
- #29 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xa070c)
- #30 OMSQueue<utils::AsyncQueue>::Execute(std::function<void ()> const&) const <null> (Workflow.so+0xa776e)
- #31 void std::__invoke_impl<void, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(std::__invoke_memfun_deref, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xc1ade)
- #32 std::__invoke_result<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>::type std::__invoke<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xbd6d6)
- #33 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::__call<void, std::function<void ()> const&, 0ul, 1ul>(std::tuple<std::function<void ()> const&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xb9643)
- #34 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::operator()<std::function<void ()> const&, void>(std::function<void ()> const&) <null> (Workflow.so+0xb3470)
- #35 std::_Function_handler<void (std::function<void ()> const&), std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const> >::_M_invoke(std::_Any_data const&, std::function<void ()> const&) <null> (Workflow.so+0xac899)
- #36 std::function<void (std::function<void ()> const&)>::operator()(std::function<void ()> const&) const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xaf5d8)
- #37 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::Execute() <null> (Workflow.so+0xacb02)
- #38 void std::__invoke_impl<void, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(std::__invoke_memfun_deref, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xb3d57)
- #39 std::__invoke_result<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>::type std::__invoke<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xacde8)
- #40 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xcab72)
- #41 std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::operator()() <null> (Workflow.so+0xc821a)
- #42 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> > >::_M_run() <null> (Workflow.so+0xc4180)
- #43 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Mutex M327777198938250160 is already destroyed.
- Thread T5 (tid=31050, running) created by main thread at:
- #0 pthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bbde)
- #1 __gthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xe24b4)
- #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xe24b4)
- #3 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::AsyncQueue(std::function<void (std::function<void ()> const&)> const&) <null> (Workflow.so+0xa7a21)
- #4 OMSQueue<utils::AsyncQueue>::OMSQueue() <null> (Workflow.so+0xa144b)
- #5 Workflow::Workflow() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:12 (Workflow.so+0x93289)
- #6 MaxLib::SingleInstanceDynamicModuleInterface<WorkflowI, Workflow>::Create() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../libmax/SingleInstanceDynamicModuleInterface.h:25 (Workflow.so+0xe21c4)
- #7 MaxLib::DynamicModuleInterfaceWrapper<WorkflowI>::LoadModuleInterface(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/libmax/DynamicModuleInterfaceWrapper.h:103 (AlfaRobotApp+0x44e9)
- #8 main /home/work/alfarobot/sources/alfarobotbackend/source/main.cpp:20 (AlfaRobotApp+0x342e)
- Thread T66 (tid=31840, running) created by thread T6 at:
- #0 pthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bbde)
- #1 __gthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xe24b4)
- #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xe24b4)
- #3 DBConnector::Run() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../libdbconnector/DBConnector.h:128 (Workflow.so+0x9a70d)
- #4 Workflow::OnStart(ExternalAPI::StartingParams) /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:188 (Workflow.so+0x94eb8)
- #5 CmdProcessor::Start(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/CmdProcessor.cpp:290 (OutputConnector.so+0xbee08)
- #6 ExternalAPI::SignalResponse std::__invoke_impl<ExternalAPI::SignalResponse, ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >(std::__invoke_memfun_deref, ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xcc404)
- #7 std::__invoke_result<ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >::type std::__invoke<ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >(ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xcb9ce)
- #8 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)>::__call<ExternalAPI::SignalResponse, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, 0ul, 1ul>(std::tuple<std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&>&&, std::_Index_tuple<0ul, 1ul>) <null> (OutputConnector.so+0xcac1d)
- #9 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)>::operator()<std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, ExternalAPI::SignalResponse>(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xc95b6)
- #10 std::_Function_handler<ExternalAPI::SignalResponse (std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>), std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)> >::_M_invoke(std::_Any_data const&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xc6e52)
- #11 std::function<ExternalAPI::SignalResponse (std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)>::operator()(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>) const <null> (OutputConnector.so+0xc3a93)
- #12 CmdProcessor::OnMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/CmdProcessor.cpp:46 (OutputConnector.so+0xbb3b2)
- #13 Server::handleRead(Connection*, boost::system::error_code const&, unsigned long) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:197 (OutputConnector.so+0xdd248)
- #14 boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>::operator()(Server*, Connection*, boost::system::error_code const&, unsigned long) const /usr/include/boost/bind/mem_fn_template.hpp:393 (OutputConnector.so+0xf3d5f)
- #15 void boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()>::operator()<boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&> >(boost::_bi::type<void>, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>&, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&>&, int) <null> (OutputConnector.so+0xf0d16)
- #16 void boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code const&, unsigned long const&>(boost::system::error_code const&, unsigned long const&) <null> (OutputConnector.so+0xec96b)
- #17 boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::operator()(boost::system::error_code const&, unsigned long, int) <null> (OutputConnector.so+0xe770a)
- #18 boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>::operator()() /usr/include/boost/asio/detail/bind_handler.hpp:127 (OutputConnector.so+0xfd97f)
- #19 void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, ...) /usr/include/boost/asio/handler_invoke_hook.hpp:69 (OutputConnector.so+0xfd235)
- #20 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (OutputConnector.so+0xfccf2)
- #21 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >*) /usr/include/boost/asio/impl/read.hpp:683 (OutputConnector.so+0xfc824)
- #22 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (OutputConnector.so+0xfb8a1)
- #23 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/reactive_socket_recv_op.hpp:110 (OutputConnector.so+0xf9cf3)
- #24 boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/task_io_service_operation.hpp:38 (OutputConnector.so+0xd1e80)
- #25 boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:372 (OutputConnector.so+0xd63b6)
- #26 boost::asio::detail::task_io_service::run(boost::system::error_code&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:149 (OutputConnector.so+0xd5b97)
- #27 boost::asio::io_service::run() /usr/include/boost/asio/impl/io_service.ipp:59 (OutputConnector.so+0xd6824)
- #28 Server::accept_and_run() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:127 (OutputConnector.so+0xdccc7)
- #29 Server::start() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:137 (OutputConnector.so+0xdcd9c)
- #30 operator() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:423 (OutputConnector.so+0xcca4d)
- #31 __invoke_impl<void, OutputConnector::Run()::<lambda()> > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:60 (OutputConnector.so+0xcd767)
- #32 __invoke<OutputConnector::Run()::<lambda()> > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (OutputConnector.so+0xcd3a9)
- #33 _M_invoke<0> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:244 (OutputConnector.so+0xce418)
- #34 operator() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:253 (OutputConnector.so+0xce368)
- #35 _M_run /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:196 (OutputConnector.so+0xce2da)
- #36 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- SUMMARY: ThreadSanitizer: data race /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/deque.tcc:171 in std::shared_ptr<Position>& std::deque<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > >::emplace_back<std::shared_ptr<Position> >(std::shared_ptr<Position>&&)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=31044)
- Read of size 8 at 0x7fa0342fdb90 by thread T66:
- #0 bool std::operator==<std::shared_ptr<Position>, std::shared_ptr<Position>&, std::shared_ptr<Position>*>(std::_Deque_iterator<std::shared_ptr<Position>, std::shared_ptr<Position>&, std::shared_ptr<Position>*> const&, std::_Deque_iterator<std::shared_ptr<Position>, std::shared_ptr<Position>&, std::shared_ptr<Position>*> const&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_deque.h:270 (dbconnector.so+0x75b13)
- #1 std::deque<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > >::empty() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_deque.h:1368 (dbconnector.so+0x6db4d)
- #2 DBConnector::processPositions() /home/work/alfarobot/sources/alfarobotbackend/source/libdbconnector/DBConnector.cpp:885 (dbconnector.so+0x62a9f)
- #3 DBConnector::poller() /home/work/alfarobot/sources/alfarobotbackend/source/libdbconnector/DBConnector.cpp:577 (dbconnector.so+0x5f579)
- #4 DBConnector::Run()::{lambda()#1}::operator()() const /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../libdbconnector/DBConnector.h:128 (Workflow.so+0x9a687)
- #5 void std::__invoke_impl<void, DBConnector::Run()::{lambda()#1}>(std::__invoke_other, DBConnector::Run()::{lambda()#1}&&) <null> (Workflow.so+0xa53fd)
- #6 std::__invoke_result<DBConnector::Run()::{lambda()#1}>::type std::__invoke<DBConnector::Run()::{lambda()#1}>(std::__invoke_result&&, (DBConnector::Run()::{lambda()#1}&&)...) <null> (Workflow.so+0x9fe92)
- #7 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<DBConnector::Run()::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (Workflow.so+0xcacae)
- #8 std::thread::_Invoker<std::tuple<DBConnector::Run()::{lambda()#1}> >::operator()() <null> (Workflow.so+0xc82f2)
- #9 std::thread::_State_impl<std::thread::_Invoker<std::tuple<DBConnector::Run()::{lambda()#1}> > >::_M_run() <null> (Workflow.so+0xc425e)
- #10 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Previous write of size 8 at 0x7fa0342fdb90 by thread T5 (mutexes: write M1298, write M2422, write M327777198938250160):
- #0 std::shared_ptr<Position>& std::deque<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > >::emplace_back<std::shared_ptr<Position> >(std::shared_ptr<Position>&&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/deque.tcc:171 (dbconnector.so+0x72026)
- #1 std::deque<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > >::push_back(std::shared_ptr<Position>&&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_deque.h:1568 (dbconnector.so+0x6bb28)
- #2 DBConnector::UpdatePosition(Position const*) /home/work/alfarobot/sources/alfarobotbackend/source/libdbconnector/DBConnector.cpp:271 (dbconnector.so+0x5be1c)
- #3 Calculator::UpdatePositionDB(std::shared_ptr<Position> const&) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/Calculator.cpp:72 (Robot.so+0x90dc9)
- #4 void std::__invoke_impl<void, void (Calculator::*&)(std::shared_ptr<Position> const&), Calculator*&, std::shared_ptr<Position>&>(std::__invoke_memfun_deref, void (Calculator::*&)(std::shared_ptr<Position> const&), Calculator*&, std::shared_ptr<Position>&) <null> (Robot.so+0x9b01f)
- #5 std::__invoke_result<void (Calculator::*&)(std::shared_ptr<Position> const&), Calculator*&, std::shared_ptr<Position>&>::type std::__invoke<void (Calculator::*&)(std::shared_ptr<Position> const&), Calculator*&, std::shared_ptr<Position>&>(void (Calculator::*&)(std::shared_ptr<Position> const&), Calculator*&, std::shared_ptr<Position>&) <null> (Robot.so+0x9a0f6)
- #6 void std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(std::shared_ptr<Position> const&)>::__call<void, std::shared_ptr<Position>&, 0ul, 1ul>(std::tuple<std::shared_ptr<Position>&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Robot.so+0x988cf)
- #7 void std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(std::shared_ptr<Position> const&)>::operator()<std::shared_ptr<Position>&, void>(std::shared_ptr<Position>&) <null> (Robot.so+0x96e7e)
- #8 std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(std::shared_ptr<Position> const&)> std::for_each<__gnu_cxx::__normal_iterator<std::shared_ptr<Position>*, std::vector<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > > >, std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(std::shared_ptr<Position> const&)> >(__gnu_cxx::__normal_iterator<std::shared_ptr<Position>*, std::vector<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > > >, __gnu_cxx::__normal_iterator<std::shared_ptr<Position>*, std::vector<std::shared_ptr<Position>, std::allocator<std::shared_ptr<Position> > > >, std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(std::shared_ptr<Position> const&)>) <null> (Robot.so+0x94fa9)
- #9 Calculator::HandleFillOrder(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, BSType, int, double) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/Calculator.cpp:160 (Robot.so+0x91ca5)
- #10 OMS::OnFillOrder(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/OMS.cpp:370 (Robot.so+0xec2ab)
- #11 void std::__invoke_impl<void, void (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, double&>(std::__invoke_memfun_deref, void (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, double&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Workflow.so+0xdb662)
- #12 std::__invoke_result<void (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, double&>::type std::__invoke<void (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, double&>(void (OMS::*&)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double), OMS*&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, int&, double&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Workflow.so+0xd9b16)
- #13 void std::_Bind<void (OMS::*(OMS*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double)>::__call<void, , 0ul, 1ul, 2ul, 3ul, 4ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul>) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Workflow.so+0xd7d50)
- #14 void std::_Bind<void (OMS::*(OMS*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double)>::operator()<, void>() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Workflow.so+0xd3c93)
- #15 std::_Function_handler<void (), std::_Bind<void (OMS::*(OMS*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, double))(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int, double)> >::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:297 (Workflow.so+0xcf975)
- #16 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xa070c)
- #17 OMSQueue<utils::AsyncQueue>::Execute(std::function<void ()> const&) const <null> (Workflow.so+0xa776e)
- #18 void std::__invoke_impl<void, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(std::__invoke_memfun_deref, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xc1ade)
- #19 std::__invoke_result<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>::type std::__invoke<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xbd6d6)
- #20 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::__call<void, std::function<void ()> const&, 0ul, 1ul>(std::tuple<std::function<void ()> const&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xb9643)
- #21 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::operator()<std::function<void ()> const&, void>(std::function<void ()> const&) <null> (Workflow.so+0xb3470)
- #22 std::_Function_handler<void (std::function<void ()> const&), std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const> >::_M_invoke(std::_Any_data const&, std::function<void ()> const&) <null> (Workflow.so+0xac899)
- #23 std::function<void (std::function<void ()> const&)>::operator()(std::function<void ()> const&) const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xaf5d8)
- #24 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::Execute() <null> (Workflow.so+0xacb02)
- #25 void std::__invoke_impl<void, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(std::__invoke_memfun_deref, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xb3d57)
- #26 std::__invoke_result<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>::type std::__invoke<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xacde8)
- #27 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xcab72)
- #28 std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::operator()() <null> (Workflow.so+0xc821a)
- #29 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> > >::_M_run() <null> (Workflow.so+0xc4180)
- #30 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Location is global 'MaxLib::SingleInstanceDynamicModuleInterface<WorkflowI, Workflow>::Create()::cmi' of size 7424 at 0x7fa0342fc340 (Workflow.so+0x000000114b90)
- Mutex M1298 (0x7fa0342fd9c8) created at:
- #0 pthread_mutex_lock /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3799 (libtsan.so.0+0x3f9cb)
- #1 __gthread_mutex_lock /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h:748 (Robot.so+0x9060e)
- #2 __gthread_recursive_mutex_lock /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h:810 (Robot.so+0x92afd)
- #3 std::recursive_mutex::lock() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/mutex:107 (Robot.so+0x93142)
- #4 std::lock_guard<std::recursive_mutex>::lock_guard(std::recursive_mutex&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_mutex.h:162 (Robot.so+0xf1632)
- #5 PositionList::Clear() /home/work/alfarobot/sources/alfarobotbackend/source/librobot/PositionList.cpp:76 (Robot.so+0xf569a)
- #6 Calculator::Initialize(ExternalAPI::NotificationAPI*) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/Calculator.cpp:55 (Robot.so+0x90ba9)
- #7 Workflow::OnStart(ExternalAPI::StartingParams) /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:120 (Workflow.so+0x945b5)
- #8 CmdProcessor::Start(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/CmdProcessor.cpp:290 (OutputConnector.so+0xbee08)
- #9 ExternalAPI::SignalResponse std::__invoke_impl<ExternalAPI::SignalResponse, ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >(std::__invoke_memfun_deref, ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xcc404)
- #10 std::__invoke_result<ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >::type std::__invoke<ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >(ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xcb9ce)
- #11 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)>::__call<ExternalAPI::SignalResponse, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, 0ul, 1ul>(std::tuple<std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&>&&, std::_Index_tuple<0ul, 1ul>) <null> (OutputConnector.so+0xcac1d)
- #12 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)>::operator()<std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, ExternalAPI::SignalResponse>(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xc95b6)
- #13 std::_Function_handler<ExternalAPI::SignalResponse (std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>), std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)> >::_M_invoke(std::_Any_data const&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xc6e52)
- #14 std::function<ExternalAPI::SignalResponse (std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)>::operator()(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>) const <null> (OutputConnector.so+0xc3a93)
- #15 CmdProcessor::OnMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/CmdProcessor.cpp:46 (OutputConnector.so+0xbb3b2)
- #16 Server::handleRead(Connection*, boost::system::error_code const&, unsigned long) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:197 (OutputConnector.so+0xdd248)
- #17 boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>::operator()(Server*, Connection*, boost::system::error_code const&, unsigned long) const /usr/include/boost/bind/mem_fn_template.hpp:393 (OutputConnector.so+0xf3d5f)
- #18 void boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()>::operator()<boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&> >(boost::_bi::type<void>, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>&, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&>&, int) <null> (OutputConnector.so+0xf0d16)
- #19 void boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code const&, unsigned long const&>(boost::system::error_code const&, unsigned long const&) <null> (OutputConnector.so+0xec96b)
- #20 boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::operator()(boost::system::error_code const&, unsigned long, int) <null> (OutputConnector.so+0xe770a)
- #21 boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>::operator()() /usr/include/boost/asio/detail/bind_handler.hpp:127 (OutputConnector.so+0xfd97f)
- #22 void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, ...) /usr/include/boost/asio/handler_invoke_hook.hpp:69 (OutputConnector.so+0xfd235)
- #23 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (OutputConnector.so+0xfccf2)
- #24 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >*) /usr/include/boost/asio/impl/read.hpp:683 (OutputConnector.so+0xfc824)
- #25 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (OutputConnector.so+0xfb8a1)
- #26 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/reactive_socket_recv_op.hpp:110 (OutputConnector.so+0xf9cf3)
- #27 boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/task_io_service_operation.hpp:38 (OutputConnector.so+0xd1e80)
- #28 boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:372 (OutputConnector.so+0xd63b6)
- #29 boost::asio::detail::task_io_service::run(boost::system::error_code&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:149 (OutputConnector.so+0xd5b97)
- #30 boost::asio::io_service::run() /usr/include/boost/asio/impl/io_service.ipp:59 (OutputConnector.so+0xd6824)
- #31 Server::accept_and_run() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:127 (OutputConnector.so+0xdccc7)
- #32 Server::start() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:137 (OutputConnector.so+0xdcd9c)
- #33 operator() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:423 (OutputConnector.so+0xcca4d)
- #34 __invoke_impl<void, OutputConnector::Run()::<lambda()> > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:60 (OutputConnector.so+0xcd767)
- #35 __invoke<OutputConnector::Run()::<lambda()> > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (OutputConnector.so+0xcd3a9)
- #36 _M_invoke<0> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:244 (OutputConnector.so+0xce418)
- #37 operator() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:253 (OutputConnector.so+0xce368)
- #38 _M_run /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:196 (OutputConnector.so+0xce2da)
- #39 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Mutex M2422 (0x7fa0342fda30) created at:
- #0 pthread_mutex_lock /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3799 (libtsan.so.0+0x3f9cb)
- #1 __gthread_mutex_lock /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h:748 (Workflow.so+0x99a77)
- #2 std::mutex::lock() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_mutex.h:103 (Workflow.so+0x99ffe)
- #3 std::lock_guard<std::mutex>::lock_guard(std::mutex&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_mutex.h:162 (Workflow.so+0x9f926)
- #4 Calculator::OnBidAskPriceCallback(math::BidAskPriceSummary const&) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/Calculator.cpp:232 (Robot.so+0x925af)
- #5 void std::__invoke_impl<void, void (Calculator::*&)(math::BidAskPriceSummary const&), Calculator*&, math::BidAskPriceSummary>(std::__invoke_memfun_deref, void (Calculator::*&)(math::BidAskPriceSummary const&), Calculator*&, math::BidAskPriceSummary&&) <null> (Robot.so+0x9b429)
- #6 std::__invoke_result<void (Calculator::*&)(math::BidAskPriceSummary const&), Calculator*&, math::BidAskPriceSummary>::type std::__invoke<void (Calculator::*&)(math::BidAskPriceSummary const&), Calculator*&, math::BidAskPriceSummary>(void (Calculator::*&)(math::BidAskPriceSummary const&), Calculator*&, math::BidAskPriceSummary&&) <null> (Robot.so+0x9a5f4)
- #7 void std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(math::BidAskPriceSummary const&)>::__call<void, math::BidAskPriceSummary&&, 0ul, 1ul>(std::tuple<math::BidAskPriceSummary&&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Robot.so+0x993d3)
- #8 void std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(math::BidAskPriceSummary const&)>::operator()<math::BidAskPriceSummary, void>(math::BidAskPriceSummary&&) <null> (Robot.so+0x97960)
- #9 std::_Function_handler<void (math::BidAskPriceSummary), std::_Bind<void (Calculator::*(Calculator*, std::_Placeholder<1>))(math::BidAskPriceSummary const&)> >::_M_invoke(std::_Any_data const&, math::BidAskPriceSummary&&) <null> (Robot.so+0x95d59)
- #10 std::function<void (math::BidAskPriceSummary)>::operator()(math::BidAskPriceSummary) const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (math.so+0x4d5ed)
- #11 math::Notifier<math::BidAskPriceSummary>::Notify(math::BidAskPriceSummary const&) const /home/work/alfarobot/sources/alfarobotbackend/source/libmath/statistics.h:39 (math.so+0x4ca42)
- #12 math::BidAskPriceStatistics::SetBidAsk(double, double, double) /home/work/alfarobot/sources/alfarobotbackend/source/libmath/statistics.cpp:44 (math.so+0x4b56d)
- #13 TradeLogic::InitializeHistoryPointDb(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/TradeLogic.cpp:1642 (Robot.so+0xa93fe)
- #14 TradeLogic::OnStart(ExternalAPI::StartingParams) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/TradeLogic.cpp:221 (Robot.so+0xa1a3c)
- #15 OMS::OnStart(ExternalAPI::StartingParams) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/OMS.cpp:511 (Robot.so+0xed85a)
- #16 ExternalAPI::SignalResponse std::__invoke_impl<ExternalAPI::SignalResponse, ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&>(std::__invoke_memfun_deref, ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Workflow.so+0xc22b7)
- #17 std::__invoke_result<ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&>::type std::__invoke<ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&>(ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Workflow.so+0xc03fe)
- #18 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (OMS::*(OMS*, ExternalAPI::StartingParams))(ExternalAPI::StartingParams)>::__call<ExternalAPI::SignalResponse, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Workflow.so+0xbb355)
- #19 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (OMS::*(OMS*, ExternalAPI::StartingParams))(ExternalAPI::StartingParams)>::operator()<, ExternalAPI::SignalResponse>() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Workflow.so+0xb59d5)
- #20 std::_Function_handler<ExternalAPI::SignalResponse (), std::_Bind<ExternalAPI::SignalResponse (OMS::*(OMS*, ExternalAPI::StartingParams))(ExternalAPI::StartingParams)> >::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:282 (Workflow.so+0xaefdf)
- #21 std::function<ExternalAPI::SignalResponse ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xca7e0)
- #22 execute /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../librobot/OMSQueue.cpp.in:160 (Workflow.so+0x9975a)
- #23 operator() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../librobot/OMSQueue.cpp.in:113 (Workflow.so+0x92e0e)
- #24 __invoke_impl<void, void ((anonymous namespace)::SyncTaskBase::*&)(), (anonymous namespace)::SyncTask<ExternalAPI::SignalResponse>*&> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Workflow.so+0x98f2e)
- #25 __invoke<void ((anonymous namespace)::SyncTaskBase::*&)(), (anonymous namespace)::SyncTask<ExternalAPI::SignalResponse>*&> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Workflow.so+0x98bde)
- #26 __call<void, 0> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Workflow.so+0x98913)
- #27 operator()<> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Workflow.so+0x9819b)
- #28 _M_invoke /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:297 (Workflow.so+0x9748c)
- #29 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xa070c)
- #30 OMSQueue<utils::AsyncQueue>::Execute(std::function<void ()> const&) const <null> (Workflow.so+0xa776e)
- #31 void std::__invoke_impl<void, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(std::__invoke_memfun_deref, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xc1ade)
- #32 std::__invoke_result<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>::type std::__invoke<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xbd6d6)
- #33 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::__call<void, std::function<void ()> const&, 0ul, 1ul>(std::tuple<std::function<void ()> const&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xb9643)
- #34 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::operator()<std::function<void ()> const&, void>(std::function<void ()> const&) <null> (Workflow.so+0xb3470)
- #35 std::_Function_handler<void (std::function<void ()> const&), std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const> >::_M_invoke(std::_Any_data const&, std::function<void ()> const&) <null> (Workflow.so+0xac899)
- #36 std::function<void (std::function<void ()> const&)>::operator()(std::function<void ()> const&) const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xaf5d8)
- #37 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::Execute() <null> (Workflow.so+0xacb02)
- #38 void std::__invoke_impl<void, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(std::__invoke_memfun_deref, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xb3d57)
- #39 std::__invoke_result<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>::type std::__invoke<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xacde8)
- #40 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xcab72)
- #41 std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::operator()() <null> (Workflow.so+0xc821a)
- #42 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> > >::_M_run() <null> (Workflow.so+0xc4180)
- #43 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Mutex M327777198938250160 is already destroyed.
- Thread T66 (tid=31840, running) created by thread T6 at:
- #0 pthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bbde)
- #1 __gthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xe24b4)
- #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xe24b4)
- #3 DBConnector::Run() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../libdbconnector/DBConnector.h:128 (Workflow.so+0x9a70d)
- #4 Workflow::OnStart(ExternalAPI::StartingParams) /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:188 (Workflow.so+0x94eb8)
- #5 CmdProcessor::Start(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/CmdProcessor.cpp:290 (OutputConnector.so+0xbee08)
- #6 ExternalAPI::SignalResponse std::__invoke_impl<ExternalAPI::SignalResponse, ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >(std::__invoke_memfun_deref, ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xcc404)
- #7 std::__invoke_result<ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >::type std::__invoke<ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> >(ExternalAPI::SignalResponse (CmdProcessor::*&)(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&), CmdProcessor*&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xcb9ce)
- #8 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)>::__call<ExternalAPI::SignalResponse, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, 0ul, 1ul>(std::tuple<std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&>&&, std::_Index_tuple<0ul, 1ul>) <null> (OutputConnector.so+0xcac1d)
- #9 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)>::operator()<std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, ExternalAPI::SignalResponse>(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xc95b6)
- #10 std::_Function_handler<ExternalAPI::SignalResponse (std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>), std::_Bind<ExternalAPI::SignalResponse (CmdProcessor::*(CmdProcessor*, std::_Placeholder<1>))(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&> const&)> >::_M_invoke(std::_Any_data const&, std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&) <null> (OutputConnector.so+0xc6e52)
- #11 std::function<ExternalAPI::SignalResponse (std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>)>::operator()(std::pair<std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>) const <null> (OutputConnector.so+0xc3a93)
- #12 CmdProcessor::OnMessage(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/CmdProcessor.cpp:46 (OutputConnector.so+0xbb3b2)
- #13 Server::handleRead(Connection*, boost::system::error_code const&, unsigned long) /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:197 (OutputConnector.so+0xdd248)
- #14 boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>::operator()(Server*, Connection*, boost::system::error_code const&, unsigned long) const /usr/include/boost/bind/mem_fn_template.hpp:393 (OutputConnector.so+0xf3d5f)
- #15 void boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()>::operator()<boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&> >(boost::_bi::type<void>, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>&, boost::_bi::rrlist2<boost::system::error_code const&, unsigned long const&>&, int) <null> (OutputConnector.so+0xf0d16)
- #16 void boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >::operator()<boost::system::error_code const&, unsigned long const&>(boost::system::error_code const&, unsigned long const&) <null> (OutputConnector.so+0xec96b)
- #17 boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >::operator()(boost::system::error_code const&, unsigned long, int) <null> (OutputConnector.so+0xe770a)
- #18 boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>::operator()() /usr/include/boost/asio/detail/bind_handler.hpp:127 (OutputConnector.so+0xfd97f)
- #19 void boost::asio::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long> >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, ...) /usr/include/boost/asio/handler_invoke_hook.hpp:69 (OutputConnector.so+0xfd235)
- #20 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> >&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (OutputConnector.so+0xfccf2)
- #21 void boost::asio::detail::asio_handler_invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >*) /usr/include/boost/asio/impl/read.hpp:683 (OutputConnector.so+0xfc824)
- #22 void boost_asio_handler_invoke_helpers::invoke<boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >(boost::asio::detail::binder2<boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >, boost::system::error_code, unsigned long>&, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > >&) /usr/include/boost/asio/detail/handler_invoke_helpers.hpp:37 (OutputConnector.so+0xfb8a1)
- #23 boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffers_1, boost::asio::detail::read_streambuf_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::stream_socket_service<boost::asio::ip::tcp> >, std::allocator<char>, boost::asio::detail::transfer_at_least_t, boost::_bi::bind_t<void, boost::_mfi::mf3<void, Server, Connection*, boost::system::error_code const&, unsigned long>, boost::_bi::list4<boost::_bi::value<Server*>, boost::_bi::value<Connection*>, boost::arg<1> (*)(), boost::arg<2> (*)()> > > >::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/reactive_socket_recv_op.hpp:110 (OutputConnector.so+0xf9cf3)
- #24 boost::asio::detail::task_io_service_operation::complete(boost::asio::detail::task_io_service&, boost::system::error_code const&, unsigned long) /usr/include/boost/asio/detail/task_io_service_operation.hpp:38 (OutputConnector.so+0xd1e80)
- #25 boost::asio::detail::task_io_service::do_run_one(boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>&, boost::asio::detail::task_io_service_thread_info&, boost::system::error_code const&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:372 (OutputConnector.so+0xd63b6)
- #26 boost::asio::detail::task_io_service::run(boost::system::error_code&) /usr/include/boost/asio/detail/impl/task_io_service.ipp:149 (OutputConnector.so+0xd5b97)
- #27 boost::asio::io_service::run() /usr/include/boost/asio/impl/io_service.ipp:59 (OutputConnector.so+0xd6824)
- #28 Server::accept_and_run() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:127 (OutputConnector.so+0xdccc7)
- #29 Server::start() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:137 (OutputConnector.so+0xdcd9c)
- #30 operator() /home/work/alfarobot/sources/alfarobotbackend/source/liboutputconnector/OutputConnector.cpp:423 (OutputConnector.so+0xcca4d)
- #31 __invoke_impl<void, OutputConnector::Run()::<lambda()> > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:60 (OutputConnector.so+0xcd767)
- #32 __invoke<OutputConnector::Run()::<lambda()> > /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (OutputConnector.so+0xcd3a9)
- #33 _M_invoke<0> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:244 (OutputConnector.so+0xce418)
- #34 operator() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:253 (OutputConnector.so+0xce368)
- #35 _M_run /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/thread:196 (OutputConnector.so+0xce2da)
- #36 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Thread T5 (tid=31050, running) created by main thread at:
- #0 pthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bbde)
- #1 __gthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xe24b4)
- #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xe24b4)
- #3 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::AsyncQueue(std::function<void (std::function<void ()> const&)> const&) <null> (Workflow.so+0xa7a21)
- #4 OMSQueue<utils::AsyncQueue>::OMSQueue() <null> (Workflow.so+0xa144b)
- #5 Workflow::Workflow() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:12 (Workflow.so+0x93289)
- #6 MaxLib::SingleInstanceDynamicModuleInterface<WorkflowI, Workflow>::Create() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../libmax/SingleInstanceDynamicModuleInterface.h:25 (Workflow.so+0xe21c4)
- #7 MaxLib::DynamicModuleInterfaceWrapper<WorkflowI>::LoadModuleInterface(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/libmax/DynamicModuleInterfaceWrapper.h:103 (AlfaRobotApp+0x44e9)
- #8 main /home/work/alfarobot/sources/alfarobotbackend/source/main.cpp:20 (AlfaRobotApp+0x342e)
- SUMMARY: ThreadSanitizer: data race /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_deque.h:270 in bool std::operator==<std::shared_ptr<Position>, std::shared_ptr<Position>&, std::shared_ptr<Position>*>(std::_Deque_iterator<std::shared_ptr<Position>, std::shared_ptr<Position>&, std::shared_ptr<Position>*> const&, std::_Deque_iterator<std::shared_ptr<Position>, std::shared_ptr<Position>&, std::shared_ptr<Position>*> const&)
- ==================
- Message Received: {
- "cmd": "startTrade",
- "params": {
- }
- }
- OnStartTrading at 237
- ==================
- WARNING: ThreadSanitizer: data race (pid=31044)
- Write of size 1 at 0x7fa0342fd111 by thread T5:
- #0 TradeLogic::OnStartTrading() /home/work/alfarobot/sources/alfarobotbackend/source/librobot/TradeLogic.cpp:243 (Robot.so+0xa1c3b)
- #1 OMS::OnStartTrade() /home/work/alfarobot/sources/alfarobotbackend/source/librobot/OMS.cpp:535 (Robot.so+0xedb9c)
- #2 ExternalAPI::SignalResponse std::__invoke_impl<ExternalAPI::SignalResponse, ExternalAPI::SignalResponse (OMS::*&)(), OMS*&>(std::__invoke_memfun_deref, ExternalAPI::SignalResponse (OMS::*&)(), OMS*&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Workflow.so+0xc26c8)
- #3 std::__invoke_result<ExternalAPI::SignalResponse (OMS::*&)(), OMS*&>::type std::__invoke<ExternalAPI::SignalResponse (OMS::*&)(), OMS*&>(ExternalAPI::SignalResponse (OMS::*&)(), OMS*&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Workflow.so+0xc09c6)
- #4 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (OMS::*(OMS*))()>::__call<ExternalAPI::SignalResponse, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Workflow.so+0xbb9d9)
- #5 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (OMS::*(OMS*))()>::operator()<, ExternalAPI::SignalResponse>() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Workflow.so+0xb641f)
- #6 std::_Function_handler<ExternalAPI::SignalResponse (), std::_Bind<ExternalAPI::SignalResponse (OMS::*(OMS*))()> >::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:282 (Workflow.so+0xaf74d)
- #7 std::function<ExternalAPI::SignalResponse ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xca7e0)
- #8 execute /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../librobot/OMSQueue.cpp.in:160 (Workflow.so+0x9975a)
- #9 operator() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../librobot/OMSQueue.cpp.in:113 (Workflow.so+0x92e0e)
- #10 __invoke_impl<void, void ((anonymous namespace)::SyncTaskBase::*&)(), (anonymous namespace)::SyncTask<ExternalAPI::SignalResponse>*&> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Workflow.so+0x98f2e)
- #11 __invoke<void ((anonymous namespace)::SyncTaskBase::*&)(), (anonymous namespace)::SyncTask<ExternalAPI::SignalResponse>*&> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Workflow.so+0x98bde)
- #12 __call<void, 0> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Workflow.so+0x98913)
- #13 operator()<> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Workflow.so+0x9819b)
- #14 _M_invoke /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:297 (Workflow.so+0x9748c)
- #15 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xa070c)
- #16 OMSQueue<utils::AsyncQueue>::Execute(std::function<void ()> const&) const <null> (Workflow.so+0xa776e)
- #17 void std::__invoke_impl<void, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(std::__invoke_memfun_deref, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xc1ade)
- #18 std::__invoke_result<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>::type std::__invoke<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xbd6d6)
- #19 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::__call<void, std::function<void ()> const&, 0ul, 1ul>(std::tuple<std::function<void ()> const&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xb9643)
- #20 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::operator()<std::function<void ()> const&, void>(std::function<void ()> const&) <null> (Workflow.so+0xb3470)
- #21 std::_Function_handler<void (std::function<void ()> const&), std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const> >::_M_invoke(std::_Any_data const&, std::function<void ()> const&) <null> (Workflow.so+0xac899)
- #22 std::function<void (std::function<void ()> const&)>::operator()(std::function<void ()> const&) const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xaf5d8)
- #23 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::Execute() <null> (Workflow.so+0xacb02)
- #24 void std::__invoke_impl<void, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(std::__invoke_memfun_deref, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xb3d57)
- #25 std::__invoke_result<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>::type std::__invoke<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xacde8)
- #26 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xcab72)
- #27 std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::operator()() <null> (Workflow.so+0xc821a)
- #28 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> > >::_M_run() <null> (Workflow.so+0xc4180)
- #29 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Previous read of size 1 at 0x7fa0342fd111 by thread T4 (mutexes: write M1332):
- #0 TradeLogic::TradeHandler(ExternalAPI::TypePrice, double) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/TradeLogic.cpp:591 (Robot.so+0xa40eb)
- #1 TradeLogic::OnLastTradeCallback(math::LastTradeSummary const&) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/TradeLogic.cpp:561 (Robot.so+0xa3e94)
- #2 void std::__invoke_impl<void, void (TradeLogic::*&)(math::LastTradeSummary const&), TradeLogic*&, math::LastTradeSummary>(std::__invoke_memfun_deref, void (TradeLogic::*&)(math::LastTradeSummary const&), TradeLogic*&, math::LastTradeSummary&&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Robot.so+0xe1f25)
- #3 std::__invoke_result<void (TradeLogic::*&)(math::LastTradeSummary const&), TradeLogic*&, math::LastTradeSummary>::type std::__invoke<void (TradeLogic::*&)(math::LastTradeSummary const&), TradeLogic*&, math::LastTradeSummary>(void (TradeLogic::*&)(math::LastTradeSummary const&), TradeLogic*&, math::LastTradeSummary&&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Robot.so+0xdd9b0)
- #4 void std::_Bind<void (TradeLogic::*(TradeLogic*, std::_Placeholder<1>))(math::LastTradeSummary const&)>::__call<void, math::LastTradeSummary&&, 0ul, 1ul>(std::tuple<math::LastTradeSummary&&>&&, std::_Index_tuple<0ul, 1ul>) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Robot.so+0xd108b)
- #5 void std::_Bind<void (TradeLogic::*(TradeLogic*, std::_Placeholder<1>))(math::LastTradeSummary const&)>::operator()<math::LastTradeSummary, void>(math::LastTradeSummary&&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Robot.so+0xcb8ee)
- #6 std::_Function_handler<void (math::LastTradeSummary), std::_Bind<void (TradeLogic::*(TradeLogic*, std::_Placeholder<1>))(math::LastTradeSummary const&)> >::_M_invoke(std::_Any_data const&, math::LastTradeSummary&&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:297 (Robot.so+0xc6df3)
- #7 std::function<void (math::LastTradeSummary)>::operator()(math::LastTradeSummary) const <null> (Workflow.so+0xb4495)
- #8 math::Notifier<math::LastTradeSummary>::Notify(math::LastTradeSummary const&) const <null> (Workflow.so+0xad46b)
- #9 math::LastTradeStatistics<math::NullTimer>::OnTimeCutoffExpired() <null> (Workflow.so+0xa7fca)
- #10 void std::__invoke_impl<void, void (math::LastTradeStatistics<math::NullTimer>::*&)(), math::LastTradeStatistics<math::NullTimer>*&>(std::__invoke_memfun_deref, void (math::LastTradeStatistics<math::NullTimer>::*&)(), math::LastTradeStatistics<math::NullTimer>*&) <null> (Workflow.so+0xc1e98)
- #11 std::__invoke_result<void (math::LastTradeStatistics<math::NullTimer>::*&)(), math::LastTradeStatistics<math::NullTimer>*&>::type std::__invoke<void (math::LastTradeStatistics<math::NullTimer>::*&)(), math::LastTradeStatistics<math::NullTimer>*&>(void (math::LastTradeStatistics<math::NullTimer>::*&)(), math::LastTradeStatistics<math::NullTimer>*&) <null> (Workflow.so+0xbe2a6)
- #12 void std::_Bind<void (math::LastTradeStatistics<math::NullTimer>::*(math::LastTradeStatistics<math::NullTimer>*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) <null> (Workflow.so+0xba71f)
- #13 void std::_Bind<void (math::LastTradeStatistics<math::NullTimer>::*(math::LastTradeStatistics<math::NullTimer>*))()>::operator()<, void>() <null> (Workflow.so+0xb47a3)
- #14 std::_Function_handler<void (), std::_Bind<void (math::LastTradeStatistics<math::NullTimer>::*(math::LastTradeStatistics<math::NullTimer>*))()> >::_M_invoke(std::_Any_data const&) <null> (Workflow.so+0xad750)
- #15 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xa070c)
- #16 math::NullTimer::Stop(bool) /home/work/alfarobot/sources/alfarobotbackend/source/libmath/statistics.cpp:162 (math.so+0x4bf19)
- #17 math::LastTradeStatistics<math::NullTimer>::SetLastTrade(double, double, double, int) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/../libmath/statistics.cpp.in:57 (Robot.so+0xc1f99)
- #18 TradeLogic::OnTradePrint(TickerPlantAPI::Quote const&) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/TradeLogic.cpp:365 (Robot.so+0xa26fe)
- #19 MarketDataQueue<utils::AsyncQueue>::ConsumeLastTrade(std::shared_ptr<TickerPlantAPI::Quote> const&) const <null> (Workflow.so+0xa69d9)
- #20 void std::__invoke_impl<void, void (MarketDataQueue<utils::AsyncQueue>::*&)(std::shared_ptr<TickerPlantAPI::Quote> const&) const, MarketDataQueue<utils::AsyncQueue>*&, std::shared_ptr<TickerPlantAPI::Quote> const&>(std::__invoke_memfun_deref, void (MarketDataQueue<utils::AsyncQueue>::*&)(std::shared_ptr<TickerPlantAPI::Quote> const&) const, MarketDataQueue<utils::AsyncQueue>*&, std::shared_ptr<TickerPlantAPI::Quote> const&) <null> (Workflow.so+0xc1414)
- #21 std::__invoke_result<void (MarketDataQueue<utils::AsyncQueue>::*&)(std::shared_ptr<TickerPlantAPI::Quote> const&) const, MarketDataQueue<utils::AsyncQueue>*&, std::shared_ptr<TickerPlantAPI::Quote> const&>::type std::__invoke<void (MarketDataQueue<utils::AsyncQueue>::*&)(std::shared_ptr<TickerPlantAPI::Quote> const&) const, MarketDataQueue<utils::AsyncQueue>*&, std::shared_ptr<TickerPlantAPI::Quote> const&>(void (MarketDataQueue<utils::AsyncQueue>::*&)(std::shared_ptr<TickerPlantAPI::Quote> const&) const, MarketDataQueue<utils::AsyncQueue>*&, std::shared_ptr<TickerPlantAPI::Quote> const&) <null> (Workflow.so+0xbcb18)
- #22 void std::_Bind<void (MarketDataQueue<utils::AsyncQueue>::*(MarketDataQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::shared_ptr<TickerPlantAPI::Quote> const&) const>::__call<void, std::shared_ptr<TickerPlantAPI::Quote> const&, 0ul, 1ul>(std::tuple<std::shared_ptr<TickerPlantAPI::Quote> const&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xb84fd)
- #23 void std::_Bind<void (MarketDataQueue<utils::AsyncQueue>::*(MarketDataQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::shared_ptr<TickerPlantAPI::Quote> const&) const>::operator()<std::shared_ptr<TickerPlantAPI::Quote> const&, void>(std::shared_ptr<TickerPlantAPI::Quote> const&) <null> (Workflow.so+0xb21a4)
- #24 std::_Function_handler<void (std::shared_ptr<TickerPlantAPI::Quote> const&), std::_Bind<void (MarketDataQueue<utils::AsyncQueue>::*(MarketDataQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::shared_ptr<TickerPlantAPI::Quote> const&) const> >::_M_invoke(std::_Any_data const&, std::shared_ptr<TickerPlantAPI::Quote> const&) <null> (Workflow.so+0xabaae)
- #25 std::function<void (std::shared_ptr<TickerPlantAPI::Quote> const&)>::operator()(std::shared_ptr<TickerPlantAPI::Quote> const&) const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xb254c)
- #26 utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>::Execute() <null> (Workflow.so+0xabd16)
- #27 void std::__invoke_impl<void, void (utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>*>(std::__invoke_memfun_deref, void (utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xb2b15)
- #28 std::__invoke_result<void (utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>*>::type std::__invoke<void (utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>*>(void (utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xabffc)
- #29 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xcabe4)
- #30 std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>*> >::operator()() <null> (Workflow.so+0xc8262)
- #31 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>*> > >::_M_run() <null> (Workflow.so+0xc41ca)
- #32 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Location is global 'MaxLib::SingleInstanceDynamicModuleInterface<WorkflowI, Workflow>::Create()::cmi' of size 7424 at 0x7fa0342fc340 (Workflow.so+0x000000114111)
- Mutex M1332 (0x7fa0342fc600) created at:
- #0 pthread_mutex_lock /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3799 (libtsan.so.0+0x3f9cb)
- #1 __gthread_mutex_lock /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h:748 (Workflow.so+0x99a77)
- #2 std::mutex::lock() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_mutex.h:103 (Workflow.so+0x99ffe)
- #3 std::lock_guard<std::mutex>::lock_guard(std::mutex&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_mutex.h:162 (Workflow.so+0x9f926)
- #4 TradeLogic::OnStart(ExternalAPI::StartingParams) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/TradeLogic.cpp:218 (Robot.so+0xa1a05)
- #5 OMS::OnStart(ExternalAPI::StartingParams) /home/work/alfarobot/sources/alfarobotbackend/source/librobot/OMS.cpp:511 (Robot.so+0xed85a)
- #6 ExternalAPI::SignalResponse std::__invoke_impl<ExternalAPI::SignalResponse, ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&>(std::__invoke_memfun_deref, ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Workflow.so+0xc22b7)
- #7 std::__invoke_result<ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&>::type std::__invoke<ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&>(ExternalAPI::SignalResponse (OMS::*&)(ExternalAPI::StartingParams), OMS*&, ExternalAPI::StartingParams&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Workflow.so+0xc03fe)
- #8 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (OMS::*(OMS*, ExternalAPI::StartingParams))(ExternalAPI::StartingParams)>::__call<ExternalAPI::SignalResponse, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Workflow.so+0xbb355)
- #9 ExternalAPI::SignalResponse std::_Bind<ExternalAPI::SignalResponse (OMS::*(OMS*, ExternalAPI::StartingParams))(ExternalAPI::StartingParams)>::operator()<, ExternalAPI::SignalResponse>() /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Workflow.so+0xb59d5)
- #10 std::_Function_handler<ExternalAPI::SignalResponse (), std::_Bind<ExternalAPI::SignalResponse (OMS::*(OMS*, ExternalAPI::StartingParams))(ExternalAPI::StartingParams)> >::_M_invoke(std::_Any_data const&) /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:282 (Workflow.so+0xaefdf)
- #11 std::function<ExternalAPI::SignalResponse ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xca7e0)
- #12 execute /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../librobot/OMSQueue.cpp.in:160 (Workflow.so+0x9975a)
- #13 operator() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../librobot/OMSQueue.cpp.in:113 (Workflow.so+0x92e0e)
- #14 __invoke_impl<void, void ((anonymous namespace)::SyncTaskBase::*&)(), (anonymous namespace)::SyncTask<ExternalAPI::SignalResponse>*&> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:73 (Workflow.so+0x98f2e)
- #15 __invoke<void ((anonymous namespace)::SyncTaskBase::*&)(), (anonymous namespace)::SyncTask<ExternalAPI::SignalResponse>*&> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/invoke.h:95 (Workflow.so+0x98bde)
- #16 __call<void, 0> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:400 (Workflow.so+0x98913)
- #17 operator()<> /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/functional:484 (Workflow.so+0x9819b)
- #18 _M_invoke /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:297 (Workflow.so+0x9748c)
- #19 std::function<void ()>::operator()() const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xa070c)
- #20 OMSQueue<utils::AsyncQueue>::Execute(std::function<void ()> const&) const <null> (Workflow.so+0xa776e)
- #21 void std::__invoke_impl<void, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(std::__invoke_memfun_deref, void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xc1ade)
- #22 std::__invoke_result<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>::type std::__invoke<void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&>(void (OMSQueue<utils::AsyncQueue>::*&)(std::function<void ()> const&) const, OMSQueue<utils::AsyncQueue>*&, std::function<void ()> const&) <null> (Workflow.so+0xbd6d6)
- #23 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::__call<void, std::function<void ()> const&, 0ul, 1ul>(std::tuple<std::function<void ()> const&>&&, std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xb9643)
- #24 void std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const>::operator()<std::function<void ()> const&, void>(std::function<void ()> const&) <null> (Workflow.so+0xb3470)
- #25 std::_Function_handler<void (std::function<void ()> const&), std::_Bind<void (OMSQueue<utils::AsyncQueue>::*(OMSQueue<utils::AsyncQueue>*, std::_Placeholder<1>))(std::function<void ()> const&) const> >::_M_invoke(std::_Any_data const&, std::function<void ()> const&) <null> (Workflow.so+0xac899)
- #26 std::function<void (std::function<void ()> const&)>::operator()(std::function<void ()> const&) const /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_function.h:687 (Workflow.so+0xaf5d8)
- #27 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::Execute() <null> (Workflow.so+0xacb02)
- #28 void std::__invoke_impl<void, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(std::__invoke_memfun_deref, void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xb3d57)
- #29 std::__invoke_result<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>::type std::__invoke<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*>(void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*&&)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*&&) <null> (Workflow.so+0xacde8)
- #30 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) <null> (Workflow.so+0xcab72)
- #31 std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> >::operator()() <null> (Workflow.so+0xc821a)
- #32 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::*)(), utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>*> > >::_M_run() <null> (Workflow.so+0xc4180)
- #33 execute_native_thread_routine /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xe21dd)
- Thread T5 (tid=31050, running) created by main thread at:
- #0 pthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bbde)
- #1 __gthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xe24b4)
- #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xe24b4)
- #3 utils::AsyncQueue<std::function<void ()>, 18446744073709551615ul>::AsyncQueue(std::function<void (std::function<void ()> const&)> const&) <null> (Workflow.so+0xa7a21)
- #4 OMSQueue<utils::AsyncQueue>::OMSQueue() <null> (Workflow.so+0xa144b)
- #5 Workflow::Workflow() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:12 (Workflow.so+0x93289)
- #6 MaxLib::SingleInstanceDynamicModuleInterface<WorkflowI, Workflow>::Create() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../libmax/SingleInstanceDynamicModuleInterface.h:25 (Workflow.so+0xe21c4)
- #7 MaxLib::DynamicModuleInterfaceWrapper<WorkflowI>::LoadModuleInterface(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/libmax/DynamicModuleInterfaceWrapper.h:103 (AlfaRobotApp+0x44e9)
- #8 main /home/work/alfarobot/sources/alfarobotbackend/source/main.cpp:20 (AlfaRobotApp+0x342e)
- Thread T4 (tid=31049, running) created by main thread at:
- #0 pthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bbde)
- #1 __gthread_create /usr/src/debug/sys-devel/gcc-8.3.0-r1/build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xe24b4)
- #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /usr/src/debug/sys-devel/gcc-8.3.0-r1/gcc-8.3.0/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xe24b4)
- #3 utils::AsyncQueue<std::shared_ptr<TickerPlantAPI::Quote>, 18446744073709551615ul>::AsyncQueue(std::function<void (std::shared_ptr<TickerPlantAPI::Quote> const&)> const&) <null> (Workflow.so+0xa6f7d)
- #4 MarketDataQueue<utils::AsyncQueue>::MarketDataQueue() <null> (Workflow.so+0xa0eaa)
- #5 Workflow::Workflow() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/Workflow.cpp:12 (Workflow.so+0x93265)
- #6 MaxLib::SingleInstanceDynamicModuleInterface<WorkflowI, Workflow>::Create() /home/work/alfarobot/sources/alfarobotbackend/source/libworkflow/../libmax/SingleInstanceDynamicModuleInterface.h:25 (Workflow.so+0xe21c4)
- #7 MaxLib::DynamicModuleInterfaceWrapper<WorkflowI>::LoadModuleInterface(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /home/work/alfarobot/sources/alfarobotbackend/source/libmax/DynamicModuleInterfaceWrapper.h:103 (AlfaRobotApp+0x44e9)
- #8 main /home/work/alfarobot/sources/alfarobotbackend/source/main.cpp:20 (AlfaRobotApp+0x342e)
- SUMMARY: ThreadSanitizer: data race /home/work/alfarobot/sources/alfarobotbackend/source/librobot/TradeLogic.cpp:243 in TradeLogic::OnStartTrading()
- ==================
- OnStopTrading at 271
- OnStopTrading at 271
- Connection from: 127.0.0.1
- Message Received: connect
- add remote endpoint: 127.0.0.1:47309
- Message Received: {
- "cmd": "startTrade",
- "params": {
- }
- }
- OnStartTrading at 237
- OnStopTrading at 271
- Message Received: {
- "cmd": "startTrade",
- "params": {
- }
- }
- OnStartTrading at 237
- OnStopTrading at 271
- Message Received: {
- "cmd": "startTrade",
- "params": {
- }
- }
- OnStartTrading at 237
- OnStopTrading at 271
- Message Received: {
- "cmd": "startTrade",
- "params": {
- }
- }
- OnStartTrading at 237
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement