The CI job cross-i686-tci has been persistently flaky for what seems like years now. Stefan Weil had a look and his conclusion was that this happens because we run too many tests in parallel, and so sometimes they starve each other of CPU and time out: https://lore.kernel.org/qemu-devel/9692cfcb-ef59-4cec-8452-8bfb859e8...@weilnetz.de/
To test this theory, force the cross-i686-tci job to run only one test at a time. 'meson test' has a handy environment variable to let us set the parallelism. Unfortunately meson prioritises the command line '--num-processes' argument over the environment variable if they are both set, so to make this work we need to adjust our mtest2make script to not set --num-processes if the MESON_TESTTHREADS envariable is set. I don't know if this will fix the flakiness, but it seems worth a try. If it works, we might want to consider whether we should do something similar across the board -- at the moment we always use a parallelism of num-cpus + 1, because we use the same amount of parallelism that we do for the compile step. thanks -- PMM Peter Maydell (2): scripts/mtest2make: Honour MESON_TESTTHREADS if it is set .gitlab-ci.d/crossbuilds.yml: Force 'make check' single threaded for cross-i686-tci .gitlab-ci.d/crossbuilds.yml | 3 +++ scripts/mtest2make.py | 4 ++++ 2 files changed, 7 insertions(+) -- 2.34.1