Non-deterministic hang in libvfio-user:functional/test-client-server test causing timeout in CentOS 8 CI job
The 'check-centos-system' GitLab CI job is randomly hitting a 1 hour timeout, when it normally finishes in 12-13 minutes
Two hangs:
- https://gitlab.com/qemu-project/qemu/-/jobs/2749315386
- https://gitlab.com/qemu-project/qemu/-/jobs/2747027526
In both cases the last things to be printed are the same
242/267 qemu:qtest+qtest-nios2 / qtest-nios2/modules-test OK 0.54s 14 subtests passed
243/267 libvfio-user:unit / unit_tests OK 0.02s
244/267 libvfio-user:functional / test-lspci SKIP 0.01s exit status 77
ERROR: Job failed: execution took longer than 1h0m0s seconds
In a working job
we can see
242/267 qemu:qtest+qtest-nios2 / qtest-nios2/modules-test OK 0.54s 14 subtests passed
243/267 libvfio-user:unit / unit_tests OK 0.03s
244/267 libvfio-user:functional / test-lspci SKIP 0.01s exit status 77
245/267 libvfio-user:functional / test-client-server OK 13.72s
246/267 libvfio-user:functional / test-linkage.sh OK 1.87s
Meson is being run serialized:
/usr/bin/python3 -B /builds/qemu-project/qemu/meson/meson.py test --no-rebuild -t 0 --num-processes 1 --print-errorlogs
So it looks pretty clear that there is a non-deterministic hang when running
245/267 libvfio-user:functional / test-client-server OK 13.72s
but only on the CentOS 8 CI job.
This test suite arrived via
commit 55116968deb09fdae198cecaa45f4e5532d5445a
Author: Jagannathan Raman <jag.raman@oracle.com>
Date: Mon Jun 13 16:26:24 2022 -0400
vfio-user: build library
add the libvfio-user library as a submodule. build it as a meson
subproject.
libvfio-user is distributed with BSD 3-Clause license and
json-c with MIT (Expat) license
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com>
Signed-off-by: John G Johnson <john.g.johnson@oracle.com>
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: c2adec87958b081d1dc8775d4aa05c897912f025.1655151679.git.jag.raman@oracle.com
[Changed submodule URL to QEMU's libvfio-user mirror on GitLab. The QEMU
project mirrors its dependencies so that it can provide full source code
even in the event that its dependencies become unavailable. Note that
the mirror repo is manually updated, so please contact me to make newer
libvfio-user commits available. If I become a bottleneck we can set up a
cronjob.
Updated scripts/meson-buildoptions.sh to match the meson_options.txt
change. Failure to do so can result in scripts/meson-buildoptions.sh
being modified by the build system later on and you end up with a dirty
working tree.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>