weston/tests
Pekka Paalanen 3179e0f0e0 CI: work around LeakSanitizer crashes with use_tls=0
Without this fix, we have randomly been getting CI failures due to
LeakSanitizer itself crashing after all the tests in a program have
succeeded. This has been happening randomly for a long time, but
https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1486
made it very reliably repeatable in the job x86_64-debian-full-build
(and no other job) in the test-subsurface-shot program.

--- Fixture 2 (GL) ok: passed 4, skipped 0, failed 0, total 4
Tracer caught signal 11: addr=0x1b8 pc=0x7f6b3ba640f0 sp=0x7f6b2cc77d10
==489==LeakSanitizer has encountered a fatal error.

I was also able to get a core file after twiddling, but there it ended
up with lsan aborting itself rather than a segfault.

We got some clues that use_tls=0 might work around this, from
https://github.com/google/sanitizers/issues/1342
https://github.com/google/sanitizers/issues/1409
and some other projects that have cargo-culted the same workaround.

Using that cause more false leaks to appear, so they need to be
suppressed. I suppose we are not interested in catching leaks in glib
using code, so I opted to suppress g_malloc0 altogether. Pinpointing it
better might have required much more slower stack tracing.

wl_shm_buffer_begin_access() uses TLS, so no wonder it gets flagged.

ld-*.so is simply uninteresting to us, and it got flagged too.

Since this might have been fixed already in LeakSanitizer upstream, who
knows, leave some notes to revisit this when we upgrade that in CI.

This fix seems to make the branch of
https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1486
in my quick testing.

