Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vladislav@vladislav:~/projects/cpp$ clang++ -std=c++11 -lpthread -fsanitize=thread -g mutex.cpp && ./a.out
- 140089942345280: 2
- _thr1 id = 140089942345280_
- _thr2 id = 140089931859520_
- ==================
- WARNING: ThreadSanitizer: data race (pid=15743)
- Read of size 8 at 0x56548c0106f0 by thread T2:
- #0 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:114:20 (a.out+0xd110c) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #4 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Previous write of size 8 at 0x56548c0106f0 by thread T1:
- #0 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:522:31 (a.out+0xd15c7) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #4 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Location is global 'a' of size 24 at 0x56548c0106e8 (a.out+0x14fa6f0)
- Thread T2 (tid=15746, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- Thread T1 (tid=15745, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- SUMMARY: ThreadSanitizer: data race /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:114:20 in void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=15743)
- Read of size 8 at 0x56548c0106f8 by thread T2:
- #0 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:114:47 (a.out+0xd1121) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #4 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Previous write of size 8 at 0x56548c0106f8 by thread T1:
- #0 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:523:39 (a.out+0xd15f8) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #4 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Location is global 'a' of size 24 at 0x56548c0106e8 (a.out+0x14fa6f8)
- Thread T2 (tid=15746, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- Thread T1 (tid=15745, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- SUMMARY: ThreadSanitizer: data race /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:114:47 in void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=15743)
- Read of size 8 at 0x56548c0106e8 by thread T2:
- #0 std::vector<int, std::allocator<int> >::size() const /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:990:66 (a.out+0xd0a7e) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::vector<int, std::allocator<int> >::_M_check_len(unsigned long, char const*) const /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1895:19 (a.out+0xd16ea) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:455:2 (a.out+0xd1305) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #4 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #10 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #11 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Previous write of size 8 at 0x56548c0106e8 by thread T1:
- #0 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:521:30 (a.out+0xd15a2) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #4 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Location is global 'a' of size 24 at 0x56548c0106e8 (a.out+0x14fa6e8)
- Thread T2 (tid=15746, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- Thread T1 (tid=15745, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- SUMMARY: ThreadSanitizer: data race /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:990:66 in std::vector<int, std::allocator<int> >::size() const
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=15743)
- Read of size 8 at 0x7b0400000810 by thread T2:
- #0 memmove <null> (a.out+0x595ce) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::enable_if<std::__is_bitwise_relocatable<int>::value, int*>::type std::__relocate_a_1<int, int>(int*, int*, int*, std::allocator<int>&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_uninitialized.h:1126:4 (a.out+0xd1ef3) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 int* std::__relocate_a<int*, int*, std::allocator<int> >(int*, int*, int*, std::allocator<int>&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_uninitialized.h:1142:14 (a.out+0xd1e67) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 std::vector<int, std::allocator<int> >::_S_do_relocate(int*, int*, int*, std::allocator<int>&, std::integral_constant<bool, true>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:492:9 (a.out+0xd1dd5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #4 std::vector<int, std::allocator<int> >::_S_relocate(int*, int*, int*, std::allocator<int>&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:509:9 (a.out+0xd19f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:480:23 (a.out+0xd14ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #10 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #11 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #12 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #13 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #14 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Previous write of size 8 at 0x7b0400000810 by thread T1:
- #0 operator new(unsigned long) <null> (a.out+0xcf4a6) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::__new_allocator<int>::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/new_allocator.h:147:27 (a.out+0xd1d48) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 std::allocator_traits<std::allocator<int> >::allocate(std::allocator<int>&, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/alloc_traits.h:482:20 (a.out+0xd194c) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:378:20 (a.out+0xd194c)
- #4 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:459:33 (a.out+0xd1378) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #10 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #11 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #12 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Location is heap block of size 8 at 0x7b0400000810 allocated by thread T1:
- #0 operator new(unsigned long) <null> (a.out+0xcf4a6) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::__new_allocator<int>::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/new_allocator.h:147:27 (a.out+0xd1d48) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 std::allocator_traits<std::allocator<int> >::allocate(std::allocator<int>&, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/alloc_traits.h:482:20 (a.out+0xd194c) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:378:20 (a.out+0xd194c)
- #4 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:459:33 (a.out+0xd1378) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #10 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #11 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #12 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Thread T2 (tid=15746, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- Thread T1 (tid=15745, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- SUMMARY: ThreadSanitizer: data race (/home/vladislav/projects/cpp/a.out+0x595ce) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e) in __interceptor_memmove
- ==================
- 140089931859520: 4
- ==================
- WARNING: ThreadSanitizer: data race (pid=15743)
- Read of size 8 at 0x7b0400001000 by thread T1:
- #0 memmove <null> (a.out+0x595ce) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::enable_if<std::__is_bitwise_relocatable<int>::value, int*>::type std::__relocate_a_1<int, int>(int*, int*, int*, std::allocator<int>&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_uninitialized.h:1126:4 (a.out+0xd1ef3) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 int* std::__relocate_a<int*, int*, std::allocator<int> >(int*, int*, int*, std::allocator<int>&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_uninitialized.h:1142:14 (a.out+0xd1e67) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 std::vector<int, std::allocator<int> >::_S_do_relocate(int*, int*, int*, std::allocator<int>&, std::integral_constant<bool, true>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:492:9 (a.out+0xd1dd5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #4 std::vector<int, std::allocator<int> >::_S_relocate(int*, int*, int*, std::allocator<int>&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:509:9 (a.out+0xd19f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:480:23 (a.out+0xd14ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #10 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #11 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #12 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #13 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #14 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Previous write of size 8 at 0x7b0400001000 by thread T2:
- #0 memmove <null> (a.out+0x595ce) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::enable_if<std::__is_bitwise_relocatable<int>::value, int*>::type std::__relocate_a_1<int, int>(int*, int*, int*, std::allocator<int>&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_uninitialized.h:1126:4 (a.out+0xd1ef3) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 int* std::__relocate_a<int*, int*, std::allocator<int> >(int*, int*, int*, std::allocator<int>&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_uninitialized.h:1142:14 (a.out+0xd1e67) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 std::vector<int, std::allocator<int> >::_S_do_relocate(int*, int*, int*, std::allocator<int>&, std::integral_constant<bool, true>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:492:9 (a.out+0xd1dd5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #4 std::vector<int, std::allocator<int> >::_S_relocate(int*, int*, int*, std::allocator<int>&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:509:9 (a.out+0xd19f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:480:23 (a.out+0xd14ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #10 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #11 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #12 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #13 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #14 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- As if synchronized via sleep:
- #0 sleep <null> (a.out+0x4c8aa) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:19:9 (a.out+0xd0565) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #4 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Location is heap block of size 16 at 0x7b0400001000 allocated by thread T2:
- #0 operator new(unsigned long) <null> (a.out+0xcf4a6) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::__new_allocator<int>::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/new_allocator.h:147:27 (a.out+0xd1d48) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 std::allocator_traits<std::allocator<int> >::allocate(std::allocator<int>&, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/alloc_traits.h:482:20 (a.out+0xd194c) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:378:20 (a.out+0xd194c)
- #4 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:459:33 (a.out+0xd1378) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #10 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #11 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #12 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Thread T1 (tid=15745, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- Thread T2 (tid=15746, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- SUMMARY: ThreadSanitizer: data race (/home/vladislav/projects/cpp/a.out+0x595ce) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e) in __interceptor_memmove
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=15743)
- Write of size 8 at 0x7b0400001008 by thread T1:
- #0 operator delete(void*) <null> (a.out+0xcfb3e) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::__new_allocator<int>::deallocate(int*, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/new_allocator.h:168:2 (a.out+0xd10ad) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 std::allocator_traits<std::allocator<int> >::deallocate(std::allocator<int>&, int*, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/alloc_traits.h:516:13 (a.out+0xd1020) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 std::_Vector_base<int, std::allocator<int> >::_M_deallocate(int*, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:387:4 (a.out+0xd1020)
- #4 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:519:7 (a.out+0xd1586) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #10 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #11 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #12 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Previous write of size 8 at 0x7b0400001008 by thread T2:
- #0 operator new(unsigned long) <null> (a.out+0xcf4a6) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::__new_allocator<int>::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/new_allocator.h:147:27 (a.out+0xd1d48) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 std::allocator_traits<std::allocator<int> >::allocate(std::allocator<int>&, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/alloc_traits.h:482:20 (a.out+0xd194c) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:378:20 (a.out+0xd194c)
- #4 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:459:33 (a.out+0xd1378) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #10 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #11 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #12 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Thread T1 (tid=15745, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- Thread T2 (tid=15746, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- SUMMARY: ThreadSanitizer: data race (/home/vladislav/projects/cpp/a.out+0xcfb3e) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e) in operator delete(void*)
- ==================
- 140089942345280: 5
- ==================
- WARNING: ThreadSanitizer: data race (pid=15743)
- Write of size 4 at 0x7b0800001034 by thread T2:
- #0 void std::__new_allocator<int>::construct<int, int>(int*, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/new_allocator.h:187:4 (a.out+0xd11ea) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 void std::allocator_traits<std::allocator<int> >::construct<int, int>(std::allocator<int>&, int*, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/alloc_traits.h:537:8 (a.out+0xd11ea)
- #2 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:117:6 (a.out+0xd11ea)
- #3 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #4 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #10 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Previous write of size 8 at 0x7b0800001030 by thread T1:
- #0 operator new(unsigned long) <null> (a.out+0xcf4a6) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::__new_allocator<int>::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/new_allocator.h:147:27 (a.out+0xd1d48) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 std::allocator_traits<std::allocator<int> >::allocate(std::allocator<int>&, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/alloc_traits.h:482:20 (a.out+0xd194c) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:378:20 (a.out+0xd194c)
- #4 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:459:33 (a.out+0xd1378) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #10 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #11 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #12 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- As if synchronized via sleep:
- #0 sleep <null> (a.out+0x4c8aa) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:19:9 (a.out+0xd0565) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #4 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Location is heap block of size 32 at 0x7b0800001020 allocated by thread T1:
- #0 operator new(unsigned long) <null> (a.out+0xcf4a6) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::__new_allocator<int>::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/new_allocator.h:147:27 (a.out+0xd1d48) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #2 std::allocator_traits<std::allocator<int> >::allocate(std::allocator<int>&, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/alloc_traits.h:482:20 (a.out+0xd194c) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #3 std::_Vector_base<int, std::allocator<int> >::_M_allocate(unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:378:20 (a.out+0xd194c)
- #4 void std::vector<int, std::allocator<int> >::_M_realloc_insert<int>(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:459:33 (a.out+0xd1378) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #5 void std::vector<int, std::allocator<int> >::emplace_back<int>(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/vector.tcc:123:4 (a.out+0xd1246) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #6 std::vector<int, std::allocator<int> >::push_back(int&&) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/stl_vector.h:1296:9 (a.out+0xd08f5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #8 void std::__invoke_impl<void, void (*)()>(std::__invoke_other, void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:61:14 (a.out+0xd254a) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #9 std::__invoke_result<void (*)()>::type std::__invoke<void (*)()>(void (*&&)()) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/invoke.h:96:14 (a.out+0xd248d) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #10 void std::thread::_Invoker<std::tuple<void (*)()> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:292:13 (a.out+0xd2435) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #11 std::thread::_Invoker<std::tuple<void (*)()> >::operator()() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:299:11 (a.out+0xd23d5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #12 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)()> > >::_M_run() /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/std_thread.h:244:13 (a.out+0xd2279) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- Thread T2 (tid=15746, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- Thread T1 (tid=15745, running) created by main thread at:
- #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) <null> (libstdc++.so.6+0xe6388) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
- #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
- SUMMARY: ThreadSanitizer: data race /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/bits/new_allocator.h:187:4 in void std::__new_allocator<int>::construct<int, int>(int*, int&&)
- ==================
- 140089931859520: 6
- 140089942345280: 7
- 140089931859520: 8
- 140089942345280: 9
- 140089931859520: 10
- 140089942345280: 11
- 140089931859520: 12
- 140089942345280: 13
- 140089931859520: 14
- 140089942345280: 15
- 140089931859520: 16
- 140089942345280: 17
- 140089931859520: 18
- 140089942345280: 19
- 140089931859520: 20
- 140089942345280: 21
- 140089931859520: 22
- 22
- ThreadSanitizer: reported 7 warnings
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement