[PATCH v2 09/35] gitlab: add lsan suppression file to workaround tcmalloc issues

Alex Bennée posted 35 patches 2 years, 5 months ago
[PATCH v2 09/35] gitlab: add lsan suppression file to workaround tcmalloc issues
Posted by Alex Bennée 2 years, 5 months ago
The up-coming upgrade to Fedora 37 will bring in libtcmalloc as a
dependency of libglusterfs which confuses our fuzz run. Rather than
disable the build lets use LSAN's suppression mechanism to prevent the
job from failing.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Cc: Daniel P. Berrangé <berrange@redhat.com>
---
 .gitlab-ci.d/buildtest.yml             | 1 +
 scripts/oss-fuzz/lsan_suppressions.txt | 2 ++
 2 files changed, 3 insertions(+)
 create mode 100644 scripts/oss-fuzz/lsan_suppressions.txt

diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index f09a898c3e..9a6ba1fe3b 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -511,6 +511,7 @@ build-oss-fuzz:
     IMAGE: fedora
   script:
     - mkdir build-oss-fuzz
+    - export LSAN_OPTIONS=suppressions=scripts/oss-fuzz/lsan_suppressions.txt
     - CC="clang" CXX="clang++" CFLAGS="-fsanitize=address"
       ./scripts/oss-fuzz/build.sh
     - export ASAN_OPTIONS="fast_unwind_on_malloc=0"
diff --git a/scripts/oss-fuzz/lsan_suppressions.txt b/scripts/oss-fuzz/lsan_suppressions.txt
new file mode 100644
index 0000000000..02ec0a6ed5
--- /dev/null
+++ b/scripts/oss-fuzz/lsan_suppressions.txt
@@ -0,0 +1,2 @@
+# The tcmalloc on Fedora37 confuses things
+leak:/lib64/libtcmalloc_minimal.so.4
-- 
2.34.1


Re: [PATCH v2 09/35] gitlab: add lsan suppression file to workaround tcmalloc issues
Posted by Philippe Mathieu-Daudé 2 years, 5 months ago
On 24/1/23 19:01, Alex Bennée wrote:
> The up-coming upgrade to Fedora 37 will bring in libtcmalloc as a
> dependency of libglusterfs which confuses our fuzz run. Rather than
> disable the build lets use LSAN's suppression mechanism to prevent the
> job from failing.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Daniel P. Berrangé <berrange@redhat.com>
> ---
>   .gitlab-ci.d/buildtest.yml             | 1 +
>   scripts/oss-fuzz/lsan_suppressions.txt | 2 ++
>   2 files changed, 3 insertions(+)
>   create mode 100644 scripts/oss-fuzz/lsan_suppressions.txt
> 
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index f09a898c3e..9a6ba1fe3b 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -511,6 +511,7 @@ build-oss-fuzz:
>       IMAGE: fedora
>     script:
>       - mkdir build-oss-fuzz
> +    - export LSAN_OPTIONS=suppressions=scripts/oss-fuzz/lsan_suppressions.txt
>       - CC="clang" CXX="clang++" CFLAGS="-fsanitize=address"
>         ./scripts/oss-fuzz/build.sh
>       - export ASAN_OPTIONS="fast_unwind_on_malloc=0"
> diff --git a/scripts/oss-fuzz/lsan_suppressions.txt b/scripts/oss-fuzz/lsan_suppressions.txt
> new file mode 100644
> index 0000000000..02ec0a6ed5
> --- /dev/null
> +++ b/scripts/oss-fuzz/lsan_suppressions.txt
> @@ -0,0 +1,2 @@
> +# The tcmalloc on Fedora37 confuses things
> +leak:/lib64/libtcmalloc_minimal.so.4

Maybe add a comment around Fedora37 in tests/lcitool/libvirt-ci
in the next patch "see workaround in scripts/oss-fuzz/lsan_suppressions.txt"
so we remember to remove it when updating again?

Otherwise,

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


Re: [PATCH v2 09/35] gitlab: add lsan suppression file to workaround tcmalloc issues
Posted by Thomas Huth 2 years, 5 months ago
On 24/01/2023 19.01, Alex Bennée wrote:
> The up-coming upgrade to Fedora 37 will bring in libtcmalloc as a
> dependency of libglusterfs which confuses our fuzz run. Rather than
> disable the build lets use LSAN's suppression mechanism to prevent the
> job from failing.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Daniel P. Berrangé <berrange@redhat.com>
> ---
>   .gitlab-ci.d/buildtest.yml             | 1 +
>   scripts/oss-fuzz/lsan_suppressions.txt | 2 ++
>   2 files changed, 3 insertions(+)
>   create mode 100644 scripts/oss-fuzz/lsan_suppressions.txt
> 
> diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
> index f09a898c3e..9a6ba1fe3b 100644
> --- a/.gitlab-ci.d/buildtest.yml
> +++ b/.gitlab-ci.d/buildtest.yml
> @@ -511,6 +511,7 @@ build-oss-fuzz:
>       IMAGE: fedora
>     script:
>       - mkdir build-oss-fuzz
> +    - export LSAN_OPTIONS=suppressions=scripts/oss-fuzz/lsan_suppressions.txt
>       - CC="clang" CXX="clang++" CFLAGS="-fsanitize=address"
>         ./scripts/oss-fuzz/build.sh
>       - export ASAN_OPTIONS="fast_unwind_on_malloc=0"
> diff --git a/scripts/oss-fuzz/lsan_suppressions.txt b/scripts/oss-fuzz/lsan_suppressions.txt
> new file mode 100644
> index 0000000000..02ec0a6ed5
> --- /dev/null
> +++ b/scripts/oss-fuzz/lsan_suppressions.txt
> @@ -0,0 +1,2 @@
> +# The tcmalloc on Fedora37 confuses things
> +leak:/lib64/libtcmalloc_minimal.so.4

Reviewed-by: Thomas Huth <thuth@redhat.com>