Created
September 4, 2020 17:59
-
-
Save lw/fec763ca140ec9eb42a5991d694f3588 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
WARNING: ThreadSanitizer: data race (pid=4955) | |
Write of size 8 at 0x7b0400001280 by thread T8: | |
#0 open64 <null> (libtsan.so.0+0x2e2b1) | |
#1 uv__open_cloexec <null> (tensorpipe_test+0x2b865c) | |
#2 uv__stream_init <null> (tensorpipe_test+0x2c5ac8) | |
#3 uv_tcp_init_ex <null> (tensorpipe_test+0x2cb455) | |
#4 uv_tcp_init <null> (tensorpipe_test+0x2cb540) | |
#5 tensorpipe::transport::uv::TCPHandle::initFromLoop() <null> (tensorpipe_test+0x2020f8) | |
#6 tensorpipe::transport::uv::Listener::Impl::initFromLoop() <null> (tensorpipe_test+0x1eafd0) | |
#7 tensorpipe::transport::uv::Listener::Impl::init()::{lambda()#1}::operator()() const <null> (tensorpipe_test+0x1ed709) | |
#8 std::_Function_handler<void (), tensorpipe::transport::uv::Listener::Impl::init()::{lambda()#1}>::_M_invoke(std::_Any_data const&) <null> (tensorpipe_test+0x1ef626) | |
#9 std::function<void ()>::operator()() const <null> (tensorpipe_test+0x53b88) | |
#10 tensorpipe::transport::uv::Loop::runFunctionsFromLoop() <null> (tensorpipe_test+0x1fd98a) | |
#11 tensorpipe::transport::uv::Loop::uv__async_cb(uv_async_s*) <null> (tensorpipe_test+0x1fd8a3) | |
#12 uv__async_io <null> (tensorpipe_test+0x2b5182) | |
#13 uv__io_poll <null> (tensorpipe_test+0x2d3a6f) | |
#14 uv_run <null> (tensorpipe_test+0x2b6296) | |
#15 tensorpipe::transport::uv::Loop::loop() <null> (tensorpipe_test+0x1fd4d8) | |
#16 void std::__invoke_impl<void, void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*>(std::__invoke_memfun_deref, void (tensorpipe::transport::uv::Loop::*&&)(), tensorpipe::transport::uv::Loop*&&) <null> (tensorpipe_test+0x1fee33) | |
#17 std::__invoke_result<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*>::type std::__invoke<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*>(void (tensorpipe::transport::uv::Loop::*&&)(), tensorpipe::transport::uv::Loop*&&) <null> (tensorpipe_test+0x1fe336) | |
#18 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) <null> (tensorpipe_test+0x200b68) | |
#19 std::thread::_Invoker<std::tuple<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*> >::operator()() <null> (tensorpipe_test+0x200ae0) | |
#20 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*> > >::_M_run() <null> (tensorpipe_test+0x200a86) | |
#21 <null> <null> (libstdc++.so.6+0xbd6de) | |
Previous write of size 8 at 0x7b0400001280 by thread T6: | |
#0 epoll_create1 <null> (libtsan.so.0+0x30209) | |
#1 uv__platform_loop_init <null> (tensorpipe_test+0x2d2870) | |
#2 uv_loop_init <null> (tensorpipe_test+0x2bcf04) | |
#3 tensorpipe::transport::uv::Loop::Loop() <null> (tensorpipe_test+0x1fc9c0) | |
#4 tensorpipe::transport::uv::Context::Impl::Impl() <null> (tensorpipe_test+0x1da0b2) | |
#5 void __gnu_cxx::new_allocator<tensorpipe::transport::uv::Context::Impl>::construct<tensorpipe::transport::uv::Context::Impl>(tensorpipe::transport::uv::Context::Impl*) <null> (tensorpipe_test+0x1e746d) | |
#6 void std::allocator_traits<std::allocator<tensorpipe::transport::uv::Context::Impl> >::construct<tensorpipe::transport::uv::Context::Impl>(std::allocator<tensorpipe::transport::uv::Context::Impl>&, tensorpipe::transport::uv::Context::Impl*) <null> (tensorpipe_test+0x1e5f32) | |
#7 std::_Sp_counted_ptr_inplace<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<tensorpipe::transport::uv::Context::Impl>) <null> (tensorpipe_test+0x1e4000) | |
#8 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, tensorpipe::transport::uv::Context::Impl*, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e28a8) | |
#9 std::__shared_ptr<tensorpipe::transport::uv::Context::Impl, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e1a7e) | |
#10 std::shared_ptr<tensorpipe::transport::uv::Context::Impl>::shared_ptr<std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e0bee) | |
#11 std::shared_ptr<tensorpipe::transport::uv::Context::Impl> std::allocate_shared<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1df7cd) | |
#12 std::shared_ptr<tensorpipe::transport::uv::Context::Impl> std::make_shared<tensorpipe::transport::uv::Context::Impl>() <null> (tensorpipe_test+0x1de2e2) | |
#13 tensorpipe::transport::uv::Context::Context() <null> (tensorpipe_test+0x1d9ffe) | |
#14 void __gnu_cxx::new_allocator<tensorpipe::transport::uv::Context>::construct<tensorpipe::transport::uv::Context>(tensorpipe::transport::uv::Context*) <null> (tensorpipe_test+0x59c73) | |
#15 void std::allocator_traits<std::allocator<tensorpipe::transport::uv::Context> >::construct<tensorpipe::transport::uv::Context>(std::allocator<tensorpipe::transport::uv::Context>&, tensorpipe::transport::uv::Context*) <null> (tensorpipe_test+0x59570) | |
#16 std::_Sp_counted_ptr_inplace<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<tensorpipe::transport::uv::Context>) <null> (tensorpipe_test+0x58b76) | |
#17 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, tensorpipe::transport::uv::Context*, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x57920) | |
#18 std::__shared_ptr<tensorpipe::transport::uv::Context, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x56a38) | |
#19 std::shared_ptr<tensorpipe::transport::uv::Context>::shared_ptr<std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x55eaa) | |
#20 std::shared_ptr<tensorpipe::transport::uv::Context> std::allocate_shared<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>>(std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x54e3d) | |
#21 std::shared_ptr<tensorpipe::transport::uv::Context> std::make_shared<tensorpipe::transport::uv::Context>() <null> (tensorpipe_test+0x54195) | |
#22 (anonymous namespace)::MptChannelTestHelper::makeContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) <null> (tensorpipe_test+0x9d6f8) | |
#23 ChannelTest_contextIsNotJoined_Test::TestBody()::{lambda(std::shared_ptr<tensorpipe::transport::Connection>)#1}::operator()(std::shared_ptr<tensorpipe::transport::Connection>) const <null> (tensorpipe_test+0xa767a) | |
#24 std::_Function_handler<void (std::shared_ptr<tensorpipe::transport::Connection>), ChannelTest_contextIsNotJoined_Test::TestBody()::{lambda(std::shared_ptr<tensorpipe::transport::Connection>)#1}>::_M_invoke(std::_Any_data const&, std::shared_ptr<tensorpipe::transport::Connection>&&) <null> (tensorpipe_test+0xaba69) | |
#25 std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>::operator()(std::shared_ptr<tensorpipe::transport::Connection>) const <null> (tensorpipe_test+0x43b34) | |
#26 ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>)::{lambda()#1}::operator()() const <null> (tensorpipe_test+0xaf3d6) | |
#27 std::_Function_handler<void (), ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>)::{lambda()#1}>::_M_invoke(std::_Any_data const&) <null> (tensorpipe_test+0xb40ae) | |
#28 std::function<void ()>::operator()() const <null> (tensorpipe_test+0x53b88) | |
#29 void std::__invoke_impl<void, std::function<void ()>>(std::__invoke_other, std::function<void ()>&&) <null> (tensorpipe_test+0x54887) | |
#30 std::__invoke_result<std::function<void ()>>::type std::__invoke<std::function<void ()>>(std::function<void ()>&&) <null> (tensorpipe_test+0x538e4) | |
#31 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<std::function<void ()> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (tensorpipe_test+0x5b140) | |
#32 std::thread::_Invoker<std::tuple<std::function<void ()> > >::operator()() <null> (tensorpipe_test+0x5af30) | |
#33 std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::function<void ()> > > >::_M_run() <null> (tensorpipe_test+0x5ac4c) | |
#34 <null> <null> (libstdc++.so.6+0xbd6de) | |
Thread T8 'TP_UV_loop' (tid=5174, running) created by thread T23 at: | |
#0 pthread_create <null> (libtsan.so.0+0x2bcee) | |
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xbd994) | |
#2 tensorpipe::transport::uv::Loop::Loop() <null> (tensorpipe_test+0x1fcc18) | |
#3 tensorpipe::transport::uv::Context::Impl::Impl() <null> (tensorpipe_test+0x1da0b2) | |
#4 void __gnu_cxx::new_allocator<tensorpipe::transport::uv::Context::Impl>::construct<tensorpipe::transport::uv::Context::Impl>(tensorpipe::transport::uv::Context::Impl*) <null> (tensorpipe_test+0x1e746d) | |
#5 void std::allocator_traits<std::allocator<tensorpipe::transport::uv::Context::Impl> >::construct<tensorpipe::transport::uv::Context::Impl>(std::allocator<tensorpipe::transport::uv::Context::Impl>&, tensorpipe::transport::uv::Context::Impl*) <null> (tensorpipe_test+0x1e5f32) | |
#6 std::_Sp_counted_ptr_inplace<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<tensorpipe::transport::uv::Context::Impl>) <null> (tensorpipe_test+0x1e4000) | |
#7 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, tensorpipe::transport::uv::Context::Impl*, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e28a8) | |
#8 std::__shared_ptr<tensorpipe::transport::uv::Context::Impl, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e1a7e) | |
#9 std::shared_ptr<tensorpipe::transport::uv::Context::Impl>::shared_ptr<std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e0bee) | |
#10 std::shared_ptr<tensorpipe::transport::uv::Context::Impl> std::allocate_shared<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1df7cd) | |
#11 std::shared_ptr<tensorpipe::transport::uv::Context::Impl> std::make_shared<tensorpipe::transport::uv::Context::Impl>() <null> (tensorpipe_test+0x1de2e2) | |
#12 tensorpipe::transport::uv::Context::Context() <null> (tensorpipe_test+0x1d9ffe) | |
#13 void __gnu_cxx::new_allocator<tensorpipe::transport::uv::Context>::construct<tensorpipe::transport::uv::Context>(tensorpipe::transport::uv::Context*) <null> (tensorpipe_test+0x59c73) | |
#14 void std::allocator_traits<std::allocator<tensorpipe::transport::uv::Context> >::construct<tensorpipe::transport::uv::Context>(std::allocator<tensorpipe::transport::uv::Context>&, tensorpipe::transport::uv::Context*) <null> (tensorpipe_test+0x59570) | |
#15 std::_Sp_counted_ptr_inplace<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<tensorpipe::transport::uv::Context>) <null> (tensorpipe_test+0x58b76) | |
#16 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, tensorpipe::transport::uv::Context*, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x57920) | |
#17 std::__shared_ptr<tensorpipe::transport::uv::Context, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x56a38) | |
#18 std::shared_ptr<tensorpipe::transport::uv::Context>::shared_ptr<std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x55eaa) | |
#19 std::shared_ptr<tensorpipe::transport::uv::Context> std::allocate_shared<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>>(std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x54e3d) | |
#20 std::shared_ptr<tensorpipe::transport::uv::Context> std::make_shared<tensorpipe::transport::uv::Context>() <null> (tensorpipe_test+0x54195) | |
#21 (anonymous namespace)::MptChannelTestHelper::makeContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) <null> (tensorpipe_test+0x9d6f8) | |
#22 ChannelTest_contextIsNotJoined_Test::TestBody()::{lambda(std::shared_ptr<tensorpipe::transport::Connection>)#2}::operator()(std::shared_ptr<tensorpipe::transport::Connection>) const <null> (tensorpipe_test+0xa78b2) | |
#23 std::_Function_handler<void (std::shared_ptr<tensorpipe::transport::Connection>), ChannelTest_contextIsNotJoined_Test::TestBody()::{lambda(std::shared_ptr<tensorpipe::transport::Connection>)#2}>::_M_invoke(std::_Any_data const&, std::shared_ptr<tensorpipe::transport::Connection>&&) <null> (tensorpipe_test+0xabcbd) | |
#24 std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>::operator()(std::shared_ptr<tensorpipe::transport::Connection>) const <null> (tensorpipe_test+0x43b34) | |
#25 ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>)::{lambda()#2}::operator()() const <null> (tensorpipe_test+0xaf92c) | |
#26 std::_Function_handler<void (), ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>)::{lambda()#2}>::_M_invoke(std::_Any_data const&) <null> (tensorpipe_test+0xb4295) | |
#27 std::function<void ()>::operator()() const <null> (tensorpipe_test+0x53b88) | |
#28 void std::__invoke_impl<void, std::function<void ()>>(std::__invoke_other, std::function<void ()>&&) <null> (tensorpipe_test+0x54887) | |
#29 std::__invoke_result<std::function<void ()>>::type std::__invoke<std::function<void ()>>(std::function<void ()>&&) <null> (tensorpipe_test+0x538e4) | |
#30 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<std::function<void ()> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (tensorpipe_test+0x5b140) | |
#31 std::thread::_Invoker<std::tuple<std::function<void ()> > >::operator()() <null> (tensorpipe_test+0x5af30) | |
#32 std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::function<void ()> > > >::_M_run() <null> (tensorpipe_test+0x5ac4c) | |
#33 <null> <null> (libstdc++.so.6+0xbd6de) | |
Thread T6 (tid=5170, running) created by main thread at: | |
#0 pthread_create <null> (libtsan.so.0+0x2bcee) | |
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xbd994) | |
#2 ThreadPeerGroup::spawn(std::function<void ()>, std::function<void ()>) <null> (tensorpipe_test+0x530d9) | |
#3 ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>) <null> (tensorpipe_test+0xafb58) | |
#4 ChannelTest_contextIsNotJoined_Test::TestBody() <null> (tensorpipe_test+0xa7c2a) | |
#5 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (tensorpipe_test+0x323917) | |
#6 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (tensorpipe_test+0x31b29b) | |
#7 testing::Test::Run() <null> (tensorpipe_test+0x2f2915) | |
#8 testing::TestInfo::Run() <null> (tensorpipe_test+0x2f3500) | |
#9 testing::TestCase::Run() <null> (tensorpipe_test+0x2f3e79) | |
#10 testing::internal::UnitTestImpl::RunAllTests() <null> (tensorpipe_test+0x300b7b) | |
#11 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (tensorpipe_test+0x3253fa) | |
#12 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (tensorpipe_test+0x31c897) | |
#13 testing::UnitTest::Run() <null> (tensorpipe_test+0x2fef51) | |
#14 RUN_ALL_TESTS() <null> (tensorpipe_test+0x2e8b51) | |
#15 main <null> (tensorpipe_test+0x2e8a65) | |
SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x2e2b1) in open64 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
WARNING: ThreadSanitizer: data race (pid=4955) | |
Write of size 8 at 0x7b04000034b0 by thread T14: | |
#0 socket <null> (libtsan.so.0+0x2ee73) | |
#1 uv__socket <null> (tensorpipe_test+0x2b63ff) | |
#2 new_socket <null> (tensorpipe_test+0x2cae92) | |
#3 maybe_new_socket <null> (tensorpipe_test+0x2cb3b8) | |
#4 uv__tcp_bind <null> (tensorpipe_test+0x2cb5d8) | |
#5 uv_tcp_bind <null> (tensorpipe_test+0x2b2b27) | |
#6 tensorpipe::transport::uv::TCPHandle::bindFromLoop(tensorpipe::transport::uv::Sockaddr const&) <null> (tensorpipe_test+0x20247e) | |
#7 tensorpipe::transport::uv::Listener::Impl::initFromLoop() <null> (tensorpipe_test+0x1eaffc) | |
#8 tensorpipe::transport::uv::Listener::Impl::init()::{lambda()#1}::operator()() const <null> (tensorpipe_test+0x1ed709) | |
#9 std::_Function_handler<void (), tensorpipe::transport::uv::Listener::Impl::init()::{lambda()#1}>::_M_invoke(std::_Any_data const&) <null> (tensorpipe_test+0x1ef626) | |
#10 std::function<void ()>::operator()() const <null> (tensorpipe_test+0x53b88) | |
#11 tensorpipe::transport::uv::Loop::runFunctionsFromLoop() <null> (tensorpipe_test+0x1fd98a) | |
#12 tensorpipe::transport::uv::Loop::uv__async_cb(uv_async_s*) <null> (tensorpipe_test+0x1fd8a3) | |
#13 uv__async_io <null> (tensorpipe_test+0x2b5182) | |
#14 uv__io_poll <null> (tensorpipe_test+0x2d3a6f) | |
#15 uv_run <null> (tensorpipe_test+0x2b6296) | |
#16 tensorpipe::transport::uv::Loop::loop() <null> (tensorpipe_test+0x1fd4d8) | |
#17 void std::__invoke_impl<void, void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*>(std::__invoke_memfun_deref, void (tensorpipe::transport::uv::Loop::*&&)(), tensorpipe::transport::uv::Loop*&&) <null> (tensorpipe_test+0x1fee33) | |
#18 std::__invoke_result<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*>::type std::__invoke<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*>(void (tensorpipe::transport::uv::Loop::*&&)(), tensorpipe::transport::uv::Loop*&&) <null> (tensorpipe_test+0x1fe336) | |
#19 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) <null> (tensorpipe_test+0x200b68) | |
#20 std::thread::_Invoker<std::tuple<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*> >::operator()() <null> (tensorpipe_test+0x200ae0) | |
#21 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*> > >::_M_run() <null> (tensorpipe_test+0x200a86) | |
#22 <null> <null> (libstdc++.so.6+0xbd6de) | |
Previous write of size 8 at 0x7b04000034b0 by thread T6: | |
#0 eventfd <null> (libtsan.so.0+0x2ea2e) | |
#1 uv__async_start <null> (tensorpipe_test+0x2b5338) | |
#2 uv_async_init <null> (tensorpipe_test+0x2b481c) | |
#3 uv_loop_init <null> (tensorpipe_test+0x2bd10c) | |
#4 tensorpipe::transport::uv::Loop::Loop() <null> (tensorpipe_test+0x1fc9c0) | |
#5 tensorpipe::transport::uv::Context::Impl::Impl() <null> (tensorpipe_test+0x1da0b2) | |
#6 void __gnu_cxx::new_allocator<tensorpipe::transport::uv::Context::Impl>::construct<tensorpipe::transport::uv::Context::Impl>(tensorpipe::transport::uv::Context::Impl*) <null> (tensorpipe_test+0x1e746d) | |
#7 void std::allocator_traits<std::allocator<tensorpipe::transport::uv::Context::Impl> >::construct<tensorpipe::transport::uv::Context::Impl>(std::allocator<tensorpipe::transport::uv::Context::Impl>&, tensorpipe::transport::uv::Context::Impl*) <null> (tensorpipe_test+0x1e5f32) | |
#8 std::_Sp_counted_ptr_inplace<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<tensorpipe::transport::uv::Context::Impl>) <null> (tensorpipe_test+0x1e4000) | |
#9 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, tensorpipe::transport::uv::Context::Impl*, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e28a8) | |
#10 std::__shared_ptr<tensorpipe::transport::uv::Context::Impl, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e1a7e) | |
#11 std::shared_ptr<tensorpipe::transport::uv::Context::Impl>::shared_ptr<std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e0bee) | |
#12 std::shared_ptr<tensorpipe::transport::uv::Context::Impl> std::allocate_shared<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1df7cd) | |
#13 std::shared_ptr<tensorpipe::transport::uv::Context::Impl> std::make_shared<tensorpipe::transport::uv::Context::Impl>() <null> (tensorpipe_test+0x1de2e2) | |
#14 tensorpipe::transport::uv::Context::Context() <null> (tensorpipe_test+0x1d9ffe) | |
#15 void __gnu_cxx::new_allocator<tensorpipe::transport::uv::Context>::construct<tensorpipe::transport::uv::Context>(tensorpipe::transport::uv::Context*) <null> (tensorpipe_test+0x59c73) | |
#16 void std::allocator_traits<std::allocator<tensorpipe::transport::uv::Context> >::construct<tensorpipe::transport::uv::Context>(std::allocator<tensorpipe::transport::uv::Context>&, tensorpipe::transport::uv::Context*) <null> (tensorpipe_test+0x59570) | |
#17 std::_Sp_counted_ptr_inplace<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<tensorpipe::transport::uv::Context>) <null> (tensorpipe_test+0x58b76) | |
#18 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, tensorpipe::transport::uv::Context*, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x57920) | |
#19 std::__shared_ptr<tensorpipe::transport::uv::Context, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x56a38) | |
#20 std::shared_ptr<tensorpipe::transport::uv::Context>::shared_ptr<std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x55eaa) | |
#21 std::shared_ptr<tensorpipe::transport::uv::Context> std::allocate_shared<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>>(std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x54e3d) | |
#22 std::shared_ptr<tensorpipe::transport::uv::Context> std::make_shared<tensorpipe::transport::uv::Context>() <null> (tensorpipe_test+0x54195) | |
#23 (anonymous namespace)::MptChannelTestHelper::makeContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) <null> (tensorpipe_test+0x9d6f8) | |
#24 ChannelTest_contextIsNotJoined_Test::TestBody()::{lambda(std::shared_ptr<tensorpipe::transport::Connection>)#1}::operator()(std::shared_ptr<tensorpipe::transport::Connection>) const <null> (tensorpipe_test+0xa767a) | |
#25 std::_Function_handler<void (std::shared_ptr<tensorpipe::transport::Connection>), ChannelTest_contextIsNotJoined_Test::TestBody()::{lambda(std::shared_ptr<tensorpipe::transport::Connection>)#1}>::_M_invoke(std::_Any_data const&, std::shared_ptr<tensorpipe::transport::Connection>&&) <null> (tensorpipe_test+0xaba69) | |
#26 std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>::operator()(std::shared_ptr<tensorpipe::transport::Connection>) const <null> (tensorpipe_test+0x43b34) | |
#27 ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>)::{lambda()#1}::operator()() const <null> (tensorpipe_test+0xaf3d6) | |
#28 std::_Function_handler<void (), ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>)::{lambda()#1}>::_M_invoke(std::_Any_data const&) <null> (tensorpipe_test+0xb40ae) | |
#29 std::function<void ()>::operator()() const <null> (tensorpipe_test+0x53b88) | |
#30 void std::__invoke_impl<void, std::function<void ()>>(std::__invoke_other, std::function<void ()>&&) <null> (tensorpipe_test+0x54887) | |
#31 std::__invoke_result<std::function<void ()>>::type std::__invoke<std::function<void ()>>(std::function<void ()>&&) <null> (tensorpipe_test+0x538e4) | |
#32 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<std::function<void ()> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (tensorpipe_test+0x5b140) | |
#33 std::thread::_Invoker<std::tuple<std::function<void ()> > >::operator()() <null> (tensorpipe_test+0x5af30) | |
#34 std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::function<void ()> > > >::_M_run() <null> (tensorpipe_test+0x5ac4c) | |
#35 <null> <null> (libstdc++.so.6+0xbd6de) | |
Thread T14 'TP_UV_loop' (tid=5179, running) created by thread T23 at: | |
#0 pthread_create <null> (libtsan.so.0+0x2bcee) | |
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xbd994) | |
#2 tensorpipe::transport::uv::Loop::Loop() <null> (tensorpipe_test+0x1fcc18) | |
#3 tensorpipe::transport::uv::Context::Impl::Impl() <null> (tensorpipe_test+0x1da0b2) | |
#4 void __gnu_cxx::new_allocator<tensorpipe::transport::uv::Context::Impl>::construct<tensorpipe::transport::uv::Context::Impl>(tensorpipe::transport::uv::Context::Impl*) <null> (tensorpipe_test+0x1e746d) | |
#5 void std::allocator_traits<std::allocator<tensorpipe::transport::uv::Context::Impl> >::construct<tensorpipe::transport::uv::Context::Impl>(std::allocator<tensorpipe::transport::uv::Context::Impl>&, tensorpipe::transport::uv::Context::Impl*) <null> (tensorpipe_test+0x1e5f32) | |
#6 std::_Sp_counted_ptr_inplace<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<tensorpipe::transport::uv::Context::Impl>) <null> (tensorpipe_test+0x1e4000) | |
#7 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, tensorpipe::transport::uv::Context::Impl*, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e28a8) | |
#8 std::__shared_ptr<tensorpipe::transport::uv::Context::Impl, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e1a7e) | |
#9 std::shared_ptr<tensorpipe::transport::uv::Context::Impl>::shared_ptr<std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e0bee) | |
#10 std::shared_ptr<tensorpipe::transport::uv::Context::Impl> std::allocate_shared<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1df7cd) | |
#11 std::shared_ptr<tensorpipe::transport::uv::Context::Impl> std::make_shared<tensorpipe::transport::uv::Context::Impl>() <null> (tensorpipe_test+0x1de2e2) | |
#12 tensorpipe::transport::uv::Context::Context() <null> (tensorpipe_test+0x1d9ffe) | |
#13 void __gnu_cxx::new_allocator<tensorpipe::transport::uv::Context>::construct<tensorpipe::transport::uv::Context>(tensorpipe::transport::uv::Context*) <null> (tensorpipe_test+0x59c73) | |
#14 void std::allocator_traits<std::allocator<tensorpipe::transport::uv::Context> >::construct<tensorpipe::transport::uv::Context>(std::allocator<tensorpipe::transport::uv::Context>&, tensorpipe::transport::uv::Context*) <null> (tensorpipe_test+0x59570) | |
#15 std::_Sp_counted_ptr_inplace<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<tensorpipe::transport::uv::Context>) <null> (tensorpipe_test+0x58b76) | |
#16 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, tensorpipe::transport::uv::Context*, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x57920) | |
#17 std::__shared_ptr<tensorpipe::transport::uv::Context, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x56a38) | |
#18 std::shared_ptr<tensorpipe::transport::uv::Context>::shared_ptr<std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x55eaa) | |
#19 std::shared_ptr<tensorpipe::transport::uv::Context> std::allocate_shared<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>>(std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x54e3d) | |
#20 std::shared_ptr<tensorpipe::transport::uv::Context> std::make_shared<tensorpipe::transport::uv::Context>() <null> (tensorpipe_test+0x54195) | |
#21 (anonymous namespace)::MptChannelTestHelper::makeContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) <null> (tensorpipe_test+0x9d74c) | |
#22 ChannelTest_contextIsNotJoined_Test::TestBody()::{lambda(std::shared_ptr<tensorpipe::transport::Connection>)#2}::operator()(std::shared_ptr<tensorpipe::transport::Connection>) const <null> (tensorpipe_test+0xa78b2) | |
#23 std::_Function_handler<void (std::shared_ptr<tensorpipe::transport::Connection>), ChannelTest_contextIsNotJoined_Test::TestBody()::{lambda(std::shared_ptr<tensorpipe::transport::Connection>)#2}>::_M_invoke(std::_Any_data const&, std::shared_ptr<tensorpipe::transport::Connection>&&) <null> (tensorpipe_test+0xabcbd) | |
#24 std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>::operator()(std::shared_ptr<tensorpipe::transport::Connection>) const <null> (tensorpipe_test+0x43b34) | |
#25 ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>)::{lambda()#2}::operator()() const <null> (tensorpipe_test+0xaf92c) | |
#26 std::_Function_handler<void (), ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>)::{lambda()#2}>::_M_invoke(std::_Any_data const&) <null> (tensorpipe_test+0xb4295) | |
#27 std::function<void ()>::operator()() const <null> (tensorpipe_test+0x53b88) | |
#28 void std::__invoke_impl<void, std::function<void ()>>(std::__invoke_other, std::function<void ()>&&) <null> (tensorpipe_test+0x54887) | |
#29 std::__invoke_result<std::function<void ()>>::type std::__invoke<std::function<void ()>>(std::function<void ()>&&) <null> (tensorpipe_test+0x538e4) | |
#30 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<std::function<void ()> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (tensorpipe_test+0x5b140) | |
#31 std::thread::_Invoker<std::tuple<std::function<void ()> > >::operator()() <null> (tensorpipe_test+0x5af30) | |
#32 std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::function<void ()> > > >::_M_run() <null> (tensorpipe_test+0x5ac4c) | |
#33 <null> <null> (libstdc++.so.6+0xbd6de) | |
Thread T6 (tid=5170, running) created by main thread at: | |
#0 pthread_create <null> (libtsan.so.0+0x2bcee) | |
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xbd994) | |
#2 ThreadPeerGroup::spawn(std::function<void ()>, std::function<void ()>) <null> (tensorpipe_test+0x530d9) | |
#3 ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>) <null> (tensorpipe_test+0xafb58) | |
#4 ChannelTest_contextIsNotJoined_Test::TestBody() <null> (tensorpipe_test+0xa7c2a) | |
#5 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (tensorpipe_test+0x323917) | |
#6 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (tensorpipe_test+0x31b29b) | |
#7 testing::Test::Run() <null> (tensorpipe_test+0x2f2915) | |
#8 testing::TestInfo::Run() <null> (tensorpipe_test+0x2f3500) | |
#9 testing::TestCase::Run() <null> (tensorpipe_test+0x2f3e79) | |
#10 testing::internal::UnitTestImpl::RunAllTests() <null> (tensorpipe_test+0x300b7b) | |
#11 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (tensorpipe_test+0x3253fa) | |
#12 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (tensorpipe_test+0x31c897) | |
#13 testing::UnitTest::Run() <null> (tensorpipe_test+0x2fef51) | |
#14 RUN_ALL_TESTS() <null> (tensorpipe_test+0x2e8b51) | |
#15 main <null> (tensorpipe_test+0x2e8a65) | |
SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x2ee73) in __interceptor_socket |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
WARNING: ThreadSanitizer: data race (pid=4955) | |
Write of size 8 at 0x7b0400000960 by thread T16: | |
#0 open64 <null> (libtsan.so.0+0x2e2b1) | |
#1 uv__open_cloexec <null> (tensorpipe_test+0x2b865c) | |
#2 uv__stream_init <null> (tensorpipe_test+0x2c5ac8) | |
#3 uv_tcp_init_ex <null> (tensorpipe_test+0x2cb455) | |
#4 uv_tcp_init <null> (tensorpipe_test+0x2cb540) | |
#5 tensorpipe::transport::uv::TCPHandle::initFromLoop() <null> (tensorpipe_test+0x2020f8) | |
#6 tensorpipe::transport::uv::Listener::Impl::initFromLoop() <null> (tensorpipe_test+0x1eafd0) | |
#7 tensorpipe::transport::uv::Listener::Impl::init()::{lambda()#1}::operator()() const <null> (tensorpipe_test+0x1ed709) | |
#8 std::_Function_handler<void (), tensorpipe::transport::uv::Listener::Impl::init()::{lambda()#1}>::_M_invoke(std::_Any_data const&) <null> (tensorpipe_test+0x1ef626) | |
#9 std::function<void ()>::operator()() const <null> (tensorpipe_test+0x53b88) | |
#10 tensorpipe::transport::uv::Loop::runFunctionsFromLoop() <null> (tensorpipe_test+0x1fd98a) | |
#11 tensorpipe::transport::uv::Loop::uv__async_cb(uv_async_s*) <null> (tensorpipe_test+0x1fd8a3) | |
#12 uv__async_io <null> (tensorpipe_test+0x2b5182) | |
#13 uv__io_poll <null> (tensorpipe_test+0x2d3a6f) | |
#14 uv_run <null> (tensorpipe_test+0x2b6296) | |
#15 tensorpipe::transport::uv::Loop::loop() <null> (tensorpipe_test+0x1fd4d8) | |
#16 void std::__invoke_impl<void, void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*>(std::__invoke_memfun_deref, void (tensorpipe::transport::uv::Loop::*&&)(), tensorpipe::transport::uv::Loop*&&) <null> (tensorpipe_test+0x1fee33) | |
#17 std::__invoke_result<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*>::type std::__invoke<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*>(void (tensorpipe::transport::uv::Loop::*&&)(), tensorpipe::transport::uv::Loop*&&) <null> (tensorpipe_test+0x1fe336) | |
#18 decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) <null> (tensorpipe_test+0x200b68) | |
#19 std::thread::_Invoker<std::tuple<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*> >::operator()() <null> (tensorpipe_test+0x200ae0) | |
#20 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tensorpipe::transport::uv::Loop::*)(), tensorpipe::transport::uv::Loop*> > >::_M_run() <null> (tensorpipe_test+0x200a86) | |
#21 <null> <null> (libstdc++.so.6+0xbd6de) | |
Previous write of size 8 at 0x7b0400000960 by thread T6: | |
#0 epoll_create1 <null> (libtsan.so.0+0x30209) | |
#1 uv__platform_loop_init <null> (tensorpipe_test+0x2d2870) | |
#2 uv_loop_init <null> (tensorpipe_test+0x2bcf04) | |
#3 tensorpipe::transport::uv::Loop::Loop() <null> (tensorpipe_test+0x1fc9c0) | |
#4 tensorpipe::transport::uv::Context::Impl::Impl() <null> (tensorpipe_test+0x1da0b2) | |
#5 void __gnu_cxx::new_allocator<tensorpipe::transport::uv::Context::Impl>::construct<tensorpipe::transport::uv::Context::Impl>(tensorpipe::transport::uv::Context::Impl*) <null> (tensorpipe_test+0x1e746d) | |
#6 void std::allocator_traits<std::allocator<tensorpipe::transport::uv::Context::Impl> >::construct<tensorpipe::transport::uv::Context::Impl>(std::allocator<tensorpipe::transport::uv::Context::Impl>&, tensorpipe::transport::uv::Context::Impl*) <null> (tensorpipe_test+0x1e5f32) | |
#7 std::_Sp_counted_ptr_inplace<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<tensorpipe::transport::uv::Context::Impl>) <null> (tensorpipe_test+0x1e4000) | |
#8 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, tensorpipe::transport::uv::Context::Impl*, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e28a8) | |
#9 std::__shared_ptr<tensorpipe::transport::uv::Context::Impl, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e1a7e) | |
#10 std::shared_ptr<tensorpipe::transport::uv::Context::Impl>::shared_ptr<std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e0bee) | |
#11 std::shared_ptr<tensorpipe::transport::uv::Context::Impl> std::allocate_shared<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1df7cd) | |
#12 std::shared_ptr<tensorpipe::transport::uv::Context::Impl> std::make_shared<tensorpipe::transport::uv::Context::Impl>() <null> (tensorpipe_test+0x1de2e2) | |
#13 tensorpipe::transport::uv::Context::Context() <null> (tensorpipe_test+0x1d9ffe) | |
#14 void __gnu_cxx::new_allocator<tensorpipe::transport::uv::Context>::construct<tensorpipe::transport::uv::Context>(tensorpipe::transport::uv::Context*) <null> (tensorpipe_test+0x59c73) | |
#15 void std::allocator_traits<std::allocator<tensorpipe::transport::uv::Context> >::construct<tensorpipe::transport::uv::Context>(std::allocator<tensorpipe::transport::uv::Context>&, tensorpipe::transport::uv::Context*) <null> (tensorpipe_test+0x59570) | |
#16 std::_Sp_counted_ptr_inplace<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<tensorpipe::transport::uv::Context>) <null> (tensorpipe_test+0x58b76) | |
#17 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, tensorpipe::transport::uv::Context*, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x57920) | |
#18 std::__shared_ptr<tensorpipe::transport::uv::Context, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x56a38) | |
#19 std::shared_ptr<tensorpipe::transport::uv::Context>::shared_ptr<std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x55eaa) | |
#20 std::shared_ptr<tensorpipe::transport::uv::Context> std::allocate_shared<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>>(std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x54e3d) | |
#21 std::shared_ptr<tensorpipe::transport::uv::Context> std::make_shared<tensorpipe::transport::uv::Context>() <null> (tensorpipe_test+0x54195) | |
#22 (anonymous namespace)::MptChannelTestHelper::makeContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) <null> (tensorpipe_test+0x9d720) | |
#23 ChannelTest_contextIsNotJoined_Test::TestBody()::{lambda(std::shared_ptr<tensorpipe::transport::Connection>)#1}::operator()(std::shared_ptr<tensorpipe::transport::Connection>) const <null> (tensorpipe_test+0xa767a) | |
#24 std::_Function_handler<void (std::shared_ptr<tensorpipe::transport::Connection>), ChannelTest_contextIsNotJoined_Test::TestBody()::{lambda(std::shared_ptr<tensorpipe::transport::Connection>)#1}>::_M_invoke(std::_Any_data const&, std::shared_ptr<tensorpipe::transport::Connection>&&) <null> (tensorpipe_test+0xaba69) | |
#25 std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>::operator()(std::shared_ptr<tensorpipe::transport::Connection>) const <null> (tensorpipe_test+0x43b34) | |
#26 ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>)::{lambda()#1}::operator()() const <null> (tensorpipe_test+0xaf3d6) | |
#27 std::_Function_handler<void (), ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>)::{lambda()#1}>::_M_invoke(std::_Any_data const&) <null> (tensorpipe_test+0xb40ae) | |
#28 std::function<void ()>::operator()() const <null> (tensorpipe_test+0x53b88) | |
#29 void std::__invoke_impl<void, std::function<void ()>>(std::__invoke_other, std::function<void ()>&&) <null> (tensorpipe_test+0x54887) | |
#30 std::__invoke_result<std::function<void ()>>::type std::__invoke<std::function<void ()>>(std::function<void ()>&&) <null> (tensorpipe_test+0x538e4) | |
#31 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<std::function<void ()> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (tensorpipe_test+0x5b140) | |
#32 std::thread::_Invoker<std::tuple<std::function<void ()> > >::operator()() <null> (tensorpipe_test+0x5af30) | |
#33 std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::function<void ()> > > >::_M_run() <null> (tensorpipe_test+0x5ac4c) | |
#34 <null> <null> (libstdc++.so.6+0xbd6de) | |
Thread T16 'TP_UV_loop' (tid=5177, running) created by thread T23 at: | |
#0 pthread_create <null> (libtsan.so.0+0x2bcee) | |
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xbd994) | |
#2 tensorpipe::transport::uv::Loop::Loop() <null> (tensorpipe_test+0x1fcc18) | |
#3 tensorpipe::transport::uv::Context::Impl::Impl() <null> (tensorpipe_test+0x1da0b2) | |
#4 void __gnu_cxx::new_allocator<tensorpipe::transport::uv::Context::Impl>::construct<tensorpipe::transport::uv::Context::Impl>(tensorpipe::transport::uv::Context::Impl*) <null> (tensorpipe_test+0x1e746d) | |
#5 void std::allocator_traits<std::allocator<tensorpipe::transport::uv::Context::Impl> >::construct<tensorpipe::transport::uv::Context::Impl>(std::allocator<tensorpipe::transport::uv::Context::Impl>&, tensorpipe::transport::uv::Context::Impl*) <null> (tensorpipe_test+0x1e5f32) | |
#6 std::_Sp_counted_ptr_inplace<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<tensorpipe::transport::uv::Context::Impl>) <null> (tensorpipe_test+0x1e4000) | |
#7 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, tensorpipe::transport::uv::Context::Impl*, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e28a8) | |
#8 std::__shared_ptr<tensorpipe::transport::uv::Context::Impl, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e1a7e) | |
#9 std::shared_ptr<tensorpipe::transport::uv::Context::Impl>::shared_ptr<std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1e0bee) | |
#10 std::shared_ptr<tensorpipe::transport::uv::Context::Impl> std::allocate_shared<tensorpipe::transport::uv::Context::Impl, std::allocator<tensorpipe::transport::uv::Context::Impl>>(std::allocator<tensorpipe::transport::uv::Context::Impl> const&) <null> (tensorpipe_test+0x1df7cd) | |
#11 std::shared_ptr<tensorpipe::transport::uv::Context::Impl> std::make_shared<tensorpipe::transport::uv::Context::Impl>() <null> (tensorpipe_test+0x1de2e2) | |
#12 tensorpipe::transport::uv::Context::Context() <null> (tensorpipe_test+0x1d9ffe) | |
#13 void __gnu_cxx::new_allocator<tensorpipe::transport::uv::Context>::construct<tensorpipe::transport::uv::Context>(tensorpipe::transport::uv::Context*) <null> (tensorpipe_test+0x59c73) | |
#14 void std::allocator_traits<std::allocator<tensorpipe::transport::uv::Context> >::construct<tensorpipe::transport::uv::Context>(std::allocator<tensorpipe::transport::uv::Context>&, tensorpipe::transport::uv::Context*) <null> (tensorpipe_test+0x59570) | |
#15 std::_Sp_counted_ptr_inplace<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<>(std::allocator<tensorpipe::transport::uv::Context>) <null> (tensorpipe_test+0x58b76) | |
#16 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, tensorpipe::transport::uv::Context*, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x57920) | |
#17 std::__shared_ptr<tensorpipe::transport::uv::Context, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x56a38) | |
#18 std::shared_ptr<tensorpipe::transport::uv::Context>::shared_ptr<std::allocator<tensorpipe::transport::uv::Context>>(std::_Sp_make_shared_tag, std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x55eaa) | |
#19 std::shared_ptr<tensorpipe::transport::uv::Context> std::allocate_shared<tensorpipe::transport::uv::Context, std::allocator<tensorpipe::transport::uv::Context>>(std::allocator<tensorpipe::transport::uv::Context> const&) <null> (tensorpipe_test+0x54e3d) | |
#20 std::shared_ptr<tensorpipe::transport::uv::Context> std::make_shared<tensorpipe::transport::uv::Context>() <null> (tensorpipe_test+0x54195) | |
#21 (anonymous namespace)::MptChannelTestHelper::makeContext(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) <null> (tensorpipe_test+0x9d720) | |
#22 ChannelTest_contextIsNotJoined_Test::TestBody()::{lambda(std::shared_ptr<tensorpipe::transport::Connection>)#2}::operator()(std::shared_ptr<tensorpipe::transport::Connection>) const <null> (tensorpipe_test+0xa78b2) | |
#23 std::_Function_handler<void (std::shared_ptr<tensorpipe::transport::Connection>), ChannelTest_contextIsNotJoined_Test::TestBody()::{lambda(std::shared_ptr<tensorpipe::transport::Connection>)#2}>::_M_invoke(std::_Any_data const&, std::shared_ptr<tensorpipe::transport::Connection>&&) <null> (tensorpipe_test+0xabcbd) | |
#24 std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>::operator()(std::shared_ptr<tensorpipe::transport::Connection>) const <null> (tensorpipe_test+0x43b34) | |
#25 ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>)::{lambda()#2}::operator()() const <null> (tensorpipe_test+0xaf92c) | |
#26 std::_Function_handler<void (), ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>)::{lambda()#2}>::_M_invoke(std::_Any_data const&) <null> (tensorpipe_test+0xb4295) | |
#27 std::function<void ()>::operator()() const <null> (tensorpipe_test+0x53b88) | |
#28 void std::__invoke_impl<void, std::function<void ()>>(std::__invoke_other, std::function<void ()>&&) <null> (tensorpipe_test+0x54887) | |
#29 std::__invoke_result<std::function<void ()>>::type std::__invoke<std::function<void ()>>(std::function<void ()>&&) <null> (tensorpipe_test+0x538e4) | |
#30 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<std::function<void ()> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (tensorpipe_test+0x5b140) | |
#31 std::thread::_Invoker<std::tuple<std::function<void ()> > >::operator()() <null> (tensorpipe_test+0x5af30) | |
#32 std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::function<void ()> > > >::_M_run() <null> (tensorpipe_test+0x5ac4c) | |
#33 <null> <null> (libstdc++.so.6+0xbd6de) | |
Thread T6 (tid=5170, running) created by main thread at: | |
#0 pthread_create <null> (libtsan.so.0+0x2bcee) | |
#1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xbd994) | |
#2 ThreadPeerGroup::spawn(std::function<void ()>, std::function<void ()>) <null> (tensorpipe_test+0x530d9) | |
#3 ChannelTest::testConnection(std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>, std::function<void (std::shared_ptr<tensorpipe::transport::Connection>)>) <null> (tensorpipe_test+0xafb58) | |
#4 ChannelTest_contextIsNotJoined_Test::TestBody() <null> (tensorpipe_test+0xa7c2a) | |
#5 void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (tensorpipe_test+0x323917) | |
#6 void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) <null> (tensorpipe_test+0x31b29b) | |
#7 testing::Test::Run() <null> (tensorpipe_test+0x2f2915) | |
#8 testing::TestInfo::Run() <null> (tensorpipe_test+0x2f3500) | |
#9 testing::TestCase::Run() <null> (tensorpipe_test+0x2f3e79) | |
#10 testing::internal::UnitTestImpl::RunAllTests() <null> (tensorpipe_test+0x300b7b) | |
#11 bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (tensorpipe_test+0x3253fa) | |
#12 bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) <null> (tensorpipe_test+0x31c897) | |
#13 testing::UnitTest::Run() <null> (tensorpipe_test+0x2fef51) | |
#14 RUN_ALL_TESTS() <null> (tensorpipe_test+0x2e8b51) | |
#15 main <null> (tensorpipe_test+0x2e8a65) | |
SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x2e2b1) in open64 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment