test_framebuffer_get_bits fails with Mesa 23.1.1
Building Mutter 44.2 for Arch Linux I ran into a test failure:
67/180 mutter:cogl+cogl/conform / cogl-test-framebuffer-get-bits-gl3 FAIL 1.08s (exit status 250 or signal 122 SIGinvalid)
>>> MALLOC_PERTURB_=23 G_TEST_BUILDDIR=/build/mutter/src/build/src/tests/cogl/conform G_ENABLE_DIAGNOSTIC=0 COGL_DRIVER=gl3 MUTTER_TEST_PLUGIN_PATH=/build/mutter/src/build/src/compositor/plugins/libdefault.so LD_LIBRARY_PATH=/build/mutter/src/build/src:/build/mutter/src/build/cogl/cogl:/build/mutter/src/build/cogl/cogl-pango:/build/mutter/src/build/clutter/clutter:/build/mutter/src/build/src/tests G_TEST_SRCDIR=/build/mutter/src/mutter/src/tests/cogl/conform /build/mutter/src/mutter/src/tests/meta-dbus-runner.py -- /build/mutter/src/build/src/tests/cogl/conform/cogl-test-framebuffer-get-bits
――――――――――――――――――――――――――――――――――――― ✀ ―――――――――――――――――――――――――――――――――――――
stdout:
TAP version 13
# random seed: R02Sf6bb4779c2f5f8acb54b9d614753cb7a
# GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation memory (GMemorySettingsBackend) for ‘gsettings-backend’
# libmutter-MESSAGE: Running Mutter Test (using mutter 44.1) as a Wayland display server
# libmutter-MESSAGE: Created surfaceless renderer without GPU
# GLib-GIO-DEBUG: _g_io_module_get_default: Found default implementation local (GLocalVfs) for ‘gio-vfs’
# libmutter-MESSAGE: Disabling DMA buffer screen sharing (not hardware accelerated)
# libmutter-MESSAGE: Disabling DMA buffer screen sharing (implicit modifiers not supported)
# libmutter-DEBUG: WL: loaded libnvidia-egl-wayland.so.1:wl_eglstream_controller.
# libmutter-MESSAGE: Using Wayland display name 'mutter-test-display'
1..1
# Start of framebuffer tests
not ok /framebuffer/get-bits - ERROR:../mutter/src/tests/cogl/conform/test-framebuffer-get-bits.c:39:test_framebuffer_get_bits: assertion failed (cogl_framebuffer_get_alpha_bits (fb_a) >= 1): (0 >= 1)
Bail out!
stderr:
Starting D-Bus daemons (session & system)...
Launching required services...
Starting mocked services...
Running test case...
Window manager warning: Failed to set environment variable WAYLAND_DISPLAY for gnome-session: GDBus.Error:org.freedesktop.DBus.Error.NameHasNoOwner: Name "org.gnome.SessionManager" does not exist
**
ERROR:../mutter/src/tests/cogl/conform/test-framebuffer-get-bits.c:39:test_framebuffer_get_bits: assertion failed (cogl_framebuffer_get_alpha_bits (fb_a) >= 1): (0 >= 1)
(This log is actually from me rebuilding 44.1 to check for a regression in Mutter, but the error is the same.)
Downgrading Mesa from 23.1.1 to 23.0.3 makes the failure disappear.
This is a build container without a GPU.