Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ==================
- WARNING: ThreadSanitizer: double lock of a mutex (pid=72217)
- #0 pthread_mutex_lock /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x54b6a)
- #1 __gthread_mutex_lock(pthread_mutex_t*) <null> (a.out+0x2df5)
- #2 std::mutex::lock() <null> (a.out+0x2e7a)
- #3 std::scoped_lock<std::mutex>::scoped_lock(std::mutex&) <null> (a.out+0x4c4a)
- #4 Test::check() <null> (a.out+0x2628)
- #5 check_th() <null> (a.out+0x27d7)
- #6 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #7 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #8 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #9 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #10 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #11 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Location is global 't' of size 168 at 0x5566b5a9d1c0 (a.out+0x0000000111c0)
- Mutex M10 (0x5566b5a9d1c0) created at:
- #0 pthread_mutex_lock /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x54b6a)
- #1 __gthread_mutex_lock(pthread_mutex_t*) <null> (a.out+0x2df5)
- #2 std::mutex::lock() <null> (a.out+0x2e7a)
- #3 std::unique_lock<std::mutex>::lock() <null> (a.out+0x5715)
- #4 std::unique_lock<std::mutex>::unique_lock(std::mutex&) <null> (a.out+0x4998)
- #5 Test::read() <null> (a.out+0x24c4)
- #6 read_th() <null> (a.out+0x277a)
- #7 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #8 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #9 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #10 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- SUMMARY: ThreadSanitizer: double lock of a mutex (/tmp/a.out+0x2df5) in __gthread_mutex_lock(pthread_mutex_t*)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=72217)
- Read of size 8 at 0x5566b5a9d248 by thread T2 (mutexes: write M10):
- #0 std::operator-(std::_Deque_iterator<std::weak_ptr<Mes>, std::weak_ptr<Mes>&, std::weak_ptr<Mes>*> const&, std::_Deque_iterator<std::weak_ptr<Mes>, std::weak_ptr<Mes>&, std::weak_ptr<Mes>*> const&) <null> (a.out+0x6c4f)
- #1 std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::size() const <null> (a.out+0x5d59)
- #2 std::queue<std::weak_ptr<Mes>, std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > > >::size() const <null> (a.out+0x4ccc)
- #3 Test::check() <null> (a.out+0x2638)
- #4 check_th() <null> (a.out+0x27d7)
- #5 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #6 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #7 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #8 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #9 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #10 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Previous write of size 8 at 0x5566b5a9d248 by thread T1 (mutexes: write M10):
- #0 std::weak_ptr<Mes>& std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::emplace_back<std::weak_ptr<Mes> >(std::weak_ptr<Mes>&&) <null> (a.out+0x6942)
- #1 std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::push_back(std::weak_ptr<Mes>&&) <null> (a.out+0x5a3e)
- #2 std::queue<std::weak_ptr<Mes>, std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > > >::push(std::weak_ptr<Mes>&&) <null> (a.out+0x4b77)
- #3 Test::read() <null> (a.out+0x24fa)
- #4 read_th() <null> (a.out+0x277a)
- #5 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #6 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #7 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #8 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #9 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #10 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Location is global 't' of size 168 at 0x5566b5a9d1c0 (a.out+0x000000011248)
- Mutex M10 (0x5566b5a9d1c0) created at:
- #0 pthread_mutex_lock /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x54b6a)
- #1 __gthread_mutex_lock(pthread_mutex_t*) <null> (a.out+0x2df5)
- #2 std::mutex::lock() <null> (a.out+0x2e7a)
- #3 std::unique_lock<std::mutex>::lock() <null> (a.out+0x5715)
- #4 std::unique_lock<std::mutex>::unique_lock(std::mutex&) <null> (a.out+0x4998)
- #5 Test::read() <null> (a.out+0x24c4)
- #6 read_th() <null> (a.out+0x277a)
- #7 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #8 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #9 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #10 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Thread T2 (tid=72220, running) created by main thread at:
- #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x61c3a)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xd36aa)
- #2 std::thread std::jthread::_S_create<void (&)()>(std::stop_source&, void (&)()) <null> (a.out+0x5f9e)
- #3 std::jthread::jthread<void (&)(), , void>(void (&)()) <null> (a.out+0x4e47)
- #4 main <null> (a.out+0x2851)
- Thread T1 (tid=72219, running) created by main thread at:
- #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x61c3a)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xd36aa)
- #2 std::thread std::jthread::_S_create<void (&)()>(std::stop_source&, void (&)()) <null> (a.out+0x5f9e)
- #3 std::jthread::jthread<void (&)(), , void>(void (&)()) <null> (a.out+0x4e47)
- #4 main <null> (a.out+0x283b)
- SUMMARY: ThreadSanitizer: data race (/tmp/a.out+0x6c4f) in std::operator-(std::_Deque_iterator<std::weak_ptr<Mes>, std::weak_ptr<Mes>&, std::weak_ptr<Mes>*> const&, std::_Deque_iterator<std::weak_ptr<Mes>, std::weak_ptr<Mes>&, std::weak_ptr<Mes>*> const&)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=72217)
- Read of size 8 at 0x7b5000000008 by thread T2 (mutexes: write M10):
- #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count(std::__weak_count<(__gnu_cxx::_Lock_policy)2> const&, std::nothrow_t) <null> (a.out+0x7c2e)
- #1 std::__shared_ptr<Mes, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__weak_ptr<Mes, (__gnu_cxx::_Lock_policy)2> const&, std::nothrow_t) <null> (a.out+0x6d37)
- #2 std::shared_ptr<Mes>::shared_ptr(std::weak_ptr<Mes> const&, std::nothrow_t) <null> (a.out+0x5e08)
- #3 std::weak_ptr<Mes>::lock() const <null> (a.out+0x4d46)
- #4 Test::check() <null> (a.out+0x2668)
- #5 check_th() <null> (a.out+0x27d7)
- #6 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #7 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #8 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #9 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #10 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #11 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Previous write of size 8 at 0x7b5000000008 by thread T1 (mutexes: write M10):
- #0 std::__weak_count<(__gnu_cxx::_Lock_policy)2>::__weak_count(std::__weak_count<(__gnu_cxx::_Lock_policy)2>&&) <null> (a.out+0x8cb9)
- #1 std::__weak_ptr<Mes, (__gnu_cxx::_Lock_policy)2>::__weak_ptr(std::__weak_ptr<Mes, (__gnu_cxx::_Lock_policy)2>&&) <null> (a.out+0x8433)
- #2 std::weak_ptr<Mes>::weak_ptr(std::weak_ptr<Mes>&&) <null> (a.out+0x769c)
- #3 decltype (::new ((void*)(0)) std::weak_ptr<Mes>((declval<std::weak_ptr<Mes> >)())) std::construct_at<std::weak_ptr<Mes>, std::weak_ptr<Mes> >(std::weak_ptr<Mes>*, std::weak_ptr<Mes>&&) <null> (a.out+0x76f1)
- #4 void std::allocator_traits<std::allocator<std::weak_ptr<Mes> > >::construct<std::weak_ptr<Mes>, std::weak_ptr<Mes> >(std::allocator<std::weak_ptr<Mes> >&, std::weak_ptr<Mes>*, std::weak_ptr<Mes>&&) <null> (a.out+0x7740)
- #5 std::weak_ptr<Mes>& std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::emplace_back<std::weak_ptr<Mes> >(std::weak_ptr<Mes>&&) <null> (a.out+0x6916)
- #6 std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::push_back(std::weak_ptr<Mes>&&) <null> (a.out+0x5a3e)
- #7 std::queue<std::weak_ptr<Mes>, std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > > >::push(std::weak_ptr<Mes>&&) <null> (a.out+0x4b77)
- #8 Test::read() <null> (a.out+0x24fa)
- #9 read_th() <null> (a.out+0x277a)
- #10 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #11 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #12 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #13 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #14 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #15 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Location is heap block of size 512 at 0x7b5000000000 allocated by main thread:
- #0 operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x91824)
- #1 __gnu_cxx::new_allocator<std::weak_ptr<Mes> >::allocate(unsigned long, void const*) <null> (a.out+0x9a4a)
- #2 std::allocator_traits<std::allocator<std::weak_ptr<Mes> > >::allocate(std::allocator<std::weak_ptr<Mes> >&, unsigned long) <null> (a.out+0x8884)
- #3 std::_Deque_base<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::_M_allocate_node() <null> (a.out+0x80f8)
- #4 std::_Deque_base<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::_M_create_nodes(std::weak_ptr<Mes>**, std::weak_ptr<Mes>**) <null> (a.out+0x7272)
- #5 std::_Deque_base<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::_M_initialize_map(unsigned long) <null> (a.out+0x6281)
- #6 std::_Deque_base<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::_Deque_base() <null> (a.out+0x545f)
- #7 std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::deque() <null> (a.out+0x47ca)
- #8 std::queue<std::weak_ptr<Mes>, std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > > >::queue<std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >, void>() <null> (a.out+0x4874)
- #9 Test::Test() <null> (a.out+0x3eec)
- #10 __static_initialization_and_destruction_0(int, int) <null> (a.out+0x2a52)
- #11 _GLOBAL__sub_I_t <null> (a.out+0x2ab4)
- #12 __libc_csu_init <null> (a.out+0xa6fc)
- Mutex M10 (0x5566b5a9d1c0) created at:
- #0 pthread_mutex_lock /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x54b6a)
- #1 __gthread_mutex_lock(pthread_mutex_t*) <null> (a.out+0x2df5)
- #2 std::mutex::lock() <null> (a.out+0x2e7a)
- #3 std::unique_lock<std::mutex>::lock() <null> (a.out+0x5715)
- #4 std::unique_lock<std::mutex>::unique_lock(std::mutex&) <null> (a.out+0x4998)
- #5 Test::read() <null> (a.out+0x24c4)
- #6 read_th() <null> (a.out+0x277a)
- #7 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #8 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #9 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #10 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Thread T2 (tid=72220, running) created by main thread at:
- #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x61c3a)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xd36aa)
- #2 std::thread std::jthread::_S_create<void (&)()>(std::stop_source&, void (&)()) <null> (a.out+0x5f9e)
- #3 std::jthread::jthread<void (&)(), , void>(void (&)()) <null> (a.out+0x4e47)
- #4 main <null> (a.out+0x2851)
- Thread T1 (tid=72219, running) created by main thread at:
- #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x61c3a)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xd36aa)
- #2 std::thread std::jthread::_S_create<void (&)()>(std::stop_source&, void (&)()) <null> (a.out+0x5f9e)
- #3 std::jthread::jthread<void (&)(), , void>(void (&)()) <null> (a.out+0x4e47)
- #4 main <null> (a.out+0x283b)
- SUMMARY: ThreadSanitizer: data race (/tmp/a.out+0x7c2e) in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count(std::__weak_count<(__gnu_cxx::_Lock_policy)2> const&, std::nothrow_t)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=72217)
- Atomic read of size 4 at 0x7b0800001028 by thread T2 (mutexes: write M10):
- #0 __tsan_atomic32_load /build/gcc/src/gcc/libsanitizer/tsan/tsan_interface_atomic.cpp:534 (libtsan.so.0+0x81eaf)
- #1 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_get_use_count() const <null> (a.out+0x473f)
- #2 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_add_ref_lock_nothrow() <null> (a.out+0x3d31)
- #3 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count(std::__weak_count<(__gnu_cxx::_Lock_policy)2> const&, std::nothrow_t) <null> (a.out+0x7c7b)
- #4 std::__shared_ptr<Mes, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__weak_ptr<Mes, (__gnu_cxx::_Lock_policy)2> const&, std::nothrow_t) <null> (a.out+0x6d37)
- #5 std::shared_ptr<Mes>::shared_ptr(std::weak_ptr<Mes> const&, std::nothrow_t) <null> (a.out+0x5e08)
- #6 std::weak_ptr<Mes>::lock() const <null> (a.out+0x4d46)
- #7 Test::check() <null> (a.out+0x2668)
- #8 check_th() <null> (a.out+0x27d7)
- #9 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #10 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #11 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #12 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #13 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #14 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Previous write of size 8 at 0x7b0800001028 by thread T1 (mutexes: write M10):
- #0 operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x91824)
- #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) <null> (a.out+0x9cfd)
- #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) <null> (a.out+0x94e6)
- #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> >&) <null> (a.out+0x8988)
- #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Mes, std::allocator<Mes>>(Mes*&, std::_Sp_alloc_shared_tag<std::allocator<Mes> >) <null> (a.out+0x82c1)
- #5 std::__shared_ptr<Mes, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Mes>>(std::_Sp_alloc_shared_tag<std::allocator<Mes> >) <null> (a.out+0x7564)
- #6 std::shared_ptr<Mes>::shared_ptr<std::allocator<Mes>>(std::_Sp_alloc_shared_tag<std::allocator<Mes> >) <null> (a.out+0x67e5)
- #7 std::shared_ptr<Mes> std::allocate_shared<Mes, std::allocator<Mes>>(std::allocator<Mes> const&) <null> (a.out+0x5862)
- #8 std::shared_ptr<Mes> std::make_shared<Mes>() <null> (a.out+0x4a60)
- #9 Test::read() <null> (a.out+0x24d0)
- #10 read_th() <null> (a.out+0x277a)
- #11 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #12 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #13 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #14 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #15 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #16 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Location is heap block of size 24 at 0x7b0800001020 allocated by thread T1:
- #0 operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x91824)
- #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) <null> (a.out+0x9cfd)
- #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) <null> (a.out+0x94e6)
- #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> >&) <null> (a.out+0x8988)
- #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Mes, std::allocator<Mes>>(Mes*&, std::_Sp_alloc_shared_tag<std::allocator<Mes> >) <null> (a.out+0x82c1)
- #5 std::__shared_ptr<Mes, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Mes>>(std::_Sp_alloc_shared_tag<std::allocator<Mes> >) <null> (a.out+0x7564)
- #6 std::shared_ptr<Mes>::shared_ptr<std::allocator<Mes>>(std::_Sp_alloc_shared_tag<std::allocator<Mes> >) <null> (a.out+0x67e5)
- #7 std::shared_ptr<Mes> std::allocate_shared<Mes, std::allocator<Mes>>(std::allocator<Mes> const&) <null> (a.out+0x5862)
- #8 std::shared_ptr<Mes> std::make_shared<Mes>() <null> (a.out+0x4a60)
- #9 Test::read() <null> (a.out+0x24d0)
- #10 read_th() <null> (a.out+0x277a)
- #11 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #12 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #13 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #14 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #15 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #16 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Mutex M10 (0x5566b5a9d1c0) created at:
- #0 pthread_mutex_lock /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x54b6a)
- #1 __gthread_mutex_lock(pthread_mutex_t*) <null> (a.out+0x2df5)
- #2 std::mutex::lock() <null> (a.out+0x2e7a)
- #3 std::unique_lock<std::mutex>::lock() <null> (a.out+0x5715)
- #4 std::unique_lock<std::mutex>::unique_lock(std::mutex&) <null> (a.out+0x4998)
- #5 Test::read() <null> (a.out+0x24c4)
- #6 read_th() <null> (a.out+0x277a)
- #7 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #8 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #9 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #10 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Thread T2 (tid=72220, running) created by main thread at:
- #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x61c3a)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xd36aa)
- #2 std::thread std::jthread::_S_create<void (&)()>(std::stop_source&, void (&)()) <null> (a.out+0x5f9e)
- #3 std::jthread::jthread<void (&)(), , void>(void (&)()) <null> (a.out+0x4e47)
- #4 main <null> (a.out+0x2851)
- Thread T1 (tid=72219, running) created by main thread at:
- #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x61c3a)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xd36aa)
- #2 std::thread std::jthread::_S_create<void (&)()>(std::stop_source&, void (&)()) <null> (a.out+0x5f9e)
- #3 std::jthread::jthread<void (&)(), , void>(void (&)()) <null> (a.out+0x4e47)
- #4 main <null> (a.out+0x283b)
- SUMMARY: ThreadSanitizer: data race (/tmp/a.out+0x473f) in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_get_use_count() const
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=72217)
- Read of size 8 at 0x7b5000000000 by thread T2 (mutexes: write M10):
- #0 std::__shared_ptr<Mes, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__weak_ptr<Mes, (__gnu_cxx::_Lock_policy)2> const&, std::nothrow_t) <null> (a.out+0x6d58)
- #1 std::shared_ptr<Mes>::shared_ptr(std::weak_ptr<Mes> const&, std::nothrow_t) <null> (a.out+0x5e08)
- #2 std::weak_ptr<Mes>::lock() const <null> (a.out+0x4d46)
- #3 Test::check() <null> (a.out+0x2668)
- #4 check_th() <null> (a.out+0x27d7)
- #5 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #6 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #7 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #8 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #9 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #10 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Previous write of size 8 at 0x7b5000000000 by thread T1 (mutexes: write M10):
- #0 std::__weak_ptr<Mes, (__gnu_cxx::_Lock_policy)2>::__weak_ptr(std::__weak_ptr<Mes, (__gnu_cxx::_Lock_policy)2>&&) <null> (a.out+0x8409)
- #1 std::weak_ptr<Mes>::weak_ptr(std::weak_ptr<Mes>&&) <null> (a.out+0x769c)
- #2 decltype (::new ((void*)(0)) std::weak_ptr<Mes>((declval<std::weak_ptr<Mes> >)())) std::construct_at<std::weak_ptr<Mes>, std::weak_ptr<Mes> >(std::weak_ptr<Mes>*, std::weak_ptr<Mes>&&) <null> (a.out+0x76f1)
- #3 void std::allocator_traits<std::allocator<std::weak_ptr<Mes> > >::construct<std::weak_ptr<Mes>, std::weak_ptr<Mes> >(std::allocator<std::weak_ptr<Mes> >&, std::weak_ptr<Mes>*, std::weak_ptr<Mes>&&) <null> (a.out+0x7740)
- #4 std::weak_ptr<Mes>& std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::emplace_back<std::weak_ptr<Mes> >(std::weak_ptr<Mes>&&) <null> (a.out+0x6916)
- #5 std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::push_back(std::weak_ptr<Mes>&&) <null> (a.out+0x5a3e)
- #6 std::queue<std::weak_ptr<Mes>, std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > > >::push(std::weak_ptr<Mes>&&) <null> (a.out+0x4b77)
- #7 Test::read() <null> (a.out+0x24fa)
- #8 read_th() <null> (a.out+0x277a)
- #9 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #10 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #11 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #12 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #13 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #14 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Location is heap block of size 512 at 0x7b5000000000 allocated by main thread:
- #0 operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x91824)
- #1 __gnu_cxx::new_allocator<std::weak_ptr<Mes> >::allocate(unsigned long, void const*) <null> (a.out+0x9a4a)
- #2 std::allocator_traits<std::allocator<std::weak_ptr<Mes> > >::allocate(std::allocator<std::weak_ptr<Mes> >&, unsigned long) <null> (a.out+0x8884)
- #3 std::_Deque_base<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::_M_allocate_node() <null> (a.out+0x80f8)
- #4 std::_Deque_base<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::_M_create_nodes(std::weak_ptr<Mes>**, std::weak_ptr<Mes>**) <null> (a.out+0x7272)
- #5 std::_Deque_base<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::_M_initialize_map(unsigned long) <null> (a.out+0x6281)
- #6 std::_Deque_base<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::_Deque_base() <null> (a.out+0x545f)
- #7 std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >::deque() <null> (a.out+0x47ca)
- #8 std::queue<std::weak_ptr<Mes>, std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > > >::queue<std::deque<std::weak_ptr<Mes>, std::allocator<std::weak_ptr<Mes> > >, void>() <null> (a.out+0x4874)
- #9 Test::Test() <null> (a.out+0x3eec)
- #10 __static_initialization_and_destruction_0(int, int) <null> (a.out+0x2a52)
- #11 _GLOBAL__sub_I_t <null> (a.out+0x2ab4)
- #12 __libc_csu_init <null> (a.out+0xa6fc)
- Mutex M10 (0x5566b5a9d1c0) created at:
- #0 pthread_mutex_lock /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x54b6a)
- #1 __gthread_mutex_lock(pthread_mutex_t*) <null> (a.out+0x2df5)
- #2 std::mutex::lock() <null> (a.out+0x2e7a)
- #3 std::unique_lock<std::mutex>::lock() <null> (a.out+0x5715)
- #4 std::unique_lock<std::mutex>::unique_lock(std::mutex&) <null> (a.out+0x4998)
- #5 Test::read() <null> (a.out+0x24c4)
- #6 read_th() <null> (a.out+0x277a)
- #7 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #8 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #9 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #10 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Thread T2 (tid=72220, running) created by main thread at:
- #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x61c3a)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xd36aa)
- #2 std::thread std::jthread::_S_create<void (&)()>(std::stop_source&, void (&)()) <null> (a.out+0x5f9e)
- #3 std::jthread::jthread<void (&)(), , void>(void (&)()) <null> (a.out+0x4e47)
- #4 main <null> (a.out+0x2851)
- Thread T1 (tid=72219, running) created by main thread at:
- #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x61c3a)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xd36aa)
- #2 std::thread std::jthread::_S_create<void (&)()>(std::stop_source&, void (&)()) <null> (a.out+0x5f9e)
- #3 std::jthread::jthread<void (&)(), , void>(void (&)()) <null> (a.out+0x4e47)
- #4 main <null> (a.out+0x283b)
- SUMMARY: ThreadSanitizer: data race (/tmp/a.out+0x6d58) in std::__shared_ptr<Mes, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__weak_ptr<Mes, (__gnu_cxx::_Lock_policy)2> const&, std::nothrow_t)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=72217)
- Write of size 4 at 0x7b0800001030 by thread T2 (mutexes: write M10):
- #0 Test::check() <null> (a.out+0x2692)
- #1 check_th() <null> (a.out+0x27d7)
- #2 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #3 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #4 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #5 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #6 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #7 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Previous write of size 8 at 0x7b0800001030 by thread T1 (mutexes: write M10):
- #0 operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x91824)
- #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) <null> (a.out+0x9cfd)
- #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) <null> (a.out+0x94e6)
- #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> >&) <null> (a.out+0x8988)
- #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Mes, std::allocator<Mes>>(Mes*&, std::_Sp_alloc_shared_tag<std::allocator<Mes> >) <null> (a.out+0x82c1)
- #5 std::__shared_ptr<Mes, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Mes>>(std::_Sp_alloc_shared_tag<std::allocator<Mes> >) <null> (a.out+0x7564)
- #6 std::shared_ptr<Mes>::shared_ptr<std::allocator<Mes>>(std::_Sp_alloc_shared_tag<std::allocator<Mes> >) <null> (a.out+0x67e5)
- #7 std::shared_ptr<Mes> std::allocate_shared<Mes, std::allocator<Mes>>(std::allocator<Mes> const&) <null> (a.out+0x5862)
- #8 std::shared_ptr<Mes> std::make_shared<Mes>() <null> (a.out+0x4a60)
- #9 Test::read() <null> (a.out+0x24d0)
- #10 read_th() <null> (a.out+0x277a)
- #11 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #12 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #13 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #14 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #15 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #16 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Location is heap block of size 24 at 0x7b0800001020 allocated by thread T1:
- #0 operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cpp:64 (libtsan.so.0+0x91824)
- #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) <null> (a.out+0x9cfd)
- #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) <null> (a.out+0x94e6)
- #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<Mes, std::allocator<Mes>, (__gnu_cxx::_Lock_policy)2> >&) <null> (a.out+0x8988)
- #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<Mes, std::allocator<Mes>>(Mes*&, std::_Sp_alloc_shared_tag<std::allocator<Mes> >) <null> (a.out+0x82c1)
- #5 std::__shared_ptr<Mes, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<Mes>>(std::_Sp_alloc_shared_tag<std::allocator<Mes> >) <null> (a.out+0x7564)
- #6 std::shared_ptr<Mes>::shared_ptr<std::allocator<Mes>>(std::_Sp_alloc_shared_tag<std::allocator<Mes> >) <null> (a.out+0x67e5)
- #7 std::shared_ptr<Mes> std::allocate_shared<Mes, std::allocator<Mes>>(std::allocator<Mes> const&) <null> (a.out+0x5862)
- #8 std::shared_ptr<Mes> std::make_shared<Mes>() <null> (a.out+0x4a60)
- #9 Test::read() <null> (a.out+0x24d0)
- #10 read_th() <null> (a.out+0x277a)
- #11 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #12 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #13 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #14 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #15 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #16 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Mutex M10 (0x5566b5a9d1c0) created at:
- #0 pthread_mutex_lock /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:4250 (libtsan.so.0+0x54b6a)
- #1 __gthread_mutex_lock(pthread_mutex_t*) <null> (a.out+0x2df5)
- #2 std::mutex::lock() <null> (a.out+0x2e7a)
- #3 std::unique_lock<std::mutex>::lock() <null> (a.out+0x5715)
- #4 std::unique_lock<std::mutex>::unique_lock(std::mutex&) <null> (a.out+0x4998)
- #5 Test::read() <null> (a.out+0x24c4)
- #6 read_th() <null> (a.out+0x277a)
- #7 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) <null> (a.out+0xa60e)
- #8 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) <null> (a.out+0xa565)
- #9 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (a.out+0xa4ca)
- #10 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() <null> (a.out+0xa45a)
- #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() <null> (a.out+0xa3ac)
- #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xd33c3)
- Thread T2 (tid=72220, running) created by main thread at:
- #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x61c3a)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xd36aa)
- #2 std::thread std::jthread::_S_create<void (&)()>(std::stop_source&, void (&)()) <null> (a.out+0x5f9e)
- #3 std::jthread::jthread<void (&)(), , void>(void (&)()) <null> (a.out+0x4e47)
- #4 main <null> (a.out+0x2851)
- Thread T1 (tid=72219, running) created by main thread at:
- #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x61c3a)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xd36aa)
- #2 std::thread std::jthread::_S_create<void (&)()>(std::stop_source&, void (&)()) <null> (a.out+0x5f9e)
- #3 std::jthread::jthread<void (&)(), , void>(void (&)()) <null> (a.out+0x4e47)
- #4 main <null> (a.out+0x283b)
- SUMMARY: ThreadSanitizer: data race (/tmp/a.out+0x2692) in Test::check()
- ==================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement