Message ID | 20250226140343.3907080-9-alex.bennee@linaro.org |
---|---|
State | New |
Headers | show |
Series | maintainer updates for 10.0 softfreeze (gpu/tcg tests, plugins, MAINTAINERS) | expand |
On 26/02/2025 15.03, Alex Bennée wrote: > While running the new GPU tests it was noted that the proprietary > nVidia driver barfed when run under the sanitiser: > > 2025-02-20 11:13:08,226: [11:13:07.782] Output 'headless' attempts > EOTF mode SDR and colorimetry mode default. > 2025-02-20 11:13:08,227: [11:13:07.784] Output 'headless' using color > profile: stock sRGB color profile > > and that's the last thing it outputs. > > The sanitizer reports that when the framework sends the SIGTERM > because of the timeout we get a write to a NULL pointer (but > interesting not this time in an atexit callback): > > UndefinedBehaviorSanitizer:DEADLYSIGNAL > ==471863==ERROR: UndefinedBehaviorSanitizer: SEGV on unknown address > 0x000000000000 (pc 0x7a18ceaafe80 bp 0x000000000000 sp 0x7ffe8e3ff6d0 > T471863) > ==471863==The signal is caused by a WRITE memory access. > ==471863==Hint: address points to the zero page. > #0 0x7a18ceaafe80 > (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x16afe80) > (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db) > #1 0x7a18ce9e72c0 > (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x15e72c0) > (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db) > #2 0x7a18ce9f11bb > (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x15f11bb) > (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db) > #3 0x7a18ce6dc9d1 > (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x12dc9d1) > (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db) > #4 0x7a18e7d15326 in vrend_renderer_create_fence > /usr/src/virglrenderer-1.0.0-1ubuntu2/obj-x86_64-linux-gnu/../src/vrend_renderer.c:10883:26 > #5 0x55bfb6621871 in virtio_gpu_virgl_process_cmd > > The #dri-devel channel confirmed: > > <digetx> stsquad: nv driver is known to not work with venus, don't use > it for testing > > So lets skip running the test to avoid known failures. > > Reported-by: Peter Maydell <peter.maydell@linaro.org> > Signed-off-by: Alex Bennée <alex.bennee@linaro.org> > Cc: Dmitry Osipenko <dmitry.osipenko@collabora.com> > > --- > v2 > - implement block at the test level > --- > tests/functional/test_aarch64_virt_gpu.py | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/tests/functional/test_aarch64_virt_gpu.py b/tests/functional/test_aarch64_virt_gpu.py > index 7a8471d1ca..a4ae5777e6 100755 > --- a/tests/functional/test_aarch64_virt_gpu.py > +++ b/tests/functional/test_aarch64_virt_gpu.py > @@ -9,8 +9,6 @@ > # > # SPDX-License-Identifier: GPL-2.0-or-later > > -import logging That hunk should likely be squashed into patch 1 instead? With that change: Reviewed-by: Thomas Huth <thuth@redhat.com>
diff --git a/tests/functional/test_aarch64_virt_gpu.py b/tests/functional/test_aarch64_virt_gpu.py index 7a8471d1ca..a4ae5777e6 100755 --- a/tests/functional/test_aarch64_virt_gpu.py +++ b/tests/functional/test_aarch64_virt_gpu.py @@ -9,8 +9,6 @@ # # SPDX-License-Identifier: GPL-2.0-or-later -import logging - from qemu.machine.machine import VMLaunchFailure from qemu_test import QemuSystemTest, Asset @@ -18,6 +16,10 @@ from qemu_test import wait_for_console_pattern from qemu_test import skipIfMissingCommands +from re import search +from subprocess import check_output + + class Aarch64VirtGPUMachine(QemuSystemTest): KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 ' timeout = 360 @@ -110,10 +112,16 @@ def test_aarch64_virt_with_virgl_blobs_gpu(self): self._run_virt_gpu_test(gpu_device, weston_cmd, weston_pattern) @skipIfMissingCommands('zstd') + @skipIfMissingCommands('vulkaninfo') def test_aarch64_virt_with_vulkan_gpu(self): self.require_device('virtio-gpu-gl-pci') + vk_info = check_output(["vulkaninfo", "--summary"], encoding="utf-8") + + if search(r"driverID\s+=\s+DRIVER_ID_NVIDIA_PROPRIETARY", vk_info): + self.skipTest("Test skipped on NVIDIA proprietary driver") + gpu_device = "virtio-gpu-gl-pci,hostmem=4G,blob=on,venus=on" weston_cmd = "vkmark -b:duration=1.0" weston_pattern = "vkmark Score"
While running the new GPU tests it was noted that the proprietary nVidia driver barfed when run under the sanitiser: 2025-02-20 11:13:08,226: [11:13:07.782] Output 'headless' attempts EOTF mode SDR and colorimetry mode default. 2025-02-20 11:13:08,227: [11:13:07.784] Output 'headless' using color profile: stock sRGB color profile and that's the last thing it outputs. The sanitizer reports that when the framework sends the SIGTERM because of the timeout we get a write to a NULL pointer (but interesting not this time in an atexit callback): UndefinedBehaviorSanitizer:DEADLYSIGNAL ==471863==ERROR: UndefinedBehaviorSanitizer: SEGV on unknown address 0x000000000000 (pc 0x7a18ceaafe80 bp 0x000000000000 sp 0x7ffe8e3ff6d0 T471863) ==471863==The signal is caused by a WRITE memory access. ==471863==Hint: address points to the zero page. #0 0x7a18ceaafe80 (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x16afe80) (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db) #1 0x7a18ce9e72c0 (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x15e72c0) (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db) #2 0x7a18ce9f11bb (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x15f11bb) (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db) #3 0x7a18ce6dc9d1 (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x12dc9d1) (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db) #4 0x7a18e7d15326 in vrend_renderer_create_fence /usr/src/virglrenderer-1.0.0-1ubuntu2/obj-x86_64-linux-gnu/../src/vrend_renderer.c:10883:26 #5 0x55bfb6621871 in virtio_gpu_virgl_process_cmd The #dri-devel channel confirmed: <digetx> stsquad: nv driver is known to not work with venus, don't use it for testing So lets skip running the test to avoid known failures. Reported-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Cc: Dmitry Osipenko <dmitry.osipenko@collabora.com> --- v2 - implement block at the test level --- tests/functional/test_aarch64_virt_gpu.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)