Bug 14527 - virtgl test failures on ubuntu2004 workers
Summary: virtgl test failures on ubuntu2004 workers
Status: RESOLVED FIXED
Alias: None
Product: Functional (self) Testing
Classification: QA/Testing
Component: oe-selftest (show other bugs)
Version: unspecified
Hardware: x86 Multiple
: High normal
Target Milestone: 3.4 M4
Assignee: Michael Halstead
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2021-08-26 14:10 UTC by Richard Purdie
Modified: 2021-09-02 14:54 UTC (History)
3 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Richard Purdie 2021-08-26 14:10:15 UTC
oe-selftest runtime_test.TestImage.test_testimage_virgl_headless is failing on ubuntu2004 workers after the module changes akanavin requested, e.g.:

https://autobuilder.yoctoproject.org/typhoon/#/builders/87/builds/2482

This is happening for dunfell and hardknott builds as well as master
Comment 1 Steve Sakoman 2021-08-26 14:20:25 UTC
With dunfell I am also seeing the same issue with fedora31 workers:

https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/2443
Comment 2 Alexander Kanavin 2021-08-26 14:48:21 UTC
This should be fixed by adding pokybuild user to render group:

pokybuild@ubuntu2004-ty-1:~$ groups
pokybuild kvm
pokybuild@ubuntu2004-ty-1:~$ ls -l /dev/dri/renderD128 
crw-rw---- 1 root render 226, 128 Aug 23 16:54 /dev/dri/renderD128

I requested the change from MH.
Comment 3 Michael Halstead 2021-08-26 16:25:19 UTC
pokybuild is a member of the render group on workers where render exists. 

Currently this is:

centos8-ty-1.yocto.io
centos8-ty-2.yocto.io
debian10-ty-1.yocto.io
debian10-ty-2.yocto.io
debian10-ty-3.yocto.io
fedora31-ty-1.yocto.io
fedora33-ty-1.yocto.io
tumbleweed-ty-1.yocto.io
tumbleweed-ty-3.yocto.io
ubuntu2004-arm-1.yocto.io
ubuntu2004-ty-1.yocto.io
ubuntu2004-ty-2.yocto.io

The group doesn't yet exist on the following and I need to find out the correct way to add it:

centos7-ty-4.yocto.io
debian8-ty-1.yocto.io
debian9-ty-2.yocto.io
opensuse152-ty-1.yocto.io
ubuntu1604-ty-1.yocto.io
ubuntu1804-arm-1.yocto.io
ubuntu1804-ty-1.yocto.io
ubuntu1804-ty-3.yocto.io
Comment 4 Alexander Kanavin 2021-08-26 18:03:28 UTC
I do not think you need to do this everywhere. This only needs to be done where
permissions on /dev/dri/render* prevent pokybuild user from reading and writing to it. So far, ubuntu 20.04 is the only host known to have the problem:

pokybuild@ubuntu2004-ty-1:~$ groups
pokybuild kvm
pokybuild@ubuntu2004-ty-1:~$ ls -l /dev/dri/renderD128 
crw-rw---- 1 root render 226, 128 Aug 23 16:54 /dev/dri/renderD128

