Although I have trouble reproducing it I still experience weird test failures whenever I create or updated separate MRs in a short amount of time. These failures are usually coming from unexpected display settings, although each job is running within docker in an isolated environment.
I don't have any explanation for this, and I have confirmed that separate X server are spawned. However, the prefix used for the tests is initialized to /home/gitlab/.wine and I suspect this could perhaps be mounted and shared across containers? It could also explain the failures, if, for instance wineserver starts while another instance (invisible as isolated in a separate container) is running and has updated the registry on disk with different display settings while the tests are being executed.
This is hypothetical but nonetheless I think it's better to keep the prefix in a job workspace sub-directory.
From: Rémi Bernon rbernon@codeweavers.com
--- tools/gitlab/test.yml | 1 + 1 file changed, 1 insertion(+)
diff --git a/tools/gitlab/test.yml b/tools/gitlab/test.yml index d681de92575..2a96962a91c 100644 --- a/tools/gitlab/test.yml +++ b/tools/gitlab/test.yml @@ -26,6 +26,7 @@ - export LC_ALL=C.UTF-8 - export LP_NUM_THREADS=4 - export WINEDEBUG=err-all,fixme-all + - export WINEPREFIX=$BASEDIR/.wine - | cat >$HOME/xorg.conf << EOF Section "Device"
I think the real problem is that existing wineprefix is reused again and again. Hopefully !8453 solves this.
perhaps be mounted and shared across containers?
I did also check findmnt output (https://gitlab.winehq.org/iamahuman/wine/-/jobs/169427). Tuens out /home isn't mounted. But /builds is—and that's where $BASEDIR resides—so this MR would need to find a safer place for the prefix (if the sharer-prefix hypothesis were true).
`/builds` is mounted to `/dev/nvme0n1p2[/var/lib/docker/volumes/runner-t1y-5gx5-project-34-concurrent-0-cache-c33bcaa1fd2c77edfc3893b41966cea8/_data` and given its name I don't think it's shared with another runner (or we have bigger problems than just the prefix because artifacts are extracted and run from there).
On Fri Jun 27 15:07:58 2025 +0000, Rémi Bernon wrote:
`/builds` is mounted to `/dev/nvme0n1p2[/var/lib/docker/volumes/runner-t1y-5gx5-project-34-concurrent-0-cache-c33bcaa1fd2c77edfc3893b41966cea8/_data` and given its name I don't think it's shared with another runner (or we have bigger problems than just the prefix because artifacts are extracted and run from there).
IIRC concurrent runs use `-concurrent-1`, `2`, `3`...and so on. Once -0 (or -1, or -2, or -3) completes, the slot is freed (made available) for subsequent runs.