- Package:
- xvfb
- Source:
- xorg-server
- Description:
- Virtual Framebuffer 'fake' X server
- Submitter:
- Sebastien Bacher
- Date:
- 2025-02-08 13:42:02 UTC
- Severity:
- normal
The issue is quite noticable on arm64 Ubuntu https://autopkgtest.ubuntu.com/packages/b/bambam/hirsute/arm64 Using the -noreset xvfb-run option fixes the issue, that's similar to fixes applied to other Debian packages https://salsa.debian.org/a11y-team/pyatspi/commit/c8406c19 being one example Thanks,
Thanks for the report, Sebastien! I'd like to understand the issue better. Can you please point me at an example flake? Marcin
Hey, thanks for the reply! One example of failing test log https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-hirsute/hirsute/arm64/b/bambam/20210118_202718_49256@/log.gz It's a frequent problem with xvfb, you can search for noreset use on google or debian codesearch to see other packages where similar issues were reported I can easily trigger the issue on an arm64 instance on Canonistack, doing a loop on the xvfb command it fails ~30% of the time, with the patch it's always successful Cheers, Le 27/01/2021 à 17:30, Marcin Owsiany a écrit :
Thanks, I'll check it out. 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. Marcin
Le 27/01/2021 à 18:46, Marcin Owsiany a écrit : Ideally that wouldn't be needed indeed, fixing it in xvfb if possible would be best. Cheers,
reassign 981201 xvfb thanks I've submitted a pull request against xvfb-run to achieve this. https://salsa.debian.org/xorg-team/xserver/xorg-server/-/merge_requests/6 Hopefully the X strike force folks will look at it kindly. FWIW, the way this can be reproduced easily even on amd64 is: 1. in first terminal, run "Xvfb :66" 2. in second terminal, run "DISPLAY=:66 xeyes" 3. in third terminal, run xlsclients in a tight loop: "while :;do DISPLAY=:66 xlsclients || echo FAIL;done" - it will produce a stream of "yourhostname xeyes" 4. then press CTRL+C in the second terminal 5. notice how in the third terminal, xlsclients has failed to connect
Control: retitle -1 xvfb-run: makes tests flaky if multiple clients connect without -noreset 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