Suggested-by: Derek Foreman <derek.foreman@collabora.com>
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com>
2024-04-09 17:29:00 +03:00
..
reference tests/color-icc-output: add ICC VCGT tests 2023-04-27 10:37:38 +00:00
visualization tests/alpha-blending: replace compare_float() with rgb_diff_stat 2022-06-30 09:08:32 +00:00
alpha-blending-test.c tests: Only wait for frame callback when necessary 2024-02-22 14:26:32 +00:00
assert-test.c color-lcms: changes to the parameters of translate_curve_element() 2024-03-26 11:23:26 +00:00
bad-buffer-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
buffer-transforms-test.c tests: Only wait for frame callback when necessary 2024-02-22 14:26:32 +00:00
color_util.c tests/color-icc-output: add ICC VCGT tests 2023-04-27 10:37:38 +00:00
color_util.h tests/color-icc-output: add ICC VCGT tests 2023-04-27 10:37:38 +00:00
color-icc-output-test.c tests: reduce tolerance of sRGB->BT2020 MAT test 2024-03-26 11:23:26 +00:00
color-lcms-optimizer-test.c tests: add color pipeline optimizer tests 2023-06-29 11:08:40 +00:00
color-management-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
color-metadata-errors-test.c color: rename get_stock_sRGB_color_profile to ref_stock_sRGB_color_profile 2024-02-23 16:46:39 +02:00
color-metadata-parsing-test.c tests: use enum weston_renderer_type 2023-01-18 14:16:41 +01:00
config-parser-test.c tests: Use memstream for config-parser test 2022-07-05 10:15:49 +01:00
constraints-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
custom-env-test.c custom-env: Add helper to parse combined env/arg strings 2022-07-19 14:12:37 +00:00
devices-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
drm-formats-test.c drm-formats: add weston_drm_format_array_count_pairs() 2021-11-25 10:47:45 -03:00
drm-smoke-test.c drm-smoke-test: Explicitly set-up the output name DRM test 2023-01-25 17:55:39 +00:00
drm-writeback-screenshot-test.c tests: make use of helpers to create unique filenames 2024-02-12 14:10:44 +00:00
event-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
image-iter.h tests/color-icc-output: extract image-iter.h 2022-06-16 08:52:12 +00:00
input-timestamps-helper.c tests: replace fprintf() with testlog() 2019-11-22 12:54:10 +02:00
input-timestamps-helper.h tests: Introduce input timestamps helper 2018-02-20 10:20:29 +02:00
internal-screenshot-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
iterate-debug-scopes-test.c libweston/weston-log: Add a iterator helper for debug scope 2023-05-30 11:05:14 +00:00
ivi-layout-internal-test.c tests: remove unnecessary weston.h includes 2023-12-18 15:34:26 +00:00
ivi-layout-test-client.c tests: ivi-shell: prepare for API simplification 2023-04-19 09:38:09 +03:00
ivi-layout-test-plugin.c Rename compositor/ to frontend/ 2023-12-18 15:34:26 +00:00
ivi-shell-app-test.c tests: fix leak in ivi-shell-app-test 2021-06-16 14:41:08 +00:00
ivi-test.h ivi-shell: implement surface_on_many_layer test 2016-06-29 11:32:23 +03:00
keyboard-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
lcms_util.c tests: move functions that create ICC profiles to lcms_util.c 2024-02-12 14:10:44 +00:00
lcms_util.h tests: move functions that create ICC profiles to lcms_util.c 2024-02-12 14:10:44 +00:00
lcms-util-test.c tests: add lcms-util with MPE curves 2022-06-03 10:22:25 +00:00
linux-explicit-synchronization-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
matrix-test.c tests: add matrix-test for CI 2022-05-31 12:26:09 +00:00
matrix-transform-test.c libweston: Use weston_coord in struct weston_output 2023-06-12 16:55:22 -05:00
meson.build CI: work around LeakSanitizer crashes with use_tls=0 2024-04-09 17:29:00 +03:00
output-capture-protocol-test.c tests: use enum weston_renderer_type 2023-01-18 14:16:41 +01:00
output-damage-test.c tests: Only wait for frame callback when necessary 2024-02-22 14:26:32 +00:00
output-decorations-test.c tests: use enum weston_renderer_type 2023-01-18 14:16:41 +01:00
output-transforms-test.c tests: Only wait for frame callback when necessary 2024-02-22 14:26:32 +00:00
paint-node-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
plugin-registry-test.c tests: remove unnecessary weston.h includes 2023-12-18 15:34:26 +00:00
pointer-shot-test.c tests: Only wait for frame callback when necessary 2024-02-22 14:26:32 +00:00
pointer-test.c tests: Only wait for frame callback when necessary 2024-02-22 14:26:32 +00:00
presentation-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
roles-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
safe-signal-output-removal-test.c replace weston_signal_emit_mutable with wl_signal_emit_mutable 2023-12-04 11:37:17 +02:00
safe-signal-test.c replace weston_signal_emit_mutable with wl_signal_emit_mutable 2023-12-04 11:37:17 +02:00
setbacklight.c tests: Update boilerplate from MIT X11 license to MIT Expat license 2015-06-15 13:04:19 -07:00
single-pixel-buffer-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
string-test.c tests: add missing include 2017-01-23 14:12:06 +02:00
subsurface-shot-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
subsurface-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
surface-global-test.c tests: remove unnecessary weston.h includes 2023-12-18 15:34:26 +00:00
surface-screenshot-test.c Rename compositor/ to frontend/ 2023-12-18 15:34:26 +00:00
surface-test.c tests: remove unnecessary weston.h includes 2023-12-18 15:34:26 +00:00
text-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
timespec-test.c Unify the include style of shared/ headers 2019-10-04 16:04:48 +03:00
touch-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
vertex-clip-test.c tests: Add box32 quad clipper tests 2024-02-06 09:21:11 +00:00
viewporter-shot-test.c tests: Only wait for frame callback when necessary 2024-02-22 14:26:32 +00:00
viewporter-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
weston-test-client-helper.c tests: Only wait for frame callback when necessary 2024-02-22 14:26:32 +00:00
weston-test-client-helper.h tests: Only wait for frame callback when necessary 2024-02-22 14:26:32 +00:00
weston-test-desktop-shell.c Rename compositor/ to frontend/ 2023-12-18 15:34:26 +00:00
weston-test-fixture-compositor.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
weston-test-fixture-compositor.h tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00
weston-test-runner.c tests: add helpers to create unique filenames 2024-02-12 14:10:44 +00:00
weston-test-runner.h tests: add helpers to create unique filenames 2024-02-12 14:10:44 +00:00
weston-test.c Rename compositor/ to frontend/ 2023-12-18 15:34:26 +00:00
weston-testsuite-data.h tests: Add client<->compositor breakpoint support 2023-06-30 11:42:00 +00:00
xcb-client-helper.c tests/xwayland: Enable xwayland XWM debug log scope and more debug 2023-03-28 12:45:13 +03:00
xcb-client-helper.h xcb-client-helper: Add a XCB client helper for tests 2023-03-03 08:30:46 +00:00
xwayland-test.c tests/xwayland: Ensure $DISPLAY is correctly set 2023-06-19 21:32:47 +01:00
yuv-buffer-test.c tests: Speed up runtime using immediate repaint on capture 2024-02-22 14:26:32 +00:00