Bug#981201: xvfb-run: makes tests flaky if multiple clients connect without -noreset
- To: 981201@bugs.debian.org
- Subject: Bug#981201: xvfb-run: makes tests flaky if multiple clients connect without -noreset
- From: Simon McVittie <smcv@debian.org>
- Date: Sat, 8 Feb 2025 13:39:13 +0000
- Message-id: <[🔎] Z6degfnGDLEVToEs@remnant.pseudorandom.co.uk>
- Reply-to: Simon McVittie <smcv@debian.org>, 981201@bugs.debian.org
- In-reply-to: <312fcd6d-6c64-02e2-0f8d-ebe973d6c809@ubuntu.com>
- References: <d529f1e5-3693-86e5-5296-f9815b2bea01@ubuntu.com> <CAFsGsxJdD8kLdbCORZ7Nkdvvc+WH2LkRyg8WT5bZC=f_Mz9Rvg@mail.gmail.com> <215c78b1-6065-a369-538a-88fae65368b9@ubuntu.com> <CAFsGsxK05b11LssQnbLjY9VDJYmjD=+acCyR_ma3yOD0+-JK=g@mail.gmail.com> <d529f1e5-3693-86e5-5296-f9815b2bea01@ubuntu.com> <312fcd6d-6c64-02e2-0f8d-ebe973d6c809@ubuntu.com> <d529f1e5-3693-86e5-5296-f9815b2bea01@ubuntu.com>
Control: retitle -1 xvfb-run: makes tests flaky if multiple clients connect without -noreset
On Wed, 27 Jan 2021 at 19:50:58 +0100, Sebastien Bacher wrote:
> Le 27/01/2021 à 18:46, Marcin Owsiany a écrit :
> > My concern here is that we're effectively papering over some issue in
> > xvfb, in multiple places rather than fixing it once properly at the
> > source.
>
> Ideally that wouldn't be needed indeed, fixing it in xvfb if possible
> would be best.
I've retitled #981201 to try to make it more obvious that #981201 is
about the situation where a test connects more than one client to the
X server, passing through a state where 0 clients are connected in the
process, and does not pass -noreset to xvfb-run. I think race conditions
in starting up Xvfb for the first time (#1095028) should be considered
out-of-scope for this particular bug report.
The solution to #981201 that Marcin Owsiany proposed in
https://salsa.debian.org/xorg-team/xserver/xorg-server/-/merge_requests/6
was to make -noreset the default, but the Xorg team are concerned that
changing the default could break expectations.
(I wonder whether this might mean that xvfb-run should have a
debhelper-like concept of having a compat level, defaulting to -reset in
compat level 1 and -noreset in compat level >= 2? But perhaps that's
overkill.)
The workaround that many packages are now using for their build-time
tests and/or autopkgtests is to use `xvfb-run -a -s "-noreset"` as their
"adverb" command.
smcv
Reply to: