Mesa (main): ci/lavapipe: Add a fractional run with ASan

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Aug 20 18:35:32 UTC 2021


Module: Mesa
Branch: main
Commit: 03e457bb1aaf6a0962f7bf5903366ba65428025a
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=03e457bb1aaf6a0962f7bf5903366ba65428025a

Author: Emma Anholt <emma at anholt.net>
Date:   Mon Jul 12 16:07:07 2021 +0100

ci/lavapipe: Add a fractional run with ASan

This catches use-after-frees and buffer overflows, but not leaks (which we
disable the checking for since the library gets dlclose()d and we end up
with useless backtraces).

Reviewed-by: Adam Jackson <ajax at redhat.com>
Acked-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8889>

---

 .../frontends/lavapipe/ci/deqp-lvp-asan-fails.txt  |  4 +++
 .../frontends/lavapipe/ci/deqp-lvp-asan-skips.txt  |  5 ++++
 src/gallium/frontends/lavapipe/ci/gitlab-ci.yml    | 32 ++++++++++++++++------
 3 files changed, 32 insertions(+), 9 deletions(-)

diff --git a/src/gallium/frontends/lavapipe/ci/deqp-lvp-asan-fails.txt b/src/gallium/frontends/lavapipe/ci/deqp-lvp-asan-fails.txt
new file mode 100644
index 00000000000..f97426b49b7
--- /dev/null
+++ b/src/gallium/frontends/lavapipe/ci/deqp-lvp-asan-fails.txt
@@ -0,0 +1,4 @@
+dEQP-VK.glsl.builtin.precision.pow.highp.vec2,Fail
+dEQP-VK.glsl.texture_functions.query.texturequerylod.sampler2d_fixed_fragment,Fail
+dEQP-VK.draw.multi_draw.mosaic.indexed_packed.max_draws.standard_stride.10_instances.offset_6,Crash
+dEQP-VK.draw.multi_draw.overlapping.indexed_packed.one_draw.standard_stride.no_instances.offset_6,Crash
diff --git a/src/gallium/frontends/lavapipe/ci/deqp-lvp-asan-skips.txt b/src/gallium/frontends/lavapipe/ci/deqp-lvp-asan-skips.txt
new file mode 100644
index 00000000000..86fec295de4
--- /dev/null
+++ b/src/gallium/frontends/lavapipe/ci/deqp-lvp-asan-skips.txt
@@ -0,0 +1,5 @@
+# Lots of timeouts
+dEQP-VK.texture.filtering.*.combinations.*
+dEQP-VK.binding_model.buffer_device_address.set3.depth3.*
+dEQP-VK.ssbo.layout.*instance_array
+dEQP-VK.tessellation.invariance.*
diff --git a/src/gallium/frontends/lavapipe/ci/gitlab-ci.yml b/src/gallium/frontends/lavapipe/ci/gitlab-ci.yml
index 77920b2cbe2..4dad2d6c4b3 100644
--- a/src/gallium/frontends/lavapipe/ci/gitlab-ci.yml
+++ b/src/gallium/frontends/lavapipe/ci/gitlab-ci.yml
@@ -1,4 +1,4 @@
-lavapipe-vk:
+.lavapipe-test:
   stage: software-renderer
   extends:
     - .test-vk
@@ -7,19 +7,33 @@ lavapipe-vk:
   variables:
     GPU_VERSION: lvp
     VK_DRIVER: lvp
-    DEQP_FRACTION: 10
     DEQP_EXPECTED_RENDERER: llvmpipe
 
-lavapipe-nir-stress:
+lavapipe-vk:
   stage: software-renderer
   extends:
-    - .test-vk
-    - .lavapipe-rules
-    - .deqp-test-vk
+    - .lavapipe-test
+  variables:
+    DEQP_FRACTION: 10
+
+lavapipe-nir-stress:
+  extends:
+    - .lavapipe-test
   variables:
-    GPU_VERSION: lvp
-    VK_DRIVER: lvp
     DEQP_FRACTION: 100
-    DEQP_EXPECTED_RENDERER: llvmpipe
     NIR_TEST_CLONE: "true"
     NIR_TEST_SERIALIZE: "true"
+
+lavapipe-vk-asan:
+  extends:
+    - .lavapipe-test
+  variables:
+    GPU_VERSION: lvp-asan
+    DEQP_FRACTION: 50
+    TEST_LD_PRELOAD: libasan.so.6
+    # Disable the leak checks, since the library gets dlclose()d and thus get
+    # totally useless leak reports.  We can still catch buffer overflows.
+    ASAN_OPTIONS: "detect_leaks=0"
+  needs:
+    - debian/x86_test-vk
+    - debian-testing-asan



More information about the mesa-commit mailing list