From 7e819b26194c1a5fafba070b581f9ae6c20f28f3 Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Wed, 30 Jul 2025 11:50:27 +0200 Subject: [PATCH] llvmpipe/ci: use weston's Xwayland instead of broken Xvfb MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `Xvfb` segfaults 100% of the time in the nightly `llvmpipe-full` job; not sure why the merge job `llvmpipe` wasn't affected, but also we have no reason to use Xvfb instead of Xwayland. Note that in 3 out of 50 runs, Xwayland also crashed with the same message; that's a much better percentage than the current state though 😇 (EE) Backtrace: (EE) 0: /usr/local/bin/Xwayland (0x55f43181a000+0x1ece97) [0x55f431a06e97] (EE) 1: /usr/local/bin/Xwayland (0x55f43181a000+0x1f0ad9) [0x55f431a0aad9] (EE) 2: /lib/x86_64-linux-gnu/libc.so.6 (0x7f1270c6a000+0x3c050) [0x7f1270ca6050] (EE) 3: /usr/local/bin/Xwayland (0x55f43181a000+0x174f62) [0x55f43198ef62] (EE) 4: /usr/local/bin/Xwayland (0x55f43181a000+0x14dcfa) [0x55f431967cfa] (EE) 5: /usr/local/bin/Xwayland (0x55f43181a000+0x14ee17) [0x55f431968e17] (EE) 6: /usr/local/bin/Xwayland (0x55f43181a000+0x1529ae) [0x55f43196c9ae] (EE) 7: /usr/local/bin/Xwayland (0x55f43181a000+0x147192) [0x55f431961192] (EE) 8: /usr/local/bin/Xwayland (0x55f43181a000+0x14a025) [0x55f431964025] (EE) 9: /usr/local/bin/Xwayland (0x55f43181a000+0x11640e) [0x55f43193040e] (EE) 10: /usr/local/bin/Xwayland (0x55f43181a000+0x11bc5e) [0x55f431935c5e] (EE) 11: /usr/local/bin/Xwayland (0x55f43181a000+0x11fc04) [0x55f431939c04] (EE) 12: /lib/x86_64-linux-gnu/libc.so.6 (0x7f1270c6a000+0x2724a) [0x7f1270c9124a] (EE) 13: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0x85) [0x7f1270c91305] (EE) 14: /usr/local/bin/Xwayland (0x55f43181a000+0xa2341) [0x55f4318bc341] (EE) (EE) Segmentation fault at address 0x4 (EE) Fatal server error: (EE) Caught signal 11 (Segmentation fault). Server aborting (EE) [00:39:05.907] /usr/local/bin/Xwayland died on signal 6 [00:39:05.908] xserver exited, will restart on demand That "will restart on demand" is clearly not working btw, not sure if that' Xwayland or weston doing something wrong, but I doubt it's anything on our side. A debug build of Xwayland would give us more info, but we don't want to run CI on a debug build, so that will be something to do in a fork build for whoever wants to investigate that: ```patch diff --git ./.gitlab-ci/container/build-xwayland.sh ./.gitlab-ci/container/build-xwayland.sh index 04072794727147baebf8..1b94b3c56d6948b1cece 100644 --- ./.gitlab-ci/container/build-xwayland.sh +++ ./.gitlab-ci/container/build-xwayland.sh @@ -23,7 +23,7 @@ git clone https://gitlab.freedesktop.org/xorg/xserver cd xserver git checkout "$XWAYLAND_VERSION" -meson setup _build ${EXTRA_MESON_ARGS:-} +meson setup _build ${EXTRA_MESON_ARGS:-} --buildtype debug meson install -C _build cd .. rm -rf xserver ``` Part-of: --- src/gallium/drivers/llvmpipe/ci/gitlab-ci.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/llvmpipe/ci/gitlab-ci.yml b/src/gallium/drivers/llvmpipe/ci/gitlab-ci.yml index 84160bb5f6f..e4b12d19fc9 100644 --- a/src/gallium/drivers/llvmpipe/ci/gitlab-ci.yml +++ b/src/gallium/drivers/llvmpipe/ci/gitlab-ci.yml @@ -32,7 +32,6 @@ llvmpipe-traces: llvmpipe: variables: DEQP_SUITE: llvmpipe - XVFB_SCRIPT: "install/deqp-runner.sh" DEQP_FRACTION: 4 extends: - .llvmpipe-deqp-test @@ -43,10 +42,13 @@ llvmpipe: export LIBGL_DRIVERS_PATH="$CI_PROJECT_DIR/install/lib/dri" section_start weston "weston: prepare" WAYLAND_DISPLAY=wayland-0 - weston --backend=headless-backend.so --socket="$WAYLAND_DISPLAY" --idle-time=0 & + export DISPLAY=:0 + mkdir -p /tmp/.X11-unix + weston --config="$CI_PROJECT_DIR/install/common/weston.ini" --socket="$WAYLAND_DISPLAY" & export WAYLAND_DISPLAY + while [ ! -S /tmp/.X11-unix/X0 ]; do sleep 1; done section_end weston - xvfb-run -e results/xvfb.log --server-args='-noreset' bash -c ". $SCRIPTS_DIR/setup-test-env.sh && ${XVFB_SCRIPT}" + $CI_PROJECT_DIR/install/deqp-runner.sh llvmpipe-full: extends: