test regression in 42.4: Failed to open device '/dev/dri/card0': Permission denied
When adding v42.4 to Gentoo, I noticed that the test suite fails 28 tests. v42.3 passes all its tests. The failures look like:
77/104 mutter:core+mutter/stacking / basic-x11 FAIL 0.49s exit status 1
15:33:17 G_TEST_SRCDIR=/var/tmp/portage/x11-wm/mutter-42.4/work/mutter-42.4/src G_TEST_BUILDDIR=/var/tmp/portage/x11-wm/mutter-42.4/work/mutter-42.4-build MUTTER_DEBUG_DUMMY_MODE_SPECS=800x600@10.0 MUTTER_TEST_PLUGIN_PATH=/var/tmp/portage/x11-wm/mutter-42.4/work/mutter-42.4-build/src/compositor/plugins/libdefault.so MALLOC_PERTURB_=69 /var/tmp/portage/x11-wm/mutter-42.4/work/mutter-42.4/src/tests/meta-dbus-runner.py /usr/bin/xvfb-run -a -s '+iglx -noreset' /var/tmp/portage/x11-wm/mutter-42.4/work/mutter-42.4-build/src/tests/mutter-test-runner /var/tmp/portage/x11-wm/mutter-42.4/work/mutter-42.4-build/../mutter-42.4/src/tests/stacking/basic-x11.metatest
----------------------------------- output -----------------------------------
stdout:
# random seed: R02S4cd89e583db0436c3bd80cb6941190ee
# libmutter-MESSAGE: Running Mutter Test (using mutter 42.4) as a Wayland display server
Bail out! libmutter-FATAL-WARNING: Failed to open gpu '/dev/dri/card0': Failed to open device '/dev/dri/card0': Permission denied
stderr:
Starting D-Bus daemons (session & system)...
Starting mocked services...
Running test case...
libmutter-Message: 11:33:17.605: Running Mutter Test (using mutter 42.4) as a Wayland display server
(/var/tmp/portage/x11-wm/mutter-42.4/work/mutter-42.4-build/src/tests/mutter-test-runner:6978): libmutter-WARNING **: 11:33:17.607: Failed to open gpu '/dev/dri/card0': Failed to open device '/dev/dri/card0': Permission denied
/usr/bin/xvfb-run: line 184: 6978 Trace/breakpoint trap (core dumped) DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@"
Traceback (most recent call last):
File "/var/tmp/portage/x11-wm/mutter-42.4/work/mutter-42.4/src/tests/meta-dbus-runner.py", line 184, in <module>
test_case.wrap_call(rest[1:])
File "/var/tmp/portage/x11-wm/mutter-42.4/work/mutter-42.4/src/tests/meta-dbus-runner.py", line 171, in wrap_call
self.assertEqual(p.wait(), 0)
File "/usr/lib/python3.10/unittest/case.py", line 845, in assertEqual
assertion_func(first, second, msg=msg)
File "/usr/lib/python3.10/unittest/case.py", line 838, in _baseAssertEqual
raise self.failureException(msg)
AssertionError: 133 != 0
/dev/dri/card0
looks like:
% ls -lh /dev/dri/card0
crw-rw----+ 1 root video 226, 0 Jul 20 12:01 /dev/dri/card0
I've disabled Gentoo's sandbox, which I suspected might have prevented access to the device, but that didn't help. Our testing function looks like
gnome2_environment_reset # Avoid dconf that looks at XDG_DATA_DIRS, which can sandbox fail if flatpak is installed
glib-compile-schemas "${BUILD_DIR}"/data
GSETTINGS_SCHEMA_DIR="${BUILD_DIR}"/data meson_src_test --setup=CI
where meson_src_test
is just basically meson test -C "${BUILDDIR}"
.
My guess is that the tests begin failing in commit b30f18b9 but I have not bisected to confirm. Cc: @jadahl
Do I need to run the tests somehow differently in v42.4?testlog-CI.txt
Edited by Simon McVittie