ami-iit / bipedal-locomotion-framework

Suite of libraries for achieving bipedal locomotion on humanoid robots

Home Page:https://ami-iit.github.io/bipedal-locomotion-framework/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AdvanceableRunnerUnitTests fail when using ThreadSanitizer

traversaro opened this issue · comments

For another case I learned how to easily enable GCC's ThreadSanitizer. In a nutshell, you just to run the following in a clean build directory (CMake uses CXXFLAGS and CFLAGS only during the first configuration):

git clone https://github.com/ami-iit/bipedal-locomotion-framework
cd bipedal-locomotion-framework
mkdir build
# Do this once when you do the first configuration
export CFLAGS="$CFLAGS -fsanitize=thread"
export CXXFLAGS="$CXXFLAGS -fsanitize=thread"
cmake -DBUILD_TESTING:BOOL ..

running the test suite with the ThreadSanitizer enabled, the following tests fail:

         19 - AdvanceableRunnerUnitTests (Failed)
         21 - TimeVaryingDCMPlannerUnitTests (Failed)
         40 - ArucoDetectorTestUnitTests (Failed)
         51 - PythonBindingsUnitTest (Failed)

TimeVaryingDCMPlannerUnitTests, ArucoDetectorTestUnitTests and PythonBindingsUnitTest fail for problem that are not related to blf, while the failure in AdvanceableRunnerUnitTests seems to be valid errors (but I would need to check more in depth).

AdvanceableRunnerUnitTests

(blfdev) traversaro@IITICUBLAP257:~/bipedal-locomotion-framework/buildtsan$ /home/traversaro/bipedal-locomotion-framework/buildtsan/bin/AdvanceableRunnerUnitTests
[2023-03-02 15:00:11.719] [thread: 46739] [blf] [info] DummyBlock i = 0
[2023-03-02 15:00:11.720] [thread: 46739] [blf] [info] DummyBlock i = 1
[2023-03-02 15:00:11.720] [thread: 46739] [blf] [info] DummyBlock i = 2
[2023-03-02 15:00:11.720] [thread: 46739] [blf] [info] DummyBlock i = 3
[2023-03-02 15:00:11.720] [thread: 46739] [blf] [info] DummyBlock i = 4
[2023-03-02 15:00:11.720] [thread: 46739] [blf] [info] DummyBlock i = 5
[2023-03-02 15:00:11.721] [thread: 46739] [blf] [info] DummyBlock i = 6
[2023-03-02 15:00:11.722] [thread: 46739] [blf] [info] DummyBlock i = 7
==================
WARNING: ThreadSanitizer: data race (pid=46737)
  Write of size 1 at 0x7f3af3877038 by thread T2:
    #0 BipedalLocomotion::clock() /home/traversaro/bipedal-locomotion-framework/src/System/src/Clock.cpp:15 (libBipedalLocomotionFrameworkSystem.so.0.11.200+0x30d2a)
    #1 BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}::operator()() const /home/traversaro/bipedal-locomotion-framework/src/System/include/BipedalLocomotion/System/AdvanceableRunner.h:284 (AdvanceableRunnerUnitTests+0x25793)
    #2 bool std::__invoke_impl<bool, BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}>(std::__invoke_other, BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}&&) /home/traversaro/mambaforge/envs/blfdev/x86_64-conda-linux-gnu/include/c++/11.3.0/bits/invoke.h:61 (AdvanceableRunnerUnitTests+0x2663c)
    #3 std::__invoke_result<BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}>::type std::__invoke<BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}>(BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}&&) /home/traversaro/mambaforge/envs/blfdev/x86_64-conda-linux-gnu/include/c++/11.3.0/bits/invoke.h:96 (AdvanceableRunnerUnitTests+0x2663c)
    #4 bool std::thread::_Invoker<std::tuple<BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /home/traversaro/mambaforge/envs/blfdev/x86_64-conda-linux-gnu/include/c++/11.3.0/bits/std_thread.h:253 (AdvanceableRunnerUnitTests+0x2663c)
    #5 std::thread::_Invoker<std::tuple<BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}> >::operator()() /home/traversaro/mambaforge/envs/blfdev/x86_64-conda-linux-gnu/include/c++/11.3.0/bits/std_thread.h:260 (AdvanceableRunnerUnitTests+0x2663c)
    #6 std::thread::_State_impl<std::thread::_Invoker<std::tuple<BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}> > >::_M_run() /home/traversaro/mambaforge/envs/blfdev/x86_64-conda-linux-gnu/include/c++/11.3.0/bits/std_thread.h:211 (AdvanceableRunnerUnitTests+0x2663c)
    #7 execute_native_thread_routine ../../../../../libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xcda92)

  Previous write of size 1 at 0x7f3af3877038 by thread T1:
    #0 BipedalLocomotion::clock() /home/traversaro/bipedal-locomotion-framework/src/System/src/Clock.cpp:15 (libBipedalLocomotionFrameworkSystem.so.0.11.200+0x30d2a)
    #1 BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}::operator()() const /home/traversaro/bipedal-locomotion-framework/src/System/include/BipedalLocomotion/System/AdvanceableRunner.h:293 (AdvanceableRunnerUnitTests+0x25b5b)
    #2 bool std::__invoke_impl<bool, BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}>(std::__invoke_other, BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}&&) /home/traversaro/mambaforge/envs/blfdev/x86_64-conda-linux-gnu/include/c++/11.3.0/bits/invoke.h:61 (AdvanceableRunnerUnitTests+0x2663c)
    #3 std::__invoke_result<BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}>::type std::__invoke<BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}>(BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}&&) /home/traversaro/mambaforge/envs/blfdev/x86_64-conda-linux-gnu/include/c++/11.3.0/bits/invoke.h:96 (AdvanceableRunnerUnitTests+0x2663c)
    #4 bool std::thread::_Invoker<std::tuple<BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) /home/traversaro/mambaforge/envs/blfdev/x86_64-conda-linux-gnu/include/c++/11.3.0/bits/std_thread.h:253 (AdvanceableRunnerUnitTests+0x2663c)
    #5 std::thread::_Invoker<std::tuple<BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}> >::operator()() /home/traversaro/mambaforge/envs/blfdev/x86_64-conda-linux-gnu/include/c++/11.3.0/bits/std_thread.h:260 (AdvanceableRunnerUnitTests+0x2663c)
    #6 std::thread::_State_impl<std::thread::_Invoker<std::tuple<BipedalLocomotion::System::AdvanceableRunner<DummyBlock>::run(std::optional<std::reference_wrapper<BipedalLocomotion::System::Barrier> >)::{lambda()#1}> > >::_M_run() /home/traversaro/mambaforge/envs/blfdev/x86_64-conda-linux-gnu/include/c++/11.3.0/bits/std_thread.h:211 (AdvanceableRunnerUnitTests+0x2663c)
    #7 execute_native_thread_routine ../../../../../libstdc++-v3/src/c++11/thread.cc:82 (libstdc++.so.6+0xcda92)

  Location is global 'BipedalLocomotion::System::ClockBuilder::m_clockAlreadyCalledOnce' of size 1 at 0x7f3af3877038 (libBipedalLocomotionFrameworkSystem.so.0.11.200+0x00000003e038)

  Thread T2 (tid=46740, running) created by main thread at:
    #0 pthread_create ../../../../libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x33eaa)
    #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /home/conda/feedstock_root/build_artifacts/gcc_compilers_1666516830325/work/build/x86_64-conda-linux-gnu/libstdc++-v3/include/x86_64-conda-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xcd9f1)
    #2 C_A_T_C_H_T_E_S_T_0 /home/traversaro/bipedal-locomotion-framework/src/System/tests/AdvanceableRunnerTest.cpp:82 (AdvanceableRunnerUnitTests+0x283e6)
    #3 Catch::TestInvokerAsFunction::invoke() const /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:14332 (libCatchTestMain.so+0x5c3d9)
    #4 Catch::TestCase::invoke() const /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:14171 (libCatchTestMain.so+0x5c3d9)
    #5 Catch::RunContext::invokeActiveTestCase() /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:13027 (libCatchTestMain.so+0x5c467)
    #6 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:13000 (libCatchTestMain.so+0x9dad9)
    #7 Catch::RunContext::runTest(Catch::TestCase const&) /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:12761 (libCatchTestMain.so+0xbd1e4)
    #8 execute /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:13354 (libCatchTestMain.so+0xc291b)
    #9 Catch::Session::runInternal() /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:13564 (libCatchTestMain.so+0xc291b)
    #10 Catch::Session::run() /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:13520 (libCatchTestMain.so+0xc30a4)
    #11 int Catch::Session::run<char>(int, char const* const*) /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:13238 (libCatchTestMain.so+0x3d441)
    #12 main /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:17537 (libCatchTestMain.so+0x3d441)

  Thread T1 (tid=46739, running) created by main thread at:
    #0 pthread_create ../../../../libsanitizer/tsan/tsan_interceptors_posix.cpp:969 (libtsan.so.0+0x33eaa)
    #1 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /home/conda/feedstock_root/build_artifacts/gcc_compilers_1666516830325/work/build/x86_64-conda-linux-gnu/libstdc++-v3/include/x86_64-conda-linux-gnu/bits/gthr-default.h:663 (libstdc++.so.6+0xcd9f1)
    #2 C_A_T_C_H_T_E_S_T_0 /home/traversaro/bipedal-locomotion-framework/src/System/tests/AdvanceableRunnerTest.cpp:81 (AdvanceableRunnerUnitTests+0x283c0)
    #3 Catch::TestInvokerAsFunction::invoke() const /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:14332 (libCatchTestMain.so+0x5c3d9)
    #4 Catch::TestCase::invoke() const /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:14171 (libCatchTestMain.so+0x5c3d9)
    #5 Catch::RunContext::invokeActiveTestCase() /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:13027 (libCatchTestMain.so+0x5c467)
    #6 Catch::RunContext::runCurrentTest(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:13000 (libCatchTestMain.so+0x9dad9)
    #7 Catch::RunContext::runTest(Catch::TestCase const&) /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:12761 (libCatchTestMain.so+0xbd1e4)
    #8 execute /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:13354 (libCatchTestMain.so+0xc291b)
    #9 Catch::Session::runInternal() /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:13564 (libCatchTestMain.so+0xc291b)
    #10 Catch::Session::run() /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:13520 (libCatchTestMain.so+0xc30a4)
    #11 int Catch::Session::run<char>(int, char const* const*) /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:13238 (libCatchTestMain.so+0x3d441)
    #12 main /home/traversaro/mambaforge/envs/blfdev/include/catch2/catch.hpp:17537 (libCatchTestMain.so+0x3d441)

SUMMARY: ThreadSanitizer: data race /home/traversaro/bipedal-locomotion-framework/src/System/src/Clock.cpp:15 in BipedalLocomotion::clock()
==================
[2023-03-02 15:00:12.363] [thread: 46739] [blf] [info] DummyBlock i = 8
[2023-03-02 15:00:12.363] [thread: 46739] [blf] [info] DummyBlock i = 9
[2023-03-02 15:00:12.363] [thread: 46739] [blf] [info] DummyBlock i = 10
[2023-03-02 15:00:12.363] [thread: 46739] [blf] [info] DummyBlock i = 11
[2023-03-02 15:00:12.363] [thread: 46739] [blf] [info] DummyBlock i = 12
[2023-03-02 15:00:12.363] [thread: 46739] [blf] [info] DummyBlock i = 13
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 14
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 15
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 16
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 17
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 18
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 19
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 20
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 21
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 22
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 23
[2023-03-02 15:00:12.364] [thread: 46740] [blf] [info] DummyBlock i = 0
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 24
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 25
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 26
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 27
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 28
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 29
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 30
[2023-03-02 15:00:12.364] [thread: 46739] [blf] [info] DummyBlock i = 31
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 32
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 33
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 34
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 35
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 36
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 37
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 38
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 39
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 40
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 41
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 42
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 43
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 44
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 45
[2023-03-02 15:00:12.365] [thread: 46740] [blf] [info] DummyBlock i = 1
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 46
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 47
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 48
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 49
[2023-03-02 15:00:12.365] [thread: 46739] [blf] [info] DummyBlock i = 50
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 51
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 52
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 53
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 54
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 55
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 56
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 57
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 58
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 59
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 60
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 61
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 62
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 63
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 64
[2023-03-02 15:00:12.366] [thread: 46740] [blf] [info] DummyBlock i = 2
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 65
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 66
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 67
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 68
[2023-03-02 15:00:12.366] [thread: 46739] [blf] [info] DummyBlock i = 69
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 70
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 71
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 72
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 73
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 74
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 75
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 76
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 77
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 78
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 79
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 80
[2023-03-02 15:00:12.367] [thread: 46740] [blf] [info] DummyBlock i = 3
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 81
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 82
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 83
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 84
[2023-03-02 15:00:12.367] [thread: 46739] [blf] [info] DummyBlock i = 85
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 86
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 87
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 88
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 89
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 90
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 91
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 92
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 93
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 94
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 95
[2023-03-02 15:00:12.368] [thread: 46740] [blf] [info] DummyBlock i = 4
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 96
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 97
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 98
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 99
[2023-03-02 15:00:12.368] [thread: 46739] [blf] [info] DummyBlock i = 100
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 101
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 102
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 103
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 104
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 105
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 106
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 107
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 108
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 109
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 110
[2023-03-02 15:00:12.369] [thread: 46740] [blf] [info] DummyBlock i = 5
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 111
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 112
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 113
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 114
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 115
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 116
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 117
[2023-03-02 15:00:12.369] [thread: 46739] [blf] [info] DummyBlock i = 118
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 119
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 120
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 121
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 122
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 123
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 124
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 125
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 126
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 127
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 128
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 129
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 130
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 131
[2023-03-02 15:00:12.370] [thread: 46740] [blf] [info] DummyBlock i = 6
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 132
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 133
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 134
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 135
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 136
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 137
[2023-03-02 15:00:12.370] [thread: 46739] [blf] [info] DummyBlock i = 138
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 139
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 140
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 141
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 142
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 143
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 144
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 145
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 146
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 147
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 148
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 149
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 150
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 151
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 152
[2023-03-02 15:00:12.371] [thread: 46740] [blf] [info] DummyBlock i = 7
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 153
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 154
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 155
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 156
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 157
[2023-03-02 15:00:12.371] [thread: 46739] [blf] [info] DummyBlock i = 158
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 159
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 160
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 161
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 162
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 163
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 164
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 165
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 166
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 167
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 168
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 169
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 170
[2023-03-02 15:00:12.372] [thread: 46740] [blf] [info] DummyBlock i = 8
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 171
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 172
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 173
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 174
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 175
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 176
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 177
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 178
[2023-03-02 15:00:12.372] [thread: 46739] [blf] [info] DummyBlock i = 179
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 180
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 181
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 182
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 183
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 184
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 185
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 186
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 187
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 188
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 189
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 190
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 191
[2023-03-02 15:00:12.373] [thread: 46740] [blf] [info] DummyBlock i = 9
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 192
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] DummyBlock i = 193
[2023-03-02 15:00:12.373] [thread: 46739] [blf] [info] [AdvanceableRunner::run] - Runner: Closing the AdvanceableRunner.
[2023-03-02 15:00:12.373] [thread: 46737] [blf] [info] Runner0 : Number of deadline miss 190
[2023-03-02 15:00:12.374] [thread: 46739] [blf] [info] [AdvanceableRunner::run] - Runner: Number of deadline miss 191.
[2023-03-02 15:00:12.374] [thread: 46737] [blf] [info] Runner1 : Number of deadline miss 0
[2023-03-02 15:00:12.374] [thread: 46740] [blf] [info] [AdvanceableRunner::run] - Runner: Closing the AdvanceableRunner.
[2023-03-02 15:00:12.374] [thread: 46740] [blf] [info] [AdvanceableRunner::run] - Runner: Number of deadline miss 0.
[2023-03-02 15:00:12.375] [thread: 46737] [blf] [debug] [AdvanceableRunner::run] - Runner This thread is waiting for the other threads.
[2023-03-02 15:00:12.379] [thread: 46737] [blf] [debug] [AdvanceableRunner::run] - Runner This thread is waiting for the other threads.
[2023-03-02 15:00:12.379] [thread: 46741] [blf] [info] DummyBlock i = 0
[2023-03-02 15:00:12.380] [thread: 46741] [blf] [info] DummyBlock i = 1
[2023-03-02 15:00:12.380] [thread: 46742] [blf] [info] DummyBlock i = 0
[2023-03-02 15:00:12.381] [thread: 46741] [blf] [info] DummyBlock i = 2
[2023-03-02 15:00:12.381] [thread: 46742] [blf] [info] DummyBlock i = 1
[2023-03-02 15:00:12.382] [thread: 46741] [blf] [info] DummyBlock i = 3
[2023-03-02 15:00:12.382] [thread: 46742] [blf] [info] DummyBlock i = 2
[2023-03-02 15:00:12.383] [thread: 46741] [blf] [info] DummyBlock i = 4
[2023-03-02 15:00:12.383] [thread: 46742] [blf] [info] DummyBlock i = 3
[2023-03-02 15:00:12.384] [thread: 46741] [blf] [info] DummyBlock i = 5
[2023-03-02 15:00:12.384] [thread: 46742] [blf] [info] DummyBlock i = 4
[2023-03-02 15:00:12.385] [thread: 46741] [blf] [info] DummyBlock i = 6
[2023-03-02 15:00:12.385] [thread: 46742] [blf] [info] DummyBlock i = 5
[2023-03-02 15:00:12.386] [thread: 46741] [blf] [info] DummyBlock i = 7
[2023-03-02 15:00:12.386] [thread: 46742] [blf] [info] DummyBlock i = 6
[2023-03-02 15:00:12.387] [thread: 46741] [blf] [info] DummyBlock i = 8
[2023-03-02 15:00:12.387] [thread: 46742] [blf] [info] DummyBlock i = 7
[2023-03-02 15:00:12.388] [thread: 46741] [blf] [info] DummyBlock i = 9
[2023-03-02 15:00:12.388] [thread: 46742] [blf] [info] DummyBlock i = 8
[2023-03-02 15:00:12.389] [thread: 46741] [blf] [info] DummyBlock i = 10
[2023-03-02 15:00:12.389] [thread: 46742] [blf] [info] DummyBlock i = 9
[2023-03-02 15:00:12.390] [thread: 46741] [blf] [info] DummyBlock i = 11
[2023-03-02 15:00:12.390] [thread: 46742] [blf] [info] DummyBlock i = 10
[2023-03-02 15:00:12.390] [thread: 46737] [blf] [info] Runner0 : Number of deadline miss 0
[2023-03-02 15:00:12.390] [thread: 46737] [blf] [info] Runner1 : Number of deadline miss 0
[2023-03-02 15:00:12.391] [thread: 46741] [blf] [info] [AdvanceableRunner::run] - Runner: Closing the AdvanceableRunner.
[2023-03-02 15:00:12.391] [thread: 46741] [blf] [info] [AdvanceableRunner::run] - Runner: Number of deadline miss 0.
[2023-03-02 15:00:12.391] [thread: 46742] [blf] [info] [AdvanceableRunner::run] - Runner: Closing the AdvanceableRunner.
[2023-03-02 15:00:12.391] [thread: 46742] [blf] [info] [AdvanceableRunner::run] - Runner: Number of deadline miss 0.
===============================================================================
All tests passed (20 assertions in 1 test case)

ThreadSanitizer: reported 1 warnings