Running with gitlab-ci-multi-runner 9.2.0 (adfc387) on rfhete607 (d0f8d5ee) Using Docker executor with image flofritz/ci-benchmark-hpx-embb ... Using docker image sha256:61dea5e03224bc70e92a1879e7f7babe869e447447c9f8a4574444a76804c4d5 for predefined container... Pulling docker image flofritz/ci-benchmark-hpx-embb ... Using docker image flofritz/ci-benchmark-hpx-embb ID=sha256:273cacc90321cf472a5de52f5c8aa7fdb83bd8ad80d75651eb63942e86de9dd2 for build container... Running on runner-d0f8d5ee-project-419-concurrent-0 via 869407bddacd... Fetching changes... Removing cmake-build-release/ Removing release/ HEAD is now at a4b03ff Found general problem for FFT performance. Checking out a4b03ffe as pure_fork_join... Skipping Git submodules setup Downloading artifacts for build_cmake (3120)... Downloading artifacts from coordinator... ok  id=3120 responseStatus=200 OK token=JrMnaVEZ $ ./ci_scripts/run_thread_sanitizer.sh -- The C compiler identification is GNU 7.3.0 -- The CXX compiler identification is GNU 7.3.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Using Build Type: RELEASE -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for pthread_create -- Looking for pthread_create - not found -- Check if compiler accepts -pthread -- Check if compiler accepts -pthread - yes -- Found Threads: TRUE -- Thread Sanitizer: ON -- Address Sanitizer: OFF -- Easy Profiler: OFF -- Debug Symbols: OFF -- Configuring done -- Generating done -- Build files have been written to: /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/cmake-build-release-thread-sanitizer Scanning dependencies of target pls [ 3%] Building CXX object lib/pls/CMakeFiles/pls.dir/src/pls.cpp.o [ 6%] Building CXX object lib/pls/CMakeFiles/pls.dir/src/internal/base/tas_spin_lock.cpp.o [ 10%] Building CXX object lib/pls/CMakeFiles/pls.dir/src/internal/base/ttas_spin_lock.cpp.o [ 13%] Building CXX object lib/pls/CMakeFiles/pls.dir/src/internal/base/swmr_spin_lock.cpp.o [ 17%] Building CXX object lib/pls/CMakeFiles/pls.dir/src/internal/base/thread.cpp.o [ 20%] Building CXX object lib/pls/CMakeFiles/pls.dir/src/internal/base/barrier.cpp.o [ 24%] Building CXX object lib/pls/CMakeFiles/pls.dir/src/internal/base/alignment.cpp.o [ 27%] Building CXX object lib/pls/CMakeFiles/pls.dir/src/internal/data_structures/aligned_stack.cpp.o [ 31%] Building CXX object lib/pls/CMakeFiles/pls.dir/src/internal/scheduling/scheduler.cpp.o [ 34%] Building CXX object lib/pls/CMakeFiles/pls.dir/src/internal/scheduling/task.cpp.o [ 37%] Building CXX object lib/pls/CMakeFiles/pls.dir/src/internal/scheduling/scheduler_memory.cpp.o [ 41%] Linking CXX static library ../libpls.a [ 41%] Built target pls Scanning dependencies of target playground [ 44%] Building CXX object app/playground/CMakeFiles/playground.dir/main.cpp.o [ 48%] Linking CXX executable ../../bin/playground [ 48%] Built target playground Scanning dependencies of target test_for_new [ 51%] Building CXX object app/test_for_new/CMakeFiles/test_for_new.dir/main.cpp.o [ 55%] Linking CXX executable ../../bin/test_for_new [ 55%] Built target test_for_new Scanning dependencies of target invoke_parallel [ 58%] Building CXX object app/invoke_parallel/CMakeFiles/invoke_parallel.dir/main.cpp.o [ 62%] Linking CXX executable ../../bin/invoke_parallel [ 62%] Built target invoke_parallel Scanning dependencies of target benchmark_fft [ 65%] Building CXX object app/benchmark_fft/CMakeFiles/benchmark_fft.dir/main.cpp.o [ 68%] Linking CXX executable ../../bin/benchmark_fft [ 68%] Built target benchmark_fft Scanning dependencies of target benchmark_unbalanced [ 72%] Building CXX object app/benchmark_unbalanced/CMakeFiles/benchmark_unbalanced.dir/main.cpp.o [ 75%] Building CXX object app/benchmark_unbalanced/CMakeFiles/benchmark_unbalanced.dir/node.cpp.o [ 79%] Linking CXX executable ../../bin/benchmark_unbalanced [ 79%] Built target benchmark_unbalanced Scanning dependencies of target benchmark_matrix [ 82%] Building CXX object app/benchmark_matrix/CMakeFiles/benchmark_matrix.dir/main.cpp.o [ 86%] Linking CXX executable ../../bin/benchmark_matrix [ 86%] Built target benchmark_matrix Scanning dependencies of target tests [ 89%] Building CXX object test/CMakeFiles/tests.dir/main.cpp.o [ 93%] Building CXX object test/CMakeFiles/tests.dir/data_structures_test.cpp.o [ 96%] Building CXX object test/CMakeFiles/tests.dir/scheduling_tests.cpp.o [100%] Linking CXX executable ../bin/tests [100%] Built target tests ================== WARNING: ThreadSanitizer: data race (pid=445) Write of size 8 at 0x7b9000000000 by thread T1: #0 void pls::internal::data_structures::work_stealing_deque_item::set_data(once_sub_task*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/data_structures/work_stealing_deque.h:40 (tests+0xb84e0) #1 once_sub_task* pls::internal::data_structures::work_stealing_deque::push_tail(once_sub_task const&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/data_structures/work_stealing_deque_impl.h:50 (tests+0xb84e0) #2 void pls::internal::scheduling::task::spawn_child(once_sub_task&&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/scheduling/task.h:58 (tests+0xb84e0) #3 once_sub_task::execute_internal() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/test/scheduling_tests.cpp:15 (tests+0xb84e0) #4 pls::internal::scheduling::task::execute() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/task.cpp:26 (tests+0xba69e) #5 pls::internal::scheduling::scheduler::try_execute_local() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:122 (tests+0xba172) #6 pls::internal::scheduling::task::wait_for_all() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/task.cpp:41 (tests+0xba4f7) #7 pls::internal::scheduling::task::execute() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/task.cpp:29 (tests+0xba6a6) #8 pls::internal::scheduling::scheduler::worker_routine() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:52 (tests+0xb9cf2) #9 pls::internal::base::thread::start_pthread_internal(void*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/base/thread_impl.h:41 (tests+0xba38f) #10 (libtsan.so.0+0x296bd) Previous read of size 8 at 0x7b9000000000 by thread T2: #0 pls::internal::data_structures::work_stealing_deque::pop_head() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/data_structures/work_stealing_deque_impl.h:114 (tests+0xb9b94) #1 pls::internal::scheduling::scheduler::steal_task() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:107 (tests+0xb9b94) #2 pls::internal::scheduling::scheduler::try_execute_stolen() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:130 (tests+0xb9f27) #3 pls::internal::scheduling::scheduler::worker_routine() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:58 (tests+0xb9f27) #4 pls::internal::base::thread::start_pthread_internal(void*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/base/thread_impl.h:41 (tests+0xba38f) #5 (libtsan.so.0+0x296bd) Location is heap block of size 8192 at 0x7b9000000000 allocated by main thread: #0 aligned_alloc (libtsan.so.0+0x2b8a7) #1 pls::internal::base::alignment::allocate_aligned(unsigned long) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/base/alignment.cpp:10 (tests+0xb90ca) #2 pls::internal::scheduling::malloc_scheduler_memory::malloc_scheduler_memory(unsigned long, unsigned long) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler_memory.cpp:23 (tests+0xba89b) #3 ____C_A_T_C_H____T_E_S_T____0 /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/test/scheduling_tests.cpp:50 (tests+0xb786e) #4 Catch::TestInvokerAsFunction::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11841 (tests+0x1c83c) #5 Catch::TestCase::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11742 (tests+0x1c83c) #6 Catch::RunContext::invokeActiveTestCase() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10601 (tests+0x1c83c) #7 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10574 (tests+0x37207) #8 Catch::RunContext::runTest(Catch::TestCase const&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10344 (tests+0x4fb7c) #9 runTests /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10903 (tests+0x5085a) #10 Catch::Session::runInternal() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11098 (tests+0x56ebe) #11 Catch::Session::run() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11055 (tests+0x56f83) #12 int Catch::Session::run(int, char const* const*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10801 (tests+0x10c04) #13 main /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:14554 (tests+0x10c04) Thread T1 (tid=447, running) created by main thread at: #0 pthread_create (libtsan.so.0+0x2bcfe) #1 pls::internal::base::thread::thread(void (* const&)(), pls::internal::scheduling::thread_state*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/base/thread_impl.h:66 (tests+0xb950f) #2 pls::internal::scheduling::scheduler::scheduler(pls::internal::scheduling::scheduler_memory*, unsigned int) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:24 (tests+0xb950f) #3 ____C_A_T_C_H____T_E_S_T____0 /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/test/scheduling_tests.cpp:53 (tests+0xb7a36) #4 Catch::TestInvokerAsFunction::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11841 (tests+0x1c83c) #5 Catch::TestCase::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11742 (tests+0x1c83c) #6 Catch::RunContext::invokeActiveTestCase() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10601 (tests+0x1c83c) #7 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10574 (tests+0x37207) #8 Catch::RunContext::runTest(Catch::TestCase const&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10344 (tests+0x4fb7c) #9 runTests /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10903 (tests+0x5085a) #10 Catch::Session::runInternal() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11098 (tests+0x56ebe) #11 Catch::Session::run() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11055 (tests+0x56f83) #12 int Catch::Session::run(int, char const* const*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10801 (tests+0x10c04) #13 main /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:14554 (tests+0x10c04) Thread T2 (tid=448, running) created by main thread at: #0 pthread_create (libtsan.so.0+0x2bcfe) #1 pls::internal::base::thread::thread(void (* const&)(), pls::internal::scheduling::thread_state*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/base/thread_impl.h:66 (tests+0xb950f) #2 pls::internal::scheduling::scheduler::scheduler(pls::internal::scheduling::scheduler_memory*, unsigned int) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:24 (tests+0xb950f) #3 ____C_A_T_C_H____T_E_S_T____0 /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/test/scheduling_tests.cpp:53 (tests+0xb7a36) #4 Catch::TestInvokerAsFunction::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11841 (tests+0x1c83c) #5 Catch::TestCase::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11742 (tests+0x1c83c) #6 Catch::RunContext::invokeActiveTestCase() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10601 (tests+0x1c83c) #7 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10574 (tests+0x37207) #8 Catch::RunContext::runTest(Catch::TestCase const&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10344 (tests+0x4fb7c) #9 runTests /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10903 (tests+0x5085a) #10 Catch::Session::runInternal() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11098 (tests+0x56ebe) #11 Catch::Session::run() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11055 (tests+0x56f83) #12 int Catch::Session::run(int, char const* const*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10801 (tests+0x10c04) #13 main /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:14554 (tests+0x10c04) SUMMARY: ThreadSanitizer: data race /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/data_structures/work_stealing_deque.h:40 in void pls::internal::data_structures::work_stealing_deque_item::set_data(once_sub_task*) ================== ================== WARNING: ThreadSanitizer: data race (pid=445) Write of size 8 at 0x7b9000000008 by thread T1: #0 pls::internal::data_structures::work_stealing_deque_item::set_next_item(unsigned long) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/data_structures/work_stealing_deque.h:44 (tests+0xb852d) #1 once_sub_task* pls::internal::data_structures::work_stealing_deque::push_tail(once_sub_task const&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/data_structures/work_stealing_deque_impl.h:51 (tests+0xb852d) #2 void pls::internal::scheduling::task::spawn_child(once_sub_task&&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/scheduling/task.h:58 (tests+0xb852d) #3 once_sub_task::execute_internal() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/test/scheduling_tests.cpp:15 (tests+0xb852d) #4 pls::internal::scheduling::task::execute() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/task.cpp:26 (tests+0xba69e) #5 pls::internal::scheduling::scheduler::try_execute_local() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:122 (tests+0xba172) #6 pls::internal::scheduling::task::wait_for_all() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/task.cpp:41 (tests+0xba4f7) #7 pls::internal::scheduling::task::execute() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/task.cpp:29 (tests+0xba6a6) #8 pls::internal::scheduling::scheduler::worker_routine() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:52 (tests+0xb9cf2) #9 pls::internal::base::thread::start_pthread_internal(void*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/base/thread_impl.h:41 (tests+0xba38f) #10 (libtsan.so.0+0x296bd) Previous read of size 8 at 0x7b9000000008 by thread T2: [failed to restore the stack] Location is heap block of size 8192 at 0x7b9000000000 allocated by main thread: #0 aligned_alloc (libtsan.so.0+0x2b8a7) #1 pls::internal::base::alignment::allocate_aligned(unsigned long) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/base/alignment.cpp:10 (tests+0xb90ca) #2 pls::internal::scheduling::malloc_scheduler_memory::malloc_scheduler_memory(unsigned long, unsigned long) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler_memory.cpp:23 (tests+0xba89b) #3 ____C_A_T_C_H____T_E_S_T____0 /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/test/scheduling_tests.cpp:50 (tests+0xb786e) #4 Catch::TestInvokerAsFunction::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11841 (tests+0x1c83c) #5 Catch::TestCase::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11742 (tests+0x1c83c) #6 Catch::RunContext::invokeActiveTestCase() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10601 (tests+0x1c83c) #7 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10574 (tests+0x37207) #8 Catch::RunContext::runTest(Catch::TestCase const&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10344 (tests+0x4fb7c) #9 runTests /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10903 (tests+0x5085a) #10 Catch::Session::runInternal() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11098 (tests+0x56ebe) #11 Catch::Session::run() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11055 (tests+0x56f83) #12 int Catch::Session::run(int, char const* const*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10801 (tests+0x10c04) #13 main /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:14554 (tests+0x10c04) Thread T1 (tid=447, running) created by main thread at: #0 pthread_create (libtsan.so.0+0x2bcfe) #1 pls::internal::base::thread::thread(void (* const&)(), pls::internal::scheduling::thread_state*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/base/thread_impl.h:66 (tests+0xb950f) #2 pls::internal::scheduling::scheduler::scheduler(pls::internal::scheduling::scheduler_memory*, unsigned int) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:24 (tests+0xb950f) #3 ____C_A_T_C_H____T_E_S_T____0 /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/test/scheduling_tests.cpp:53 (tests+0xb7a36) #4 Catch::TestInvokerAsFunction::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11841 (tests+0x1c83c) #5 Catch::TestCase::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11742 (tests+0x1c83c) #6 Catch::RunContext::invokeActiveTestCase() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10601 (tests+0x1c83c) #7 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10574 (tests+0x37207) #8 Catch::RunContext::runTest(Catch::TestCase const&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10344 (tests+0x4fb7c) #9 runTests /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10903 (tests+0x5085a) #10 Catch::Session::runInternal() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11098 (tests+0x56ebe) #11 Catch::Session::run() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11055 (tests+0x56f83) #12 int Catch::Session::run(int, char const* const*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10801 (tests+0x10c04) #13 main /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:14554 (tests+0x10c04) Thread T2 (tid=448, running) created by main thread at: #0 pthread_create (libtsan.so.0+0x2bcfe) #1 pls::internal::base::thread::thread(void (* const&)(), pls::internal::scheduling::thread_state*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/base/thread_impl.h:66 (tests+0xb950f) #2 pls::internal::scheduling::scheduler::scheduler(pls::internal::scheduling::scheduler_memory*, unsigned int) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:24 (tests+0xb950f) #3 ____C_A_T_C_H____T_E_S_T____0 /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/test/scheduling_tests.cpp:53 (tests+0xb7a36) #4 Catch::TestInvokerAsFunction::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11841 (tests+0x1c83c) #5 Catch::TestCase::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11742 (tests+0x1c83c) #6 Catch::RunContext::invokeActiveTestCase() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10601 (tests+0x1c83c) #7 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10574 (tests+0x37207) #8 Catch::RunContext::runTest(Catch::TestCase const&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10344 (tests+0x4fb7c) #9 runTests /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10903 (tests+0x5085a) #10 Catch::Session::runInternal() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11098 (tests+0x56ebe) #11 Catch::Session::run() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11055 (tests+0x56f83) #12 int Catch::Session::run(int, char const* const*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10801 (tests+0x10c04) #13 main /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:14554 (tests+0x10c04) SUMMARY: ThreadSanitizer: data race /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/data_structures/work_stealing_deque.h:44 in pls::internal::data_structures::work_stealing_deque_item::set_next_item(unsigned long) ================== ================== WARNING: ThreadSanitizer: data race (pid=445) Write of size 1 at 0x7ffcca119fb8 by thread T1: #0 pls::internal::scheduling::scheduler::worker_routine() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:53 (tests+0xb9cfe) #1 pls::internal::base::thread::start_pthread_internal(void*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/base/thread_impl.h:41 (tests+0xba38f) #2 (libtsan.so.0+0x296bd) Previous read of size 1 at 0x7ffcca119fb8 by thread T2: #0 pls::internal::scheduling::scheduler::worker_routine() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:56 (tests+0xb9d82) #1 pls::internal::base::thread::start_pthread_internal(void*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/base/thread_impl.h:41 (tests+0xba38f) #2 (libtsan.so.0+0x296bd) Location is stack of main thread. Location is global '' at 0x000000000000 ([stack]+0x00000001dfb8) Thread T1 (tid=447, running) created by main thread at: #0 pthread_create (libtsan.so.0+0x2bcfe) #1 pls::internal::base::thread::thread(void (* const&)(), pls::internal::scheduling::thread_state*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/base/thread_impl.h:66 (tests+0xb950f) #2 pls::internal::scheduling::scheduler::scheduler(pls::internal::scheduling::scheduler_memory*, unsigned int) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:24 (tests+0xb950f) #3 ____C_A_T_C_H____T_E_S_T____0 /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/test/scheduling_tests.cpp:53 (tests+0xb7a36) #4 Catch::TestInvokerAsFunction::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11841 (tests+0x1c83c) #5 Catch::TestCase::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11742 (tests+0x1c83c) #6 Catch::RunContext::invokeActiveTestCase() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10601 (tests+0x1c83c) #7 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10574 (tests+0x37207) #8 Catch::RunContext::runTest(Catch::TestCase const&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10344 (tests+0x4fb7c) #9 runTests /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10903 (tests+0x5085a) #10 Catch::Session::runInternal() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11098 (tests+0x56ebe) #11 Catch::Session::run() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11055 (tests+0x56f83) #12 int Catch::Session::run(int, char const* const*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10801 (tests+0x10c04) #13 main /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:14554 (tests+0x10c04) Thread T2 (tid=448, running) created by main thread at: #0 pthread_create (libtsan.so.0+0x2bcfe) #1 pls::internal::base::thread::thread(void (* const&)(), pls::internal::scheduling::thread_state*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/include/pls/internal/base/thread_impl.h:66 (tests+0xb950f) #2 pls::internal::scheduling::scheduler::scheduler(pls::internal::scheduling::scheduler_memory*, unsigned int) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:24 (tests+0xb950f) #3 ____C_A_T_C_H____T_E_S_T____0 /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/test/scheduling_tests.cpp:53 (tests+0xb7a36) #4 Catch::TestInvokerAsFunction::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11841 (tests+0x1c83c) #5 Catch::TestCase::invoke() const /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11742 (tests+0x1c83c) #6 Catch::RunContext::invokeActiveTestCase() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10601 (tests+0x1c83c) #7 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string, std::allocator >&, std::__cxx11::basic_string, std::allocator >&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10574 (tests+0x37207) #8 Catch::RunContext::runTest(Catch::TestCase const&) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10344 (tests+0x4fb7c) #9 runTests /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10903 (tests+0x5085a) #10 Catch::Session::runInternal() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11098 (tests+0x56ebe) #11 Catch::Session::run() /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:11055 (tests+0x56f83) #12 int Catch::Session::run(int, char const* const*) /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:10801 (tests+0x10c04) #13 main /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/extern/catch2/catch.hpp:14554 (tests+0x10c04) SUMMARY: ThreadSanitizer: data race /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/lib/pls/src/internal/scheduling/scheduler.cpp:53 in pls::internal::scheduling::scheduler::worker_routine() ================== =============================================================================== All tests passed (48 assertions in 4 test cases) ThreadSanitizer: reported 3 warnings ERROR: Job failed: exit code 1