From 7596c6507e3ba76a0dc6c8620ad4b7457913d848 Mon Sep 17 00:00:00 2001 From: Wouter Deconinck Date: Tue, 4 Jul 2023 14:10:53 -0500 Subject: [PATCH] ci: asan and lsan suppressions (#722) ### Briefly, what does this PR introduce? This adds asan and lsan suppressions files for use in CI. ### What kind of change does this PR introduce? - [ ] Bug fix (issue #__) - [x] New feature (issue #__) - [ ] Documentation update - [ ] Other: __ ### Please check if this PR fulfills the following: - [ ] Tests for the changes have been added - [ ] Documentation has been added / updated - [x] Changes have been communicated to collaborators @veprbl ### Does this PR introduce breaking changes? What changes might users need to make to their code? No. ### Does this PR change default behavior? No. --------- Co-authored-by: Dmitry Kalinkin --- .github/asan.supp | 1 + .github/lsan.supp | 2 ++ .github/workflows/linux-eic-shell.yml | 22 +++++++++++----------- 3 files changed, 14 insertions(+), 11 deletions(-) create mode 100644 .github/asan.supp create mode 100644 .github/lsan.supp diff --git a/.github/asan.supp b/.github/asan.supp new file mode 100644 index 0000000000..df9eca023b --- /dev/null +++ b/.github/asan.supp @@ -0,0 +1 @@ +interceptor_via_lib:libCore.so diff --git a/.github/lsan.supp b/.github/lsan.supp new file mode 100644 index 0000000000..9c1c6ce369 --- /dev/null +++ b/.github/lsan.supp @@ -0,0 +1,2 @@ +leak:libCore.so +leak:edm4hep::*::createBuffers diff --git a/.github/workflows/linux-eic-shell.yml b/.github/workflows/linux-eic-shell.yml index b1550c3e40..ac30baa19a 100644 --- a/.github/workflows/linux-eic-shell.yml +++ b/.github/workflows/linux-eic-shell.yml @@ -33,8 +33,8 @@ jobs: CMAKE_BUILD_TYPE: Debug CXXFLAGS: -fprofile-instr-generate -fcoverage-mapping env: - ASAN_OPTIONS: malloc_context_size=20:detect_leaks=1:verify_asan_link_order=0:detect_stack_use_after_return=1:detect_odr_violation=0:new_delete_type_mismatch=0 - LSAN_OPTIONS: exitcode=0 + ASAN_OPTIONS: suppressions=${{ github.workspace }}/.github/asan.supp:malloc_context_size=20:detect_leaks=1:verify_asan_link_order=0:detect_stack_use_after_return=1:detect_odr_violation=0:new_delete_type_mismatch=0 + LSAN_OPTIONS: suppressions=${{ github.workspace }}/.github/lsan.supp:exitcode=0 steps: - uses: actions/checkout@v3 - name: Prepare ccache timestamp @@ -282,8 +282,8 @@ jobs: particle: [pi, e] detector_config: [arches, brycecanyon] env: - ASAN_OPTIONS: malloc_context_size=20:detect_leaks=1:verify_asan_link_order=0:detect_stack_use_after_return=1:detect_odr_violation=0:new_delete_type_mismatch=0 - LSAN_OPTIONS: exitcode=0 + ASAN_OPTIONS: suppressions=${{ github.workspace }}/.github/asan.supp:malloc_context_size=20:detect_leaks=1:verify_asan_link_order=0:detect_stack_use_after_return=1:detect_odr_violation=0:new_delete_type_mismatch=0 + LSAN_OPTIONS: suppressions=${{ github.workspace }}/.github/lsan.supp:exitcode=0 steps: - uses: actions/download-artifact@v3 with: @@ -301,7 +301,7 @@ jobs: export DETECTOR_CONFIG=${DETECTOR}_${{ matrix.detector_config }} export JANA_PLUGIN_PATH=$PWD/lib/EICrecon/plugins${JANA_PLUGIN_PATH:+:${JANA_PLUGIN_PATH}} chmod a+x bin/* - $PWD/bin/eicrecon -Ppodio:output_file=rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4hep.root -Pplugins=dump_flags,janadot -Pdump_flags:json=${{ matrix.particle }}_${{ matrix.detector_config }}_flags.json + $PWD/bin/eicrecon -Ppodio:output_file=rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root sim_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4hep.root -Pplugins=dump_flags,janadot -Pdump_flags:json=${{ matrix.particle }}_${{ matrix.detector_config }}_flags.json -Pjana:warmup_timeout=0 -Pjana:timeout=0 - uses: actions/upload-artifact@v3 with: name: eicrecon_rec_${{ matrix.particle }}_1GeV_20GeV_${{ matrix.detector_config }}.edm4eic.root @@ -329,8 +329,8 @@ jobs: particle: [e] detector_config: [ip6_extended] env: - ASAN_OPTIONS: malloc_context_size=20:detect_leaks=1:verify_asan_link_order=0:detect_stack_use_after_return=1:detect_odr_violation=0:new_delete_type_mismatch=0 - LSAN_OPTIONS: exitcode=0 + ASAN_OPTIONS: suppressions=${{ github.workspace }}/.github/asan.supp:malloc_context_size=20:detect_leaks=1:verify_asan_link_order=0:detect_stack_use_after_return=1:detect_odr_violation=0:new_delete_type_mismatch=0 + LSAN_OPTIONS: suppressions=${{ github.workspace }}/.github/lsan.supp:exitcode=0 steps: - uses: actions/download-artifact@v3 with: @@ -348,7 +348,7 @@ jobs: export DETECTOR_CONFIG=${DETECTOR}_${{ matrix.detector_config }} export JANA_PLUGIN_PATH=$PWD/lib/EICrecon/plugins${JANA_PLUGIN_PATH:+:${JANA_PLUGIN_PATH}} chmod a+x bin/* - $PWD/bin/eicrecon -Ppodio:output_file=rec_${{ matrix.particle }}_EcalLumiSpec_${{ matrix.detector_config }}.edm4eic.root sim_${{ matrix.particle }}_EcalLumiSpec_${{ matrix.detector_config }}.edm4hep.root -Ppodio:output_include_collections=EcalLumiSpecRawHits,EcalLumiSpecRecHits,EcalLumiSpecClusters,EcalLumiSpecClusterAssociations -PLUMISPECCAL:EcalLumiSpecIslandProtoClusters:splitCluster=1 -Pplugins=dump_flags,janadot -Pdump_flags:json=${{ matrix.particle }}_${{ matrix.detector_config }}_flags.json + $PWD/bin/eicrecon -Ppodio:output_file=rec_${{ matrix.particle }}_EcalLumiSpec_${{ matrix.detector_config }}.edm4eic.root sim_${{ matrix.particle }}_EcalLumiSpec_${{ matrix.detector_config }}.edm4hep.root -Ppodio:output_include_collections=EcalLumiSpecRawHits,EcalLumiSpecRecHits,EcalLumiSpecClusters,EcalLumiSpecClusterAssociations -PLUMISPECCAL:EcalLumiSpecIslandProtoClusters:splitCluster=1 -Pplugins=dump_flags,janadot -Pdump_flags:json=${{ matrix.particle }}_${{ matrix.detector_config }}_flags.json -Pjana:warmup_timeout=0 -Pjana:timeout=0 - uses: actions/upload-artifact@v3 with: name: eicrecon_rec_${{ matrix.particle }}_EcalLumiSpec_${{ matrix.detector_config }}.edm4eic.root @@ -380,8 +380,8 @@ jobs: - beam: 5x41 minq2: 1000 env: - ASAN_OPTIONS: malloc_context_size=20:detect_leaks=1:verify_asan_link_order=0:detect_stack_use_after_return=1:detect_odr_violation=0:new_delete_type_mismatch=0 - LSAN_OPTIONS: exitcode=0 + ASAN_OPTIONS: suppressions=${{ github.workspace }}/.github/asan.supp:malloc_context_size=20:detect_leaks=1:verify_asan_link_order=0:detect_stack_use_after_return=1:detect_odr_violation=0:new_delete_type_mismatch=0 + LSAN_OPTIONS: suppressions=${{ github.workspace }}/.github/lsan.supp:exitcode=0 steps: - uses: actions/download-artifact@v3 with: @@ -399,7 +399,7 @@ jobs: export DETECTOR_CONFIG=${DETECTOR}_${{ matrix.detector_config }} export JANA_PLUGIN_PATH=$PWD/lib/EICrecon/plugins${JANA_PLUGIN_PATH:+:${JANA_PLUGIN_PATH}} chmod a+x bin/* - $PWD/bin/eicrecon -Ppodio:output_file=rec_dis_${{matrix.beam}}_${{ matrix.detector_config }}.edm4eic.root sim_dis_${{matrix.beam}}_minQ2=${{matrix.minq2}}_${{ matrix.detector_config }}.edm4hep.root -Pplugins=janadot + $PWD/bin/eicrecon -Ppodio:output_file=rec_dis_${{matrix.beam}}_${{ matrix.detector_config }}.edm4eic.root sim_dis_${{matrix.beam}}_minQ2=${{matrix.minq2}}_${{ matrix.detector_config }}.edm4hep.root -Pplugins=janadot -Pjana:warmup_timeout=0 -Pjana:timeout=0 - uses: actions/upload-artifact@v3 with: name: rec_dis_${{matrix.beam}}_minQ2=${{matrix.minq2}}_${{ matrix.detector_config }}.edm4eic.root