Xpra: Ticket #1948: shadow server unit test failure caused by RFB

FAIL: test_start_all (__main__.ShadowOptionTest)
Traceback (most recent call last):
  File "./unittests/unit/server/mixins/shadow_option_test.py", line 15, in test_start_all
  File "/home/antoine/projects/Xpra/trunk/src/unittests/unit/server/mixins/server_mixins_option_test_util.py", line 179, in _test_all
    self._test(subcommand, options=options)
  File "/home/antoine/projects/Xpra/trunk/src/unittests/unit/server/mixins/server_mixins_option_test_util.py", line 152, in _test
    self.stop_server(server, "stop", *connect_args)
  File "/home/antoine/projects/Xpra/trunk/src/unittests/unit/server_test_util.py", line 306, in stop_server
    assert pollwait(stopit, STOP_WAIT_TIMEOUT) is not None, "%s command failed to exit" % subcommand
AssertionError: stop command failed to exit

The server ends up servicing the RFB client but nothing after that, all connections end up timing out.

Here are the steps to reproduce on Fedora by running individual commands rather than running through the unit test:

(and wait 5 seconds for it to connect)

Thu, 06 Sep 2018 15:17:49 GMT - Antoine Martin: priority, status changed; resolution set

Also reproducible using the local display for the VNC client. Killing the VNC client leaves the server in this same hung state. Tried reducing the vfb resolution with DISPLAY=:200 xrandr -s 1280x768. Reducing the shadow refresh rate does "fix" things:

XPRA_SHADOW_REFRESH_DELAY=200 xpra shadow ...

That's because we can't block on a queue waiting to send packets, r20355 fixes that.

Related improvements and fixes:

Backports will follow, will follow up in #1949.

Sat, 23 Jan 2021 05:38:05 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1948