If /dev/dri/render* does not exist, or has permissions set such that pokybuid can already access it, nothing needs to be done.
Comment 5 Steve Sakoman 2021-08-26 19:23:33 UTC
(In reply to comment #4)

> So far, ubuntu 20.04 is the only host known to have the
> problem

On dunfell I also see this consistently on the fedora 31 worker, so we need it there too.
Comment 6 Alexander Kanavin 2021-08-26 21:04:09 UTC
Ubuntu 20.04 has correct permissions now, so I verified that the test in master branch now succeeds. I will check dunfell in a moment.
Comment 7 Alexander Kanavin 2021-08-26 21:38:07 UTC
Dunfell shows a different problem:
qemu-system-x86_64: Display 'egl-headless' is not available.

Investigating.
Comment 8 Alexander Kanavin 2021-08-26 22:34:12 UTC
Ok, on dunfell it's actually a segfault:
Segmentation fault (core dumped)

Core was generated by `/home/pokybuild/akanavin/poky/build-dunfell-st/tmp/work/x86_64-linux/qemu-helpe'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f9ab2bf832b in ?? () from /usr/lib/x86_64-linux-gnu/dri/kms_swrast_dri.so
[Current thread is 1 (LWP 1228936)]
(gdb) bt
#0  0x00007f9ab2bf832b in ?? () from /usr/lib/x86_64-linux-gnu/dri/kms_swrast_dri.so
#1  0x00007f9ab2bf87d2 in ?? () from /usr/lib/x86_64-linux-gnu/dri/kms_swrast_dri.so
#2  0x00007f9ad0488daa in ?? () from /lib/x86_64-linux-gnu/libEGL_mesa.so.0
#3  0x00007f9ad048e8ac in ?? () from /lib/x86_64-linux-gnu/libEGL_mesa.so.0
#4  0x00007f9ad0487718 in ?? () from /lib/x86_64-linux-gnu/libEGL_mesa.so.0
#5  0x00007f9ad047e924 in ?? () from /lib/x86_64-linux-gnu/libEGL_mesa.so.0
#6  0x0000560d97718404 in ?? ()
#7  0x0000560d97718e0e in ?? ()
#8  0x0000560d9771926a in ?? ()
#9  0x0000560d973d0d79 in ?? ()
#10 0x00007f9ad43fdb15 in __libc_start_main () from /home/pokybuild/akanavin/poky/build-dunfell-st/tmp/sysroots-uninative/x86_64-linux/lib/libc.so.6
#11 0x0000560d973d44ce in ?? ()

I guess it's best to just disable the test in dunfell :(
Comment 9 Alexander Kanavin 2021-08-26 23:01:42 UTC
More specific dump from dunfell:

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007fdf499f732b in ?? () from /usr/lib/x86_64-linux-gnu/dri/kms_swrast_dri.so
[Current thread is 1 (LWP 2563137)]
(gdb) bt
#0  0x00007fdf499f732b in ?? () from /usr/lib/x86_64-linux-gnu/dri/kms_swrast_dri.so
#1  0x00007fdf499f77d2 in ?? () from /usr/lib/x86_64-linux-gnu/dri/kms_swrast_dri.so
#2  0x00007fdf4b5dadaa in ?? () from /lib/x86_64-linux-gnu/libEGL_mesa.so.0
#3  0x00007fdf4b5e08ac in ?? () from /lib/x86_64-linux-gnu/libEGL_mesa.so.0
#4  0x00007fdf4b5d9718 in ?? () from /lib/x86_64-linux-gnu/libEGL_mesa.so.0
#5  0x00007fdf4b5d0924 in ?? () from /lib/x86_64-linux-gnu/libEGL_mesa.so.0
#6  0x000055ca4ace281f in qemu_egl_init_dpy (dpy=<optimized out>, platform=platform@entry=12759, mode=mode@entry=DISPLAYGL_MODE_ON)
    at /home/pokybuild/akanavin/poky/build-dunfell-st/tmp/work/x86_64-linux/qemu-system-native/4.2.0-r0/qemu-4.2.0/ui/egl-helpers.c:400
#7  0x000055ca4ace3077 in qemu_egl_init_dpy_mesa (dpy=<optimized out>, mode=mode@entry=DISPLAYGL_MODE_ON) at /home/pokybuild/akanavin/poky/build-dunfell-st/tmp/work/x86_64-linux/qemu-system-native/4.2.0-r0/qemu-4.2.0/ui/egl-helpers.c:438
#8  0x000055ca4ace3145 in egl_rendernode_init (rendernode=<optimized out>, mode=DISPLAYGL_MODE_ON) at /home/pokybuild/akanavin/poky/build-dunfell-st/tmp/work/x86_64-linux/qemu-system-native/4.2.0-r0/qemu-4.2.0/ui/egl-helpers.c:166
#9  0x000055ca4ace338f in egl_headless_init (ds=<optimized out>, opts=<optimized out>) at /home/pokybuild/akanavin/poky/build-dunfell-st/tmp/work/x86_64-linux/qemu-system-native/4.2.0-r0/qemu-4.2.0/ui/egl-headless.c:186
#10 0x000055ca4acc9b5e in qemu_display_init (ds=<optimized out>, opts=<optimized out>) at /home/pokybuild/akanavin/poky/build-dunfell-st/tmp/work/x86_64-linux/qemu-system-native/4.2.0-r0/qemu-4.2.0/ui/console.c:2330
#11 0x000055ca4ab31318 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at /home/pokybuild/akanavin/poky/build-dunfell-st/tmp/work/x86_64-linux/qemu-system-native/4.2.0-r0/qemu-4.2.0/vl.c:4399
Comment 10 Alexander Kanavin 2021-08-27 08:39:07 UTC
Patch for dunfell:
https://lists.openembedded.org/g/openembedded-core/message/155398
Comment 11 Richard Purdie 2021-09-02 14:54:33 UTC
Fixed by config changes on the AB worker and disabling the test on dunfell.