Subject: Graphical apps stalling in suspended session

From: [email-masked]
Date: Wed, 14 Nov 2018 18:47:26 +0100

Package: x2goserver
Version: 4.0.1.0

I put this in the x2goserver section but I'm not quite sure if it's the
right component that suffers from this issue.

In my company, we recently began to experience an issue similar to the
one reported in archived bug #673 [1] and on the X2Go-User list [2]
back in 2015. The manifestation of the issue is that when a session is
suspended, our program that runs in a terminal inside the session is
slowed down to a near stop, and abruptly recovers its original speed
when the session is resumed. There seems to be a link with graphical
components though, and my guess is it's the output scrolling in the
terminal that is stalled, and by way of consequence slowing down the
rest of the program downstream.
To confirm the involvement of the graphics, I tried running glxgears as
a test, and while it runs at about 1000 fps while the session is
attached, it drops at about 3 fps (!) when suspended. This behaviour is
reproducible on a freshly installed CentOS 7 VM; I can provide a
VirtualBox VM on which I ran the glxgears test.

What is strange is that we only noticed it a few days/weeks ago whereas
we didn't touch/update anything on the machines running those programs
and x2go. We have a cluster of 5 CentOS 7 machine + 1 CentOS 6 machine
and the issue appears on all of them, including CentOS 6, which hints
that the issue might not be related to a specific version of the x2go
components.

A quick search for this issue raised at least 2 third parties
experiencing the issue; one university [3] announced dropping x2go as
of October 2018 because of this, and another [4] is listing it as a
known issue, albeit maybe in 2015.

I hope we can find a source for this problem, it's quite critical for
us.

Here are versions of the installed x2go components on CentOS 7:
cups-x2go-3.0.1.3-1.el7.noarch
libNX_X11-3.5.99.16-1.el7.x86_64
nx-libs-3.5.99.16-1.el7.x86_64
nxagent-3.5.99.16-1.el7.x86_64
nxproxy-3.5.99.16-1.el7.x86_64
perl-X2Go-Log-4.1.0.0-1.el7.noarch
perl-X2Go-Server-4.1.0.0-1.el7.noarch
perl-X2Go-Server-DB-4.1.0.0-1.el7.x86_64
python-x2go-0.5.0.3-1.el7.noarch
x2goagent-4.1.0.0-1.el7.x86_64
x2goclient-4.1.1.1-1.el7.x86_64
x2godesktopsharing-3.1.1.2-1.el7.x86_64
x2goplugin-4.1.1.1-1.el7.x86_64
x2goplugin-provider-4.1.1.1-1.el7.x86_64
x2goserver-4.1.0.0-1.el7.x86_64
x2goserver-common-4.1.0.0-1.el7.noarch
x2goserver-fmbindings-4.1.0.0-1.el7.x86_64
x2goserver-printing-4.1.0.0-1.el7.x86_64
x2goserver-xsession-4.1.0.0-1.el7.noarch

[1] https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=673
[2] http://lists.x2go.org/pipermail/x2go-user/2015-August/003397.html
[3] https://kb.thayer.dartmouth.edu/article/337-x2go
[4] https://www.cs.rutgers.edu/resources/accessing-computer-science-linux-desktop-using-x2go