Advertisement
vladislav_larionov

Untitled

Jan 21st, 2025 (edited)
20
0
147 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 59.81 KB | None | 0 0
  1. vladislav@vladislav:~/projects/cpp$ clang++ -std=c++11 -lpthread -fsanitize=thread -g mutex.cpp && ./a.out
  2. 140089942345280: 2
  3. _thr1 id = 140089942345280_
  4. _thr2 id = 140089931859520_
  5. ==================
  6. WARNING: ThreadSanitizer: data race (pid=15743)
  7. Read of size 8 at 0x56548c0106f0 by thread T2:
  8. #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)
  9. #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)
  10. #2 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  11. #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)
  12. #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)
  13. #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)
  14. #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)
  15. #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)
  16. #8 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  17.  
  18. Previous write of size 8 at 0x56548c0106f0 by thread T1:
  19. #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)
  20. #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)
  21. #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)
  22. #3 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  23. #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)
  24. #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)
  25. #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)
  26. #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)
  27. #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)
  28. #9 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  29.  
  30. Location is global 'a' of size 24 at 0x56548c0106e8 (a.out+0x14fa6f0)
  31.  
  32. Thread T2 (tid=15746, running) created by main thread at:
  33. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  34. #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)
  35. #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  36.  
  37. Thread T1 (tid=15745, running) created by main thread at:
  38. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  39. #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)
  40. #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  41.  
  42. 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&&)
  43. ==================
  44. ==================
  45. WARNING: ThreadSanitizer: data race (pid=15743)
  46. Read of size 8 at 0x56548c0106f8 by thread T2:
  47. #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)
  48. #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)
  49. #2 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  50. #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)
  51. #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)
  52. #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)
  53. #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)
  54. #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)
  55. #8 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  56.  
  57. Previous write of size 8 at 0x56548c0106f8 by thread T1:
  58. #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)
  59. #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)
  60. #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)
  61. #3 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  62. #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)
  63. #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)
  64. #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)
  65. #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)
  66. #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)
  67. #9 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  68.  
  69. Location is global 'a' of size 24 at 0x56548c0106e8 (a.out+0x14fa6f8)
  70.  
  71. Thread T2 (tid=15746, running) created by main thread at:
  72. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  73. #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)
  74. #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  75.  
  76. Thread T1 (tid=15745, running) created by main thread at:
  77. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  78. #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)
  79. #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  80.  
  81. 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&&)
  82. ==================
  83. ==================
  84. WARNING: ThreadSanitizer: data race (pid=15743)
  85. Read of size 8 at 0x56548c0106e8 by thread T2:
  86. #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)
  87. #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)
  88. #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)
  89. #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)
  90. #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)
  91. #5 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  92. #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)
  93. #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)
  94. #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)
  95. #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)
  96. #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)
  97. #11 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  98.  
  99. Previous write of size 8 at 0x56548c0106e8 by thread T1:
  100. #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)
  101. #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)
  102. #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)
  103. #3 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  104. #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)
  105. #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)
  106. #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)
  107. #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)
  108. #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)
  109. #9 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  110.  
  111. Location is global 'a' of size 24 at 0x56548c0106e8 (a.out+0x14fa6e8)
  112.  
  113. Thread T2 (tid=15746, running) created by main thread at:
  114. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  115. #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)
  116. #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  117.  
  118. Thread T1 (tid=15745, running) created by main thread at:
  119. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  120. #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)
  121. #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  122.  
  123. 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
  124. ==================
  125. ==================
  126. WARNING: ThreadSanitizer: data race (pid=15743)
  127. Read of size 8 at 0x7b0400000810 by thread T2:
  128. #0 memmove <null> (a.out+0x595ce) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  129. #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)
  130. #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)
  131. #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)
  132. #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)
  133. #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)
  134. #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)
  135. #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)
  136. #8 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  137. #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)
  138. #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)
  139. #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)
  140. #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)
  141. #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)
  142. #14 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  143.  
  144. Previous write of size 8 at 0x7b0400000810 by thread T1:
  145. #0 operator new(unsigned long) <null> (a.out+0xcf4a6) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  146. #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)
  147. #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)
  148. #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)
  149. #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)
  150. #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)
  151. #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)
  152. #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  153. #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)
  154. #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)
  155. #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)
  156. #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)
  157. #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)
  158. #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  159.  
  160. Location is heap block of size 8 at 0x7b0400000810 allocated by thread T1:
  161. #0 operator new(unsigned long) <null> (a.out+0xcf4a6) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  162. #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)
  163. #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)
  164. #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)
  165. #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)
  166. #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)
  167. #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)
  168. #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  169. #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)
  170. #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)
  171. #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)
  172. #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)
  173. #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)
  174. #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  175.  
  176. Thread T2 (tid=15746, running) created by main thread at:
  177. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  178. #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)
  179. #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  180.  
  181. Thread T1 (tid=15745, running) created by main thread at:
  182. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  183. #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)
  184. #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  185.  
  186. SUMMARY: ThreadSanitizer: data race (/home/vladislav/projects/cpp/a.out+0x595ce) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e) in __interceptor_memmove
  187. ==================
  188. 140089931859520: 4
  189. ==================
  190. WARNING: ThreadSanitizer: data race (pid=15743)
  191. Read of size 8 at 0x7b0400001000 by thread T1:
  192. #0 memmove <null> (a.out+0x595ce) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  193. #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)
  194. #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)
  195. #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)
  196. #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)
  197. #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)
  198. #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)
  199. #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)
  200. #8 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  201. #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)
  202. #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)
  203. #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)
  204. #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)
  205. #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)
  206. #14 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  207.  
  208. Previous write of size 8 at 0x7b0400001000 by thread T2:
  209. #0 memmove <null> (a.out+0x595ce) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  210. #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)
  211. #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)
  212. #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)
  213. #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)
  214. #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)
  215. #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)
  216. #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)
  217. #8 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  218. #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)
  219. #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)
  220. #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)
  221. #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)
  222. #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)
  223. #14 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  224.  
  225. As if synchronized via sleep:
  226. #0 sleep <null> (a.out+0x4c8aa) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  227. #1 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:19:9 (a.out+0xd0565) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  228. #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)
  229. #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)
  230. #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)
  231. #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)
  232. #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)
  233. #7 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  234.  
  235. Location is heap block of size 16 at 0x7b0400001000 allocated by thread T2:
  236. #0 operator new(unsigned long) <null> (a.out+0xcf4a6) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  237. #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)
  238. #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)
  239. #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)
  240. #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)
  241. #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)
  242. #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)
  243. #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  244. #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)
  245. #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)
  246. #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)
  247. #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)
  248. #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)
  249. #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  250.  
  251. Thread T1 (tid=15745, running) created by main thread at:
  252. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  253. #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)
  254. #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  255.  
  256. Thread T2 (tid=15746, running) created by main thread at:
  257. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  258. #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)
  259. #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  260.  
  261. SUMMARY: ThreadSanitizer: data race (/home/vladislav/projects/cpp/a.out+0x595ce) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e) in __interceptor_memmove
  262. ==================
  263. ==================
  264. WARNING: ThreadSanitizer: data race (pid=15743)
  265. Write of size 8 at 0x7b0400001008 by thread T1:
  266. #0 operator delete(void*) <null> (a.out+0xcfb3e) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  267. #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)
  268. #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)
  269. #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)
  270. #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)
  271. #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)
  272. #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)
  273. #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  274. #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)
  275. #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)
  276. #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)
  277. #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)
  278. #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)
  279. #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  280.  
  281. Previous write of size 8 at 0x7b0400001008 by thread T2:
  282. #0 operator new(unsigned long) <null> (a.out+0xcf4a6) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  283. #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)
  284. #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)
  285. #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)
  286. #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)
  287. #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)
  288. #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)
  289. #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:13:7 (a.out+0xd04a4) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  290. #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)
  291. #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)
  292. #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)
  293. #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)
  294. #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)
  295. #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  296.  
  297. Thread T1 (tid=15745, running) created by main thread at:
  298. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  299. #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)
  300. #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  301.  
  302. Thread T2 (tid=15746, running) created by main thread at:
  303. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  304. #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)
  305. #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  306.  
  307. SUMMARY: ThreadSanitizer: data race (/home/vladislav/projects/cpp/a.out+0xcfb3e) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e) in operator delete(void*)
  308. ==================
  309. 140089942345280: 5
  310. ==================
  311. WARNING: ThreadSanitizer: data race (pid=15743)
  312. Write of size 4 at 0x7b0800001034 by thread T2:
  313. #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)
  314. #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)
  315. #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)
  316. #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)
  317. #4 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  318. #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)
  319. #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)
  320. #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)
  321. #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)
  322. #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)
  323. #10 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  324.  
  325. Previous write of size 8 at 0x7b0800001030 by thread T1:
  326. #0 operator new(unsigned long) <null> (a.out+0xcf4a6) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  327. #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)
  328. #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)
  329. #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)
  330. #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)
  331. #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)
  332. #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)
  333. #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  334. #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)
  335. #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)
  336. #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)
  337. #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)
  338. #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)
  339. #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  340.  
  341. As if synchronized via sleep:
  342. #0 sleep <null> (a.out+0x4c8aa) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  343. #1 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:19:9 (a.out+0xd0565) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  344. #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)
  345. #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)
  346. #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)
  347. #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)
  348. #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)
  349. #7 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  350.  
  351. Location is heap block of size 32 at 0x7b0800001020 allocated by thread T1:
  352. #0 operator new(unsigned long) <null> (a.out+0xcf4a6) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  353. #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)
  354. #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)
  355. #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)
  356. #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)
  357. #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)
  358. #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)
  359. #7 threadFunction() /home/vladislav/projects/cpp/mutex.cpp:16:11 (a.out+0xd04e5) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  360. #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)
  361. #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)
  362. #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)
  363. #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)
  364. #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)
  365. #13 <null> <null> (libstdc++.so.6+0xe62b2) (BuildId: 2db998bd67acbfb235c464c0275d4070061695fb)
  366.  
  367. Thread T2 (tid=15746, running) created by main thread at:
  368. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  369. #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)
  370. #2 main /home/vladislav/projects/cpp/mutex.cpp:27:18 (a.out+0xd05df) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  371.  
  372. Thread T1 (tid=15745, running) created by main thread at:
  373. #0 pthread_create <null> (a.out+0x4f4ed) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  374. #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)
  375. #2 main /home/vladislav/projects/cpp/mutex.cpp:26:18 (a.out+0xd05ca) (BuildId: 80c2ab014573929a8595f5a11f56e8a57ad47c6e)
  376.  
  377. 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&&)
  378. ==================
  379. 140089931859520: 6
  380. 140089942345280: 7
  381. 140089931859520: 8
  382. 140089942345280: 9
  383. 140089931859520: 10
  384. 140089942345280: 11
  385. 140089931859520: 12
  386. 140089942345280: 13
  387. 140089931859520: 14
  388. 140089942345280: 15
  389. 140089931859520: 16
  390. 140089942345280: 17
  391. 140089931859520: 18
  392. 140089942345280: 19
  393. 140089931859520: 20
  394. 140089942345280: 21
  395. 140089931859520: 22
  396. 22
  397. ThreadSanitizer: reported 7 warnings
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement