Advertisement
MystMe

Untitled

Feb 20th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 31.69 KB | None | 0 0
  1. [dmitry@DmitryPC build]$ cmake .. -DDEBUG=1
  2. -- Configuring done
  3. -- Generating done
  4. -- Build files have been written to: /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/build
  5. [dmitry@DmitryPC build]$ ды
  6. bash: ды: command not found
  7. [dmitry@DmitryPC build]$ ls
  8. bin  CMakeCache.txt  CMakeFiles  cmake_install.cmake  Makefile
  9. [dmitry@DmitryPC build]$ sudo rm -rf*
  10. [sudo] password for dmitry:
  11. rm: invalid option -- '*'
  12. Try 'rm --help' for more information.
  13. [dmitry@DmitryPC build]$ sudo rm -rf *
  14. [dmitry@DmitryPC build]$ ls
  15. [dmitry@DmitryPC build]$ cmake .. -DDEBUG=1
  16. -- The C compiler identification is GNU 7.3.0
  17. -- The CXX compiler identification is GNU 7.3.0
  18. -- Check for working C compiler: /usr/bin/cc
  19. -- Check for working C compiler: /usr/bin/cc -- works
  20. -- Detecting C compiler ABI info
  21. -- Detecting C compiler ABI info - done
  22. -- Detecting C compile features
  23. -- Detecting C compile features - done
  24. -- Check for working CXX compiler: /usr/bin/c++
  25. -- Check for working CXX compiler: /usr/bin/c++ -- works
  26. -- Detecting CXX compiler ABI info
  27. -- Detecting CXX compiler ABI info - done
  28. -- Detecting CXX compile features
  29. -- Detecting CXX compile features - done
  30. -- Configuring done
  31. -- Generating done
  32. -- Build files have been written to: /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/build
  33. [dmitry@DmitryPC build]$ make run
  34. Scanning dependencies of target unit_test
  35. [  8%] Building CXX object CMakeFiles/unit_test.dir/unit_test.cpp.o
  36. In file included from /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:1:0:
  37. /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/../../../../solutions/1-mutex/tournament-tree/solution.hpp: In member function ‘void tpcc::solutions::TournamentTreeLock::Lock(size_t)’:
  38. /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/../../../../solutions/1-mutex/tournament-tree/solution.hpp:24:62: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  39.                    for(int another_thread = 1; another_thread < num; another_thread++) {
  40.                                                ~~~~~~~~~~~~~~~^~~~~
  41. /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/../../../../solutions/1-mutex/tournament-tree/solution.hpp:25:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  42.                      if(another_thread!=thread_index && levels[another_thread] >= level && victim[level] == thread_index) {
  43.                         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~
  44. [ 16%] Building CXX object CMakeFiles/unit_test.dir/home/dmitry/Code/parallel_programming/tpcc-course-2018/common/source/backoff.cpp.o
  45. [ 25%] Building CXX object CMakeFiles/unit_test.dir/home/dmitry/Code/parallel_programming/tpcc-course-2018/common/source/test_framework.cpp.o
  46. [ 33%] Linking CXX executable bin/unit_test
  47. [ 33%] Built target unit_test
  48. Scanning dependencies of target run_unit_test
  49. Test 'LockUnlock' from test suite 'UnitTest' running...
  50. PASSED
  51. Test 'SequentialLockUnlock' from test suite 'UnitTest' running...
  52. PASSED
  53. Test 'ConcurrentLock' from test suite 'UnitTest' running...
  54. Affinity is enabled (UNIX)
  55. Affinity is enabled (UNIX)
  56. PASSED
  57. ALL 3 TEST(S) PASSED!
  58. [ 33%] Built target run_unit_test
  59. Scanning dependencies of target run_all_unit_tests
  60. [ 33%] Built target run_all_unit_tests
  61. Scanning dependencies of target run__run_all_stress_tests__run_all_unit_tests
  62. [ 33%] Built target run__run_all_stress_tests__run_all_unit_tests
  63. Scanning dependencies of target asan_test
  64. [ 41%] Building CXX object CMakeFiles/asan_test.dir/unit_test.cpp.o
  65. In file included from /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:1:0:
  66. /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/../../../../solutions/1-mutex/tournament-tree/solution.hpp: In member function ‘void tpcc::solutions::TournamentTreeLock::Lock(size_t)’:
  67. /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/../../../../solutions/1-mutex/tournament-tree/solution.hpp:24:62: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  68.                    for(int another_thread = 1; another_thread < num; another_thread++) {
  69.                                                ~~~~~~~~~~~~~~~^~~~~
  70. /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/../../../../solutions/1-mutex/tournament-tree/solution.hpp:25:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  71.                      if(another_thread!=thread_index && levels[another_thread] >= level && victim[level] == thread_index) {
  72.                         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~
  73. [ 50%] Building CXX object CMakeFiles/asan_test.dir/home/dmitry/Code/parallel_programming/tpcc-course-2018/common/source/backoff.cpp.o
  74. [ 58%] Building CXX object CMakeFiles/asan_test.dir/home/dmitry/Code/parallel_programming/tpcc-course-2018/common/source/test_framework.cpp.o
  75. [ 66%] Linking CXX executable bin/asan_test
  76. [ 66%] Built target asan_test
  77. Scanning dependencies of target run_asan_test
  78. Test 'LockUnlock' from test suite 'UnitTest' running...
  79. PASSED
  80. Test 'SequentialLockUnlock' from test suite 'UnitTest' running...
  81. PASSED
  82. Test 'ConcurrentLock' from test suite 'UnitTest' running...
  83. Affinity is enabled (UNIX)
  84. Affinity is enabled (UNIX)
  85. PASSED
  86. ALL 3 TEST(S) PASSED!
  87. [ 66%] Built target run_asan_test
  88. Scanning dependencies of target tsan_test
  89. [ 75%] Building CXX object CMakeFiles/tsan_test.dir/unit_test.cpp.o
  90. In file included from /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:1:0:
  91. /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/../../../../solutions/1-mutex/tournament-tree/solution.hpp: In member function ‘void tpcc::solutions::TournamentTreeLock::Lock(size_t)’:
  92. /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/../../../../solutions/1-mutex/tournament-tree/solution.hpp:24:62: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  93.                    for(int another_thread = 1; another_thread < num; another_thread++) {
  94.                                                ~~~~~~~~~~~~~~~^~~~~
  95. /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/../../../../solutions/1-mutex/tournament-tree/solution.hpp:25:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  96.                      if(another_thread!=thread_index && levels[another_thread] >= level && victim[level] == thread_index) {
  97.                         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~
  98. [ 83%] Building CXX object CMakeFiles/tsan_test.dir/home/dmitry/Code/parallel_programming/tpcc-course-2018/common/source/backoff.cpp.o
  99. [ 91%] Building CXX object CMakeFiles/tsan_test.dir/home/dmitry/Code/parallel_programming/tpcc-course-2018/common/source/test_framework.cpp.o
  100. [100%] Linking CXX executable bin/tsan_test
  101. [100%] Built target tsan_test
  102. Scanning dependencies of target run_tsan_test
  103. Test 'LockUnlock' from test suite 'UnitTest' running...
  104. PASSED
  105. Test 'SequentialLockUnlock' from test suite 'UnitTest' running...
  106. PASSED
  107. Test 'ConcurrentLock' from test suite 'UnitTest' running...
  108. Affinity is enabled (UNIX)
  109. Affinity is enabled (UNIX)
  110. ==================
  111. WARNING: ThreadSanitizer: data race (pid=10907)
  112.   Write of size 8 at 0x7b0400000008 by thread T2:
  113.     #0 tpcc::solutions::TournamentTreeLock::Lock(unsigned long) <null> (tsan_test+0x000000004431)
  114.     #1 void tpcc::MutexTester<tpcc::solutions::TournamentTreeLock>::Lock<unsigned long>(unsigned long) <null> (tsan_test+0x0000000069d3)
  115.     #2 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:31 (tsan_test+0x000000003116)
  116.     #3 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:36 (tsan_test+0x000000003236)
  117.     #4 _M_invoke /usr/include/c++/7.3.0/bits/std_function.h:316 (tsan_test+0x000000003b7c)
  118.     #5 std::function<void ()>::operator()() const <null> (tsan_test+0x00000000612a)
  119.     #6 tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}::operator()() const <null> (tsan_test+0x000000004cea)
  120.     #7 void std::__invoke_impl<void, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::__invoke_other, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x00000000ac56)
  121.     #8 std::__invoke_result<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>::type std::__invoke<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::__invoke_result&&, (tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&)...) <null> (tsan_test+0x000000009fa0)
  122.     #9 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (tsan_test+0x00000000e516)
  123.     #10 std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> >::operator()() <null> (tsan_test+0x00000000e388)
  124.     #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> > >::_M_run() <null> (tsan_test+0x00000000e1e4)
  125.     #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:83 (libstdc++.so.6+0x0000000b9b9e)
  126.  
  127.   Previous read of size 8 at 0x7b0400000008 by thread T1:
  128.     #0 tpcc::solutions::TournamentTreeLock::Lock(unsigned long) <null> (tsan_test+0x0000000044c6)
  129.     #1 void tpcc::MutexTester<tpcc::solutions::TournamentTreeLock>::Lock<unsigned long>(unsigned long) <null> (tsan_test+0x0000000069d3)
  130.     #2 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:31 (tsan_test+0x000000003116)
  131.     #3 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:35 (tsan_test+0x0000000031c6)
  132.     #4 _M_invoke /usr/include/c++/7.3.0/bits/std_function.h:316 (tsan_test+0x000000003995)
  133.     #5 std::function<void ()>::operator()() const <null> (tsan_test+0x00000000612a)
  134.     #6 tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}::operator()() const <null> (tsan_test+0x000000004cea)
  135.     #7 void std::__invoke_impl<void, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::__invoke_other, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x00000000ac56)
  136.     #8 std::__invoke_result<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>::type std::__invoke<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::__invoke_result&&, (tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&)...) <null> (tsan_test+0x000000009fa0)
  137.     #9 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (tsan_test+0x00000000e516)
  138.     #10 std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> >::operator()() <null> (tsan_test+0x00000000e388)
  139.     #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> > >::_M_run() <null> (tsan_test+0x00000000e1e4)
  140.     #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:83 (libstdc++.so.6+0x0000000b9b9e)
  141.  
  142.   Location is heap block of size 16 at 0x7b0400000000 allocated by main thread:
  143.     #0 operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:39 (libtsan.so.0+0x0000000701fc)
  144.     #1 __gnu_cxx::new_allocator<unsigned long>::allocate(unsigned long, void const*) <null> (tsan_test+0x00000000aacc)
  145.     #2 std::allocator_traits<std::allocator<unsigned long> >::allocate(std::allocator<unsigned long>&, unsigned long) <null> (tsan_test+0x000000009e4a)
  146.     #3 std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_allocate(unsigned long) <null> (tsan_test+0x000000008f38)
  147.     #4 std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_create_storage(unsigned long) <null> (tsan_test+0x00000000a7b3)
  148.     #5 std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_Vector_base(unsigned long, std::allocator<unsigned long> const&) <null> (tsan_test+0x00000000982a)
  149.     #6 std::vector<unsigned long, std::allocator<unsigned long> >::vector(unsigned long, unsigned long const&, std::allocator<unsigned long> const&) <null> (tsan_test+0x000000008891)
  150.     #7 std::vector<unsigned long, std::allocator<unsigned long> >::_M_fill_assign(unsigned long, unsigned long const&) <null> (tsan_test+0x0000000071a3)
  151.     #8 std::vector<unsigned long, std::allocator<unsigned long> >::assign(unsigned long, unsigned long const&) <null> (tsan_test+0x000000005d6d)
  152.     #9 tpcc::solutions::TournamentTreeLock::TournamentTreeLock(unsigned long) <null> (tsan_test+0x000000004347)
  153.     #10 tpcc::MutexTester<tpcc::solutions::TournamentTreeLock>::MutexTester<int>(int) <null> (tsan_test+0x000000006922)
  154.     #11 TestSuiteUnitTest::ExecuteTestConcurrentLock() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:27 (tsan_test+0x0000000032a7)
  155.     #12 TestSuiteUnitTest::TestConcurrentLock::Execute() <null> (tsan_test+0x000000005a93)
  156.     #13 RunSingleTest(std::shared_ptr<ITest>) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:106 (tsan_test+0x00000000f26c)
  157.     #14 RunTests(std::vector<std::shared_ptr<ITest>, std::allocator<std::shared_ptr<ITest> > > const&) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:117 (tsan_test+0x00000000f3ae)
  158.     #15 main /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:42 (tsan_test+0x000000003703)
  159.  
  160.   Thread T2 (tid=10910, running) created by main thread at:
  161.     #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:900 (libtsan.so.0+0x000000028874)
  162.     #1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0x0000000b9e95)
  163.     #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:163 (libstdc++.so.6+0x0000000b9e95)
  164.     #3 void __gnu_cxx::new_allocator<std::thread>::construct<std::thread, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::thread*, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000009165)
  165.     #4 void std::allocator_traits<std::allocator<std::thread> >::construct<std::thread, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::allocator<std::thread>&, std::thread*, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000007d62)
  166.     #5 void std::vector<std::thread, std::allocator<std::thread> >::_M_realloc_insert<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(__gnu_cxx::__normal_iterator<std::thread*, std::vector<std::thread, std::allocator<std::thread> > >, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000007e4e)
  167.     #6 void std::vector<std::thread, std::allocator<std::thread> >::emplace_back<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000006340)
  168.     #7 tpcc::TaskExecutor::Run(std::function<void ()> const&) <null> (tsan_test+0x000000004e51)
  169.     #8 TestSuiteUnitTest::ExecuteTestConcurrentLock() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:36 (tsan_test+0x0000000033b8)
  170.     #9 TestSuiteUnitTest::TestConcurrentLock::Execute() <null> (tsan_test+0x000000005a93)
  171.     #10 RunSingleTest(std::shared_ptr<ITest>) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:106 (tsan_test+0x00000000f26c)
  172.     #11 RunTests(std::vector<std::shared_ptr<ITest>, std::allocator<std::shared_ptr<ITest> > > const&) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:117 (tsan_test+0x00000000f3ae)
  173.     #12 main /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:42 (tsan_test+0x000000003703)
  174.  
  175.   Thread T1 (tid=10909, finished) created by main thread at:
  176.     #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:900 (libtsan.so.0+0x000000028874)
  177.     #1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0x0000000b9e95)
  178.     #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:163 (libstdc++.so.6+0x0000000b9e95)
  179.     #3 void __gnu_cxx::new_allocator<std::thread>::construct<std::thread, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::thread*, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000009165)
  180.     #4 void std::allocator_traits<std::allocator<std::thread> >::construct<std::thread, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::allocator<std::thread>&, std::thread*, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000007d62)
  181.     #5 void std::vector<std::thread, std::allocator<std::thread> >::_M_realloc_insert<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(__gnu_cxx::__normal_iterator<std::thread*, std::vector<std::thread, std::allocator<std::thread> > >, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000007e4e)
  182.     #6 void std::vector<std::thread, std::allocator<std::thread> >::emplace_back<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000006340)
  183.     #7 tpcc::TaskExecutor::Run(std::function<void ()> const&) <null> (tsan_test+0x000000004e51)
  184.     #8 TestSuiteUnitTest::ExecuteTestConcurrentLock() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:35 (tsan_test+0x00000000335b)
  185.     #9 TestSuiteUnitTest::TestConcurrentLock::Execute() <null> (tsan_test+0x000000005a93)
  186.     #10 RunSingleTest(std::shared_ptr<ITest>) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:106 (tsan_test+0x00000000f26c)
  187.     #11 RunTests(std::vector<std::shared_ptr<ITest>, std::allocator<std::shared_ptr<ITest> > > const&) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:117 (tsan_test+0x00000000f3ae)
  188.     #12 main /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:42 (tsan_test+0x000000003703)
  189.  
  190. SUMMARY: ThreadSanitizer: data race (/home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/build/bin/tsan_test+0x4431) in tpcc::solutions::TournamentTreeLock::Lock(unsigned long)
  191. ==================
  192. ==================
  193. WARNING: ThreadSanitizer: data race (pid=10907)
  194.   Write of size 8 at 0x7b0400000018 by thread T2:
  195.     #0 tpcc::solutions::TournamentTreeLock::Lock(unsigned long) <null> (tsan_test+0x00000000445a)
  196.     #1 void tpcc::MutexTester<tpcc::solutions::TournamentTreeLock>::Lock<unsigned long>(unsigned long) <null> (tsan_test+0x0000000069d3)
  197.     #2 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:31 (tsan_test+0x000000003116)
  198.     #3 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:36 (tsan_test+0x000000003236)
  199.     #4 _M_invoke /usr/include/c++/7.3.0/bits/std_function.h:316 (tsan_test+0x000000003b7c)
  200.     #5 std::function<void ()>::operator()() const <null> (tsan_test+0x00000000612a)
  201.     #6 tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}::operator()() const <null> (tsan_test+0x000000004cea)
  202.     #7 void std::__invoke_impl<void, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::__invoke_other, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x00000000ac56)
  203.     #8 std::__invoke_result<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>::type std::__invoke<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::__invoke_result&&, (tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&)...) <null> (tsan_test+0x000000009fa0)
  204.     #9 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (tsan_test+0x00000000e516)
  205.     #10 std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> >::operator()() <null> (tsan_test+0x00000000e388)
  206.     #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> > >::_M_run() <null> (tsan_test+0x00000000e1e4)
  207.     #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:83 (libstdc++.so.6+0x0000000b9b9e)
  208.  
  209.   Previous write of size 8 at 0x7b0400000018 by thread T1:
  210.     #0 tpcc::solutions::TournamentTreeLock::Lock(unsigned long) <null> (tsan_test+0x00000000445a)
  211.     #1 void tpcc::MutexTester<tpcc::solutions::TournamentTreeLock>::Lock<unsigned long>(unsigned long) <null> (tsan_test+0x0000000069d3)
  212.     #2 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:31 (tsan_test+0x000000003116)
  213.     #3 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:35 (tsan_test+0x0000000031c6)
  214.     #4 _M_invoke /usr/include/c++/7.3.0/bits/std_function.h:316 (tsan_test+0x000000003995)
  215.     #5 std::function<void ()>::operator()() const <null> (tsan_test+0x00000000612a)
  216.     #6 tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}::operator()() const <null> (tsan_test+0x000000004cea)
  217.     #7 void std::__invoke_impl<void, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::__invoke_other, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x00000000ac56)
  218.     #8 std::__invoke_result<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>::type std::__invoke<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::__invoke_result&&, (tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&)...) <null> (tsan_test+0x000000009fa0)
  219.     #9 decltype (__invoke((_S_declval<0ul>)())) std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) <null> (tsan_test+0x00000000e516)
  220.     #10 std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> >::operator()() <null> (tsan_test+0x00000000e388)
  221.     #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> > >::_M_run() <null> (tsan_test+0x00000000e1e4)
  222.     #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:83 (libstdc++.so.6+0x0000000b9b9e)
  223.  
  224.   Location is heap block of size 16 at 0x7b0400000010 allocated by main thread:
  225.     #0 operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:39 (libtsan.so.0+0x0000000701fc)
  226.     #1 __gnu_cxx::new_allocator<unsigned long>::allocate(unsigned long, void const*) <null> (tsan_test+0x00000000aacc)
  227.     #2 std::allocator_traits<std::allocator<unsigned long> >::allocate(std::allocator<unsigned long>&, unsigned long) <null> (tsan_test+0x000000009e4a)
  228.     #3 std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_allocate(unsigned long) <null> (tsan_test+0x000000008f38)
  229.     #4 std::vector<unsigned long, std::allocator<unsigned long> >::_M_fill_insert(__gnu_cxx::__normal_iterator<unsigned long*, std::vector<unsigned long, std::allocator<unsigned long> > >, unsigned long, unsigned long const&) <null> (tsan_test+0x0000000077c8)
  230.     #5 std::vector<unsigned long, std::allocator<unsigned long> >::resize(unsigned long, unsigned long const&) <null> (tsan_test+0x000000005e05)
  231.     #6 tpcc::solutions::TournamentTreeLock::TournamentTreeLock(unsigned long) <null> (tsan_test+0x000000004376)
  232.     #7 tpcc::MutexTester<tpcc::solutions::TournamentTreeLock>::MutexTester<int>(int) <null> (tsan_test+0x000000006922)
  233.     #8 TestSuiteUnitTest::ExecuteTestConcurrentLock() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:27 (tsan_test+0x0000000032a7)
  234.     #9 TestSuiteUnitTest::TestConcurrentLock::Execute() <null> (tsan_test+0x000000005a93)
  235.     #10 RunSingleTest(std::shared_ptr<ITest>) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:106 (tsan_test+0x00000000f26c)
  236.     #11 RunTests(std::vector<std::shared_ptr<ITest>, std::allocator<std::shared_ptr<ITest> > > const&) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:117 (tsan_test+0x00000000f3ae)
  237.     #12 main /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:42 (tsan_test+0x000000003703)
  238.  
  239.   Thread T2 (tid=10910, running) created by main thread at:
  240.     #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:900 (libtsan.so.0+0x000000028874)
  241.     #1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0x0000000b9e95)
  242.     #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:163 (libstdc++.so.6+0x0000000b9e95)
  243.     #3 void __gnu_cxx::new_allocator<std::thread>::construct<std::thread, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::thread*, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000009165)
  244.     #4 void std::allocator_traits<std::allocator<std::thread> >::construct<std::thread, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::allocator<std::thread>&, std::thread*, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000007d62)
  245.     #5 void std::vector<std::thread, std::allocator<std::thread> >::_M_realloc_insert<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(__gnu_cxx::__normal_iterator<std::thread*, std::vector<std::thread, std::allocator<std::thread> > >, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000007e4e)
  246.     #6 void std::vector<std::thread, std::allocator<std::thread> >::emplace_back<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000006340)
  247.     #7 tpcc::TaskExecutor::Run(std::function<void ()> const&) <null> (tsan_test+0x000000004e51)
  248.     #8 TestSuiteUnitTest::ExecuteTestConcurrentLock() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:36 (tsan_test+0x0000000033b8)
  249.     #9 TestSuiteUnitTest::TestConcurrentLock::Execute() <null> (tsan_test+0x000000005a93)
  250.     #10 RunSingleTest(std::shared_ptr<ITest>) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:106 (tsan_test+0x00000000f26c)
  251.     #11 RunTests(std::vector<std::shared_ptr<ITest>, std::allocator<std::shared_ptr<ITest> > > const&) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:117 (tsan_test+0x00000000f3ae)
  252.     #12 main /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:42 (tsan_test+0x000000003703)
  253.  
  254.   Thread T1 (tid=10909, finished) created by main thread at:
  255.     #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:900 (libtsan.so.0+0x000000028874)
  256.     #1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0x0000000b9e95)
  257.     #2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:163 (libstdc++.so.6+0x0000000b9e95)
  258.     #3 void __gnu_cxx::new_allocator<std::thread>::construct<std::thread, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::thread*, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000009165)
  259.     #4 void std::allocator_traits<std::allocator<std::thread> >::construct<std::thread, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(std::allocator<std::thread>&, std::thread*, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000007d62)
  260.     #5 void std::vector<std::thread, std::allocator<std::thread> >::_M_realloc_insert<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(__gnu_cxx::__normal_iterator<std::thread*, std::vector<std::thread, std::allocator<std::thread> > >, tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000007e4e)
  261.     #6 void std::vector<std::thread, std::allocator<std::thread> >::emplace_back<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}>(tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}&&) <null> (tsan_test+0x000000006340)
  262.     #7 tpcc::TaskExecutor::Run(std::function<void ()> const&) <null> (tsan_test+0x000000004e51)
  263.     #8 TestSuiteUnitTest::ExecuteTestConcurrentLock() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:35 (tsan_test+0x00000000335b)
  264.     #9 TestSuiteUnitTest::TestConcurrentLock::Execute() <null> (tsan_test+0x000000005a93)
  265.     #10 RunSingleTest(std::shared_ptr<ITest>) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:106 (tsan_test+0x00000000f26c)
  266.     #11 RunTests(std::vector<std::shared_ptr<ITest>, std::allocator<std::shared_ptr<ITest> > > const&) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:117 (tsan_test+0x00000000f3ae)
  267.     #12 main /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:42 (tsan_test+0x000000003703)
  268.  
  269. SUMMARY: ThreadSanitizer: data race (/home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/build/bin/tsan_test+0x445a) in tpcc::solutions::TournamentTreeLock::Lock(unsigned long)
  270. ==================
  271. PASSED
  272. ALL 3 TEST(S) PASSED!
  273. ThreadSanitizer: reported 2 warnings
  274. make[3]: *** [CMakeFiles/run_tsan_test.dir/build.make:57: CMakeFiles/run_tsan_test] Error 66
  275. make[2]: *** [CMakeFiles/Makefile2:373: CMakeFiles/run_tsan_test.dir/all] Error 2
  276. make[1]: *** [CMakeFiles/Makefile2:140: CMakeFiles/run.dir/rule] Error 2
  277. make: *** [Makefile:144: run] Error 2
  278. [dmitry@DmitryPC build]$
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement