Advertisement
MystMe

Untitled

Feb 20th, 2018
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 25.00 KB | None | 0 0
  1. [dmitry@DmitryPC build]$ cmake .. -DNO_AFFINITY=1 -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]$ make run
  6. [ 33%] Built target asan_test
  7. Test 'LockUnlock' from test suite 'UnitTest' running...
  8. PASSED
  9. Test 'SequentialLockUnlock' from test suite 'UnitTest' running...
  10. PASSED
  11. Test 'ConcurrentLock' from test suite 'UnitTest' running...
  12. PASSED
  13. ALL 3 TEST(S) PASSED!
  14. [ 33%] Built target run_asan_test
  15. [ 66%] Built target tsan_test
  16. Test 'LockUnlock' from test suite 'UnitTest' running...
  17. PASSED
  18. Test 'SequentialLockUnlock' from test suite 'UnitTest' running...
  19. PASSED
  20. Test 'ConcurrentLock' from test suite 'UnitTest' running...
  21. ==================
  22. WARNING: ThreadSanitizer: data race (pid=10089)
  23.   Write of size 8 at 0x7b0400000008 by thread T2:
  24.     #0 tpcc::solutions::TournamentTreeLock::Lock(unsigned long) <null> (tsan_test+0x0000000043fd)
  25.     #1 void tpcc::MutexTester<tpcc::solutions::TournamentTreeLock>::Lock<unsigned long>(unsigned long) <null> (tsan_test+0x00000000699f)
  26.     #2 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:31 (tsan_test+0x0000000030e2)
  27.     #3 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:36 (tsan_test+0x000000003202)
  28.     #4 _M_invoke /usr/include/c++/7.3.0/bits/std_function.h:316 (tsan_test+0x000000003b48)
  29.     #5 std::function<void ()>::operator()() const <null> (tsan_test+0x0000000060f6)
  30.     #6 tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}::operator()() const <null> (tsan_test+0x000000004cb6)
  31.     #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+0x00000000ac22)
  32.     #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+0x000000009f6c)
  33.     #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+0x00000000e4e2)
  34.     #10 std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> >::operator()() <null> (tsan_test+0x00000000e354)
  35.     #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> > >::_M_run() <null> (tsan_test+0x00000000e1b0)
  36.     #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:83 (libstdc++.so.6+0x0000000b9b9e)
  37.  
  38.   Previous read of size 8 at 0x7b0400000008 by thread T1:
  39.     #0 tpcc::solutions::TournamentTreeLock::Lock(unsigned long) <null> (tsan_test+0x000000004492)
  40.     #1 void tpcc::MutexTester<tpcc::solutions::TournamentTreeLock>::Lock<unsigned long>(unsigned long) <null> (tsan_test+0x00000000699f)
  41.     #2 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:31 (tsan_test+0x0000000030e2)
  42.     #3 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:35 (tsan_test+0x000000003192)
  43.     #4 _M_invoke /usr/include/c++/7.3.0/bits/std_function.h:316 (tsan_test+0x000000003961)
  44.     #5 std::function<void ()>::operator()() const <null> (tsan_test+0x0000000060f6)
  45.     #6 tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}::operator()() const <null> (tsan_test+0x000000004cb6)
  46.     #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+0x00000000ac22)
  47.     #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+0x000000009f6c)
  48.     #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+0x00000000e4e2)
  49.     #10 std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> >::operator()() <null> (tsan_test+0x00000000e354)
  50.     #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> > >::_M_run() <null> (tsan_test+0x00000000e1b0)
  51.     #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:83 (libstdc++.so.6+0x0000000b9b9e)
  52.  
  53.   Location is heap block of size 16 at 0x7b0400000000 allocated by main thread:
  54.     #0 operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:39 (libtsan.so.0+0x0000000701fc)
  55.     #1 __gnu_cxx::new_allocator<unsigned long>::allocate(unsigned long, void const*) <null> (tsan_test+0x00000000aa98)
  56.     #2 std::allocator_traits<std::allocator<unsigned long> >::allocate(std::allocator<unsigned long>&, unsigned long) <null> (tsan_test+0x000000009e16)
  57.     #3 std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_allocate(unsigned long) <null> (tsan_test+0x000000008f04)
  58.     #4 std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_create_storage(unsigned long) <null> (tsan_test+0x00000000a77f)
  59.     #5 std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_Vector_base(unsigned long, std::allocator<unsigned long> const&) <null> (tsan_test+0x0000000097f6)
  60.     #6 std::vector<unsigned long, std::allocator<unsigned long> >::vector(unsigned long, unsigned long const&, std::allocator<unsigned long> const&) <null> (tsan_test+0x00000000885d)
  61.     #7 std::vector<unsigned long, std::allocator<unsigned long> >::_M_fill_assign(unsigned long, unsigned long const&) <null> (tsan_test+0x00000000716f)
  62.     #8 std::vector<unsigned long, std::allocator<unsigned long> >::assign(unsigned long, unsigned long const&) <null> (tsan_test+0x000000005d39)
  63.     #9 tpcc::solutions::TournamentTreeLock::TournamentTreeLock(unsigned long) <null> (tsan_test+0x000000004313)
  64.     #10 tpcc::MutexTester<tpcc::solutions::TournamentTreeLock>::MutexTester<int>(int) <null> (tsan_test+0x0000000068ee)
  65.     #11 TestSuiteUnitTest::ExecuteTestConcurrentLock() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:27 (tsan_test+0x000000003273)
  66.     #12 TestSuiteUnitTest::TestConcurrentLock::Execute() <null> (tsan_test+0x000000005a5f)
  67.     #13 RunSingleTest(std::shared_ptr<ITest>) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:106 (tsan_test+0x00000000f238)
  68.     #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+0x00000000f37a)
  69.     #15 main /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:42 (tsan_test+0x0000000036cf)
  70.  
  71.   Thread T2 (tid=10092, running) created by main thread at:
  72.     #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:900 (libtsan.so.0+0x000000028874)
  73.     #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)
  74.     #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)
  75.     #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+0x000000009131)
  76.     #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+0x000000007d2e)
  77.     #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+0x000000007e1a)
  78.     #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+0x00000000630c)
  79.     #7 tpcc::TaskExecutor::Run(std::function<void ()> const&) <null> (tsan_test+0x000000004e1d)
  80.     #8 TestSuiteUnitTest::ExecuteTestConcurrentLock() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:36 (tsan_test+0x000000003384)
  81.     #9 TestSuiteUnitTest::TestConcurrentLock::Execute() <null> (tsan_test+0x000000005a5f)
  82.     #10 RunSingleTest(std::shared_ptr<ITest>) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:106 (tsan_test+0x00000000f238)
  83.     #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+0x00000000f37a)
  84.     #12 main /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:42 (tsan_test+0x0000000036cf)
  85.  
  86.   Thread T1 (tid=10091, finished) created by main thread at:
  87.     #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:900 (libtsan.so.0+0x000000028874)
  88.     #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)
  89.     #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)
  90.     #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+0x000000009131)
  91.     #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+0x000000007d2e)
  92.     #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+0x000000007e1a)
  93.     #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+0x00000000630c)
  94.     #7 tpcc::TaskExecutor::Run(std::function<void ()> const&) <null> (tsan_test+0x000000004e1d)
  95.     #8 TestSuiteUnitTest::ExecuteTestConcurrentLock() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:35 (tsan_test+0x000000003327)
  96.     #9 TestSuiteUnitTest::TestConcurrentLock::Execute() <null> (tsan_test+0x000000005a5f)
  97.     #10 RunSingleTest(std::shared_ptr<ITest>) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:106 (tsan_test+0x00000000f238)
  98.     #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+0x00000000f37a)
  99.     #12 main /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:42 (tsan_test+0x0000000036cf)
  100.  
  101. SUMMARY: ThreadSanitizer: data race (/home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/build/bin/tsan_test+0x43fd) in tpcc::solutions::TournamentTreeLock::Lock(unsigned long)
  102. ==================
  103. ==================
  104. WARNING: ThreadSanitizer: data race (pid=10089)
  105.   Write of size 8 at 0x7b0400000018 by thread T2:
  106.     #0 tpcc::solutions::TournamentTreeLock::Lock(unsigned long) <null> (tsan_test+0x000000004426)
  107.     #1 void tpcc::MutexTester<tpcc::solutions::TournamentTreeLock>::Lock<unsigned long>(unsigned long) <null> (tsan_test+0x00000000699f)
  108.     #2 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:31 (tsan_test+0x0000000030e2)
  109.     #3 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:36 (tsan_test+0x000000003202)
  110.     #4 _M_invoke /usr/include/c++/7.3.0/bits/std_function.h:316 (tsan_test+0x000000003b48)
  111.     #5 std::function<void ()>::operator()() const <null> (tsan_test+0x0000000060f6)
  112.     #6 tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}::operator()() const <null> (tsan_test+0x000000004cb6)
  113.     #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+0x00000000ac22)
  114.     #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+0x000000009f6c)
  115.     #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+0x00000000e4e2)
  116.     #10 std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> >::operator()() <null> (tsan_test+0x00000000e354)
  117.     #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> > >::_M_run() <null> (tsan_test+0x00000000e1b0)
  118.     #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:83 (libstdc++.so.6+0x0000000b9b9e)
  119.  
  120.   Previous write of size 8 at 0x7b0400000018 by thread T1:
  121.     #0 tpcc::solutions::TournamentTreeLock::Lock(unsigned long) <null> (tsan_test+0x000000004426)
  122.     #1 void tpcc::MutexTester<tpcc::solutions::TournamentTreeLock>::Lock<unsigned long>(unsigned long) <null> (tsan_test+0x00000000699f)
  123.     #2 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:31 (tsan_test+0x0000000030e2)
  124.     #3 operator() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:35 (tsan_test+0x000000003192)
  125.     #4 _M_invoke /usr/include/c++/7.3.0/bits/std_function.h:316 (tsan_test+0x000000003961)
  126.     #5 std::function<void ()>::operator()() const <null> (tsan_test+0x0000000060f6)
  127.     #6 tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}::operator()() const <null> (tsan_test+0x000000004cb6)
  128.     #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+0x00000000ac22)
  129.     #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+0x000000009f6c)
  130.     #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+0x00000000e4e2)
  131.     #10 std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> >::operator()() <null> (tsan_test+0x00000000e354)
  132.     #11 std::thread::_State_impl<std::thread::_Invoker<std::tuple<tpcc::TaskExecutor::Run(std::function<void ()> const&)::{lambda()#1}> > >::_M_run() <null> (tsan_test+0x00000000e1b0)
  133.     #12 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:83 (libstdc++.so.6+0x0000000b9b9e)
  134.  
  135.   Location is heap block of size 16 at 0x7b0400000010 allocated by main thread:
  136.     #0 operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:39 (libtsan.so.0+0x0000000701fc)
  137.     #1 __gnu_cxx::new_allocator<unsigned long>::allocate(unsigned long, void const*) <null> (tsan_test+0x00000000aa98)
  138.     #2 std::allocator_traits<std::allocator<unsigned long> >::allocate(std::allocator<unsigned long>&, unsigned long) <null> (tsan_test+0x000000009e16)
  139.     #3 std::_Vector_base<unsigned long, std::allocator<unsigned long> >::_M_allocate(unsigned long) <null> (tsan_test+0x000000008f04)
  140.     #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+0x000000007794)
  141.     #5 std::vector<unsigned long, std::allocator<unsigned long> >::resize(unsigned long, unsigned long const&) <null> (tsan_test+0x000000005dd1)
  142.     #6 tpcc::solutions::TournamentTreeLock::TournamentTreeLock(unsigned long) <null> (tsan_test+0x000000004342)
  143.     #7 tpcc::MutexTester<tpcc::solutions::TournamentTreeLock>::MutexTester<int>(int) <null> (tsan_test+0x0000000068ee)
  144.     #8 TestSuiteUnitTest::ExecuteTestConcurrentLock() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:27 (tsan_test+0x000000003273)
  145.     #9 TestSuiteUnitTest::TestConcurrentLock::Execute() <null> (tsan_test+0x000000005a5f)
  146.     #10 RunSingleTest(std::shared_ptr<ITest>) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:106 (tsan_test+0x00000000f238)
  147.     #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+0x00000000f37a)
  148.     #12 main /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:42 (tsan_test+0x0000000036cf)
  149.  
  150.   Thread T2 (tid=10092, running) created by main thread at:
  151.     #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:900 (libtsan.so.0+0x000000028874)
  152.     #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)
  153.     #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)
  154.     #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+0x000000009131)
  155.     #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+0x000000007d2e)
  156.     #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+0x000000007e1a)
  157.     #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+0x00000000630c)
  158.     #7 tpcc::TaskExecutor::Run(std::function<void ()> const&) <null> (tsan_test+0x000000004e1d)
  159.     #8 TestSuiteUnitTest::ExecuteTestConcurrentLock() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:36 (tsan_test+0x000000003384)
  160.     #9 TestSuiteUnitTest::TestConcurrentLock::Execute() <null> (tsan_test+0x000000005a5f)
  161.     #10 RunSingleTest(std::shared_ptr<ITest>) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:106 (tsan_test+0x00000000f238)
  162.     #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+0x00000000f37a)
  163.     #12 main /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:42 (tsan_test+0x0000000036cf)
  164.  
  165.   Thread T1 (tid=10091, finished) created by main thread at:
  166.     #0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:900 (libtsan.so.0+0x000000028874)
  167.     #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)
  168.     #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)
  169.     #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+0x000000009131)
  170.     #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+0x000000007d2e)
  171.     #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+0x000000007e1a)
  172.     #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+0x00000000630c)
  173.     #7 tpcc::TaskExecutor::Run(std::function<void ()> const&) <null> (tsan_test+0x000000004e1d)
  174.     #8 TestSuiteUnitTest::ExecuteTestConcurrentLock() /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:35 (tsan_test+0x000000003327)
  175.     #9 TestSuiteUnitTest::TestConcurrentLock::Execute() <null> (tsan_test+0x000000005a5f)
  176.     #10 RunSingleTest(std::shared_ptr<ITest>) /home/dmitry/Code/parallel programming/tpcc-course-2018/common/source/test_framework.cpp:106 (tsan_test+0x00000000f238)
  177.     #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+0x00000000f37a)
  178.     #12 main /home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/unit_test.cpp:42 (tsan_test+0x0000000036cf)
  179.  
  180. SUMMARY: ThreadSanitizer: data race (/home/dmitry/Code/parallel programming/tpcc-course-2018/tasks/1-mutex/tournament-tree/build/bin/tsan_test+0x4426) in tpcc::solutions::TournamentTreeLock::Lock(unsigned long)
  181. ==================
  182. PASSED
  183. ALL 3 TEST(S) PASSED!
  184. ThreadSanitizer: reported 2 warnings
  185. make[3]: *** [CMakeFiles/run_tsan_test.dir/build.make:57: CMakeFiles/run_tsan_test] Error 66
  186. make[2]: *** [CMakeFiles/Makefile2:373: CMakeFiles/run_tsan_test.dir/all] Error 2
  187. make[1]: *** [CMakeFiles/Makefile2:140: CMakeFiles/run.dir/rule] Error 2
  188. make: *** [Makefile:144: run] Error 2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement