All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,  Thomas Huth <thuth@redhat.com>,
	 "open list:Virt" <qemu-arm@nongnu.org>
Subject: Re: [PULL 23/32] tests/functional: extend test_aarch64_virt with vulkan test
Date: Mon, 17 Feb 2025 17:00:16 +0000	[thread overview]
Message-ID: <875xl8ld5r.fsf@draig.linaro.org> (raw)
In-Reply-To: <CAFEAcA8Kf4eF-nxEsxhPZnV3pwU+9kXLq1zXDi61ODQEQXaAYw@mail.gmail.com> (Peter Maydell's message of "Mon, 17 Feb 2025 16:30:22 +0000")

Peter Maydell <peter.maydell@linaro.org> writes:

> On Fri, 10 Jan 2025 at 13:23, Alex Bennée <alex.bennee@linaro.org> wrote:
>> Now that we have virtio-gpu Vulkan support, let's add a test for it.
>> Currently this is using images build by buildroot:
>>
>>   https://lists.buildroot.org/pipermail/buildroot/2024-December/768196.html
>>
>> Reviewed-by: Thomas Huth <thuth@redhat.com>
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> Message-Id: <20250108121054.1126164-24-alex.bennee@linaro.org>
>
> Hi; this test currently fails for me with a clang sanitizer
> build (ubuntu 24.04 host). It seems to run weston in the guest,
> which fails with:
>
> 2025-02-17 16:11:10,218: [16:11:10.672] Command line: weston -B
> headless --renderer gl --shell kiosk -- vkmark -b:duration=1.0
> 2025-02-17 16:11:10,224: [16:11:10.675] OS: Linux, 6.11.10, #2 SMP Thu
> Dec  5 16:27:12 GMT 2024, aarch64
> 2025-02-17 16:11:10,225: [16:11:10.680] Flight recorder: enabled
> 2025-02-17 16:11:10,226: [16:11:10.681] warning: XDG_RUNTIME_DIR
> "/tmp" is not configured
> 2025-02-17 16:11:10,226: correctly.  Unix access mode must be 0700
> (current mode is 0777),
> 2025-02-17 16:11:10,226: and must be owned by the user UID 0 (current
> owner is UID 0).
> 2025-02-17 16:11:10,227: Refer to your distribution on how to get it, or
> 2025-02-17 16:11:10,227:
> http://www.freedesktop.org/wiki/Specifications/basedir-spec
> 2025-02-17 16:11:10,228: on how to implement it.
> 2025-02-17 16:11:10,240: [16:11:10.695] Starting with no config file.
> 2025-02-17 16:11:10,253: [16:11:10.707] Output repaint window is 7 ms maximum.
> 2025-02-17 16:11:10,262: [16:11:10.716] Loading module
> '/usr/lib/libweston-14/headless-backend.so'
> 2025-02-17 16:11:10,313: [16:11:10.768] Loading module
> '/usr/lib/libweston-14/gl-renderer.so'
> 2025-02-17 16:11:21,858: libEGL warning: egl: failed to create dri2 screen
> 2025-02-17 16:11:21,959: libEGL warning: egl: failed to create dri2 screen
> 2025-02-17 16:11:22,023: libEGL warning: egl: failed to create dri2 screen
> 2025-02-17 16:11:22,032: [16:11:22.486] failed to initialize display
> 2025-02-17 16:11:22,033: [16:11:22.488] EGL error state:
> EGL_NOT_INITIALIZED (0x3001)
> 2025-02-17 16:11:22,036: [16:11:22.490] fatal: failed to create
> compositor backend

I guess we can catch that in the test case and fail the test.

>
> Then eventually the test framework times it ou and sends it
> a SIGTERM, and QEMU SEGVs inside libEGL trying to run an
> exit handler:
>
> qemu-system-aarch64: terminating on signal 15 from pid 242824
> (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-clang/pyvenv/bin/python3)
> UndefinedBehaviorSanitizer:DEADLYSIGNAL
> ==243045==ERROR: UndefinedBehaviorSanitizer: SEGV on unknown address
> 0x73fbfefe6a31 (pc 0x73fbba9788e9 bp 0x73fbbbe0af80 sp 0x7ffd676fbfe0
> T243045)
> ==243045==The signal is caused by a READ memory access.
>     #0 0x73fbba9788e9
> (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x15788e9)
> (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db)
>     #1 0x73fbbaafc178
> (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x16fc178)
> (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db)
>     #2 0x73fbba62564f
> (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x122564f)
> (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db)
>     #3 0x73fbbab067d7
> (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x17067d7)
> (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db)
>     #4 0x73fbba63b786
> (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x123b786)
> (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db)
>     #5 0x73fbba96290a
> (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x156290a)
> (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db)
>     #6 0x73fbba941c5c
> (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x1541c5c)
> (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db)
>     #7 0x73fbc2041f20
> (/lib/x86_64-linux-gnu/libEGL_nvidia.so.0+0x41f20) (BuildId:
> 6cd9e3e571aa104d4fa5512a5c7196617fea6b51)
>     #8 0x73fbc2041f68
> (/lib/x86_64-linux-gnu/libEGL_nvidia.so.0+0x41f68) (BuildId:
> 6cd9e3e571aa104d4fa5512a5c7196617fea6b51)
>     #9 0x73fbc2034ca9
> (/lib/x86_64-linux-gnu/libEGL_nvidia.so.0+0x34ca9) (BuildId:
> 6cd9e3e571aa104d4fa5512a5c7196617fea6b51)
>     #10 0x73fbc203ae90
> (/lib/x86_64-linux-gnu/libEGL_nvidia.so.0+0x3ae90) (BuildId:
> 6cd9e3e571aa104d4fa5512a5c7196617fea6b51)
>     #11 0x73fbc203aeda
> (/lib/x86_64-linux-gnu/libEGL_nvidia.so.0+0x3aeda) (BuildId:
> 6cd9e3e571aa104d4fa5512a5c7196617fea6b51)
>     #12 0x73fbc20a45f5
> (/lib/x86_64-linux-gnu/libEGL_nvidia.so.0+0xa45f5) (BuildId:
> 6cd9e3e571aa104d4fa5512a5c7196617fea6b51)
>     #13 0x73fbc20a2bfc
> (/lib/x86_64-linux-gnu/libEGL_nvidia.so.0+0xa2bfc) (BuildId:
> 6cd9e3e571aa104d4fa5512a5c7196617fea6b51)
>     #14 0x73fbd3047a75 in __run_exit_handlers stdlib/exit.c:108:8

Ok - interesting that we can corrupt the nVidia state so much it dies on
cleanup. I'll try and replicate with my intel setup.

>     #15 0x73fbd3047bbd in exit stdlib/exit.c:138:3
>     #16 0x5a5bab5e3fdb in qemu_default_main
> /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-clang/../../system/main.c:52:5
>     #17 0x5a5bab5e3f9e in main
> /mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-clang/../../system/main.c:76:9
>     #18 0x73fbd302a1c9 in __libc_start_call_main
> csu/../sysdeps/nptl/libc_start_call_main.h:58:16
>     #19 0x73fbd302a28a in __libc_start_main csu/../csu/libc-start.c:360:3
>     #20 0x5a5ba9c5b554 in _start
> (/mnt/nvmedisk/linaro/qemu-from-laptop/qemu/build/arm-clang/qemu-system-aarch64+0x15dc554)
> (BuildId: 8efda3601b42aa2644dde35d1d63f7b22b649a33)
>
> UndefinedBehaviorSanitizer can not provide additional info.
> SUMMARY: UndefinedBehaviorSanitizer: SEGV
> (/lib/x86_64-linux-gnu/libnvidia-eglcore.so.535.183.01+0x15788e9)
> (BuildId: 24b0d0b90369112e3de888a93eb8d7e00304a6db)
> ==243045==ABORTING
>
> thanks
> -- PMM

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro

  reply	other threads:[~2025-02-17 17:00 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-10 13:17 [PULL 00/32] testing updates for 10.0 (tuxrun, libvirt, dockerfiles, misc) Alex Bennée
2025-01-10 13:17 ` [PULL 01/32] tests/functional: update the arm tuxrun tests Alex Bennée
2025-01-10 13:17 ` [PULL 02/32] tests/functional: update the i386 " Alex Bennée
2025-01-10 13:17 ` [PULL 03/32] tests/functional: add a m68k " Alex Bennée
2025-01-10 13:17 ` [PULL 04/32] tests/functional: update the mips32 " Alex Bennée
2025-01-10 13:17 ` [PULL 05/32] tests/functional: update the mips32el " Alex Bennée
2025-01-10 13:17 ` [PULL 06/32] tests/functional: update the mips64 " Alex Bennée
2025-01-10 13:17 ` [PULL 07/32] tests/functional: update the mips64el " Alex Bennée
2025-01-10 13:17 ` [PULL 08/32] tests/functional: update the ppc32 " Alex Bennée
2025-01-10 13:17 ` [PULL 09/32] tests/functional: update the ppc64 " Alex Bennée
2025-01-10 13:17 ` [PULL 10/32] tests/functional: update the riscv32 " Alex Bennée
2025-01-10 13:17 ` [PULL 11/32] tests/functional: update the riscv64 " Alex Bennée
2025-01-10 13:17 ` [PULL 12/32] tests/functional: update the s390x " Alex Bennée
2025-01-10 13:17 ` [PULL 13/32] tests/functional: update the sparc64 " Alex Bennée
2025-01-10 13:17 ` [PULL 14/32] tests/functional: update the x86_64 " Alex Bennée
2025-01-10 13:17 ` [PULL 15/32] tests/functional/aarch64: add tests for FEAT_RME Alex Bennée
2025-01-24 13:29   ` Thomas Huth
2025-01-24 16:18     ` Pierrick Bouvier
2025-01-25 23:05       ` Alex Bennée
2025-01-10 13:17 ` [PULL 16/32] tests/qtest: remove clock_steps from virtio tests Alex Bennée
2025-01-10 13:17 ` [PULL 17/32] system/qtest: properly feedback results of clock_[step|set] Alex Bennée
2025-01-10 13:17 ` [PULL 18/32] tests/functional: remove hacky sleep from the tests Alex Bennée
2025-01-10 13:17 ` [PULL 19/32] tests/functional: add zstd support to uncompress utility Alex Bennée
2025-01-10 13:17 ` [PULL 20/32] tests/functional: update tuxruntest to use " Alex Bennée
2025-01-10 13:17 ` [PULL 21/32] tests/functional: remove unused kernel_command_line Alex Bennée
2025-01-10 13:17 ` [PULL 22/32] tests/functional: bail aarch64_virt tests early if missing TCG Alex Bennée
2025-01-10 13:17 ` [PULL 23/32] tests/functional: extend test_aarch64_virt with vulkan test Alex Bennée
2025-02-17 16:30   ` Peter Maydell
2025-02-17 17:00     ` Alex Bennée [this message]
2025-02-18  6:34     ` Thomas Huth
2025-02-18 10:06       ` Alex Bennée
2025-02-19 13:25   ` Philippe Mathieu-Daudé
2025-02-19 13:43     ` Thomas Huth
2025-02-19 13:52       ` Philippe Mathieu-Daudé
2025-01-10 13:17 ` [PULL 24/32] tests/lcitool: bump to latest version of libvirt-ci Alex Bennée
2025-01-10 13:17 ` [PULL 25/32] tests/docker: move riscv64 cross container from sid to trixie Alex Bennée
2025-01-10 13:17 ` [PULL 26/32] tests/lcitool: remove temp workaround for debian mips64el Alex Bennée
2025-01-10 13:17 ` [PULL 27/32] tests/vm: fix build_path based path Alex Bennée
2025-01-10 13:17 ` [PULL 28/32] tests/vm: partially un-tabify help output Alex Bennée
2025-01-10 13:17 ` [PULL 29/32] tests/vm: allow interactive login as root Alex Bennée
2025-01-10 13:17 ` [PULL 30/32] pc-bios: ensure keymaps dependencies set vnc tests Alex Bennée
2025-01-10 13:17 ` [PULL 31/32] dockerfiles: Remove 'MAINTAINER' entry in debian-tricore-cross.docker Alex Bennée
2025-01-10 13:17 ` [PULL 32/32] MAINTAINERS: Remove myself from reviewers Alex Bennée
2025-01-10 18:38 ` [PULL 00/32] testing updates for 10.0 (tuxrun, libvirt, dockerfiles, misc) Stefan Hajnoczi
2025-01-11 12:16   ` Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875xl8ld5r.fsf@draig.linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.