From 7d81736d5459109a971cb8f298275ff8776c04d5 Mon Sep 17 00:00:00 2001 From: Yuri Goldfeld Date: Tue, 19 Dec 2023 22:07:04 -0800 Subject: [PATCH] This should apply to all consumers of ipc_shm_arena_lend lib; as opposed to individual tests that use it. So moved from there to here; was deleted recently from there. --- .github/workflows/main.yml | 5 ++--- ipc_shm_arena_lend | 2 +- test/suite/unit_test/sanitize/tsan/suppressions_clang.cfg | 1 - 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6c54ea6e0..7bae4b335 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -669,7 +669,7 @@ jobs: cd ${{ env.install-dir }}/bin mkdir -p logs/ipc_shm_arena_lend_link_test SUPP_DIR_A=${{ github.workspace }}/flow/src - # As of this writing there are certain harmless UBSAN triggers within jemalloc, and ipc_shm_arena_lend + # As of this writing there are certain harmless UBSAN, TSAN triggers within jemalloc, and ipc_shm_arena_lend # is the thing that depends on jemalloc, and of the `link_test`s this is the only one that links # ipc_shm_arena_lend (directly or otherwise). Hence compared to the other `link_test`s this adds the # ipc_shm_arena_lend suppression context. @@ -791,11 +791,10 @@ jobs: { cat $SUPP_DIR_A/${{ env.san-suppress-cfg-in-file1 }} $SUPP_DIR_A/${{ env.san-suppress-cfg-in-file2 }} \ > ${{ env.san-suppress-cfg-file }} 2> /dev/null; } || true if [ "$3" == '-shm-j' ]; then - # SHM-jemalloc mode => jemalloc is in fact exercised => suppress jemalloc stuff. (UBSAN) + # SHM-jemalloc mode => jemalloc is in fact exercised => suppress jemalloc stuff. (UBSAN, TSAN) SUPP_DIR_B=${{ github.workspace }}/ipc_shm_arena_lend/src { cat $SUPP_DIR_B/${{ env.san-suppress-cfg-in-file1 }} $SUPP_DIR_B/${{ env.san-suppress-cfg-in-file2 }} \ >> ${{ env.san-suppress-cfg-file }} 2> /dev/null; } || true - # On the other hand no TSAN suppressions needed. Cf. SHM-classic: elif [ "$3" == '-shm-c' ]; then # SHM-classic mode => TSAN gets confused by opposing process (e.g., client) allocating while current process # (e.g., accordingly, server) deallocates => false-positives when accessing SHM-mapped areas. (TSAN) diff --git a/ipc_shm_arena_lend b/ipc_shm_arena_lend index ab3dcb7a6..277de175b 160000 --- a/ipc_shm_arena_lend +++ b/ipc_shm_arena_lend @@ -1 +1 @@ -Subproject commit ab3dcb7a668142cdc5db34e8e98f01a07c2d9bd5 +Subproject commit 277de175b557acf2f3628225a94ce6bf88d82712 diff --git a/test/suite/unit_test/sanitize/tsan/suppressions_clang.cfg b/test/suite/unit_test/sanitize/tsan/suppressions_clang.cfg index 8c3a527de..b2ba51ff9 100644 --- a/test/suite/unit_test/sanitize/tsan/suppressions_clang.cfg +++ b/test/suite/unit_test/sanitize/tsan/suppressions_clang.cfg @@ -1,7 +1,6 @@ # Current version assumption: clang-15/16/17. # TODO: Explain these in detail. -race:je_arena* race:ipc::shm::arena_lend::Borrower_shm_pool_collection::open_shm_pool race:ipc::session::shm::arena_lend::Shm_session_data::register_borrower_collection race:ipc::session::shm::arena_lend::jemalloc::test::(anonymous namespace)::Test_client::~Test_client