diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 7df8f4b7..80bf5d63 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -10,10 +10,10 @@ jobs: matrix: build-type: [ Release, RelWithDebInfo ] compiler: [ - { cxx: g++-11, pkgs: g++-11 libtbb-dev }, - { cxx: g++-12, pkgs: g++-12 libtbb-dev }, - { cxx: clang++-14, pkgs: clang-14 libtbb-dev }, - { cxx: clang++-15, pkgs: clang-15 libtbb-dev }, + { cxx: g++-11, pkgs: g++-11 libtbb-dev gdb }, + { cxx: g++-12, pkgs: g++-12 libtbb-dev gdb }, + { cxx: clang++-14, pkgs: clang-14 libtbb-dev gdb }, + { cxx: clang++-15, pkgs: clang-15 libtbb-dev gdb }, ] defaults: @@ -43,7 +43,7 @@ jobs: run: cmake --build . --parallel - name: run-tests - run: ctest --output-on-failure --schedule-random + run: gdb -ex run ./unit_tests --args schedule-random - name: install run: sudo cmake --install . diff --git a/.github/workflows/sanitizers.yml b/.github/workflows/sanitizers.yml index d92e1e44..acaafa87 100644 --- a/.github/workflows/sanitizers.yml +++ b/.github/workflows/sanitizers.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - sanitizer: [ address, undefined ] + sanitizer: [ address, undefined, thread ] include: - cxx: clang++-15 pkgs: clang-15 llvm-15 libtbb-dev diff --git a/.tsan-supressions b/.tsan-supressions index f312e500..4e6dadfe 100644 --- a/.tsan-supressions +++ b/.tsan-supressions @@ -1,7 +1,3 @@ -# Suppress warnings from Intel TBB -# (libstdc++ uses TBB to implement the parallel std algorithms) - -# clang race:^tbb::detail::d1::node::node race:^tbb::detail::d1::tree_node::tree_node @@ -12,12 +8,4 @@ race:^tbb::detail::d1::auto_partition_type::is_divisible race:tbb::detail::d1::small_object_allocator::new_object race:tbb::detail::d1::small_object_allocator::delete_object -race:tbb::detail::d1::dynamic_grainsize_mode<*>::check_being_stolen - -race:^tbb::detail::d1::start_for<*>::finalize - -# This supression is just supposed to be the first one, but the function name isnt always displayed properly in the stack trace -race:^tbb::detail::d1::start_for<*>::offer_work -race:tbb::detail::d1::auto_partitioner const>::offer_work(tbb::detail::d0::split&, tbb::detail::d1::execution_data&) - -race:^tbb::detail::r1::isolate_within_arena \ No newline at end of file +race:tbb::detail::d1::dynamic_grainsize_mode<*>::check_being_stolen \ No newline at end of file