From unknown Fri Mar 29 08:35:25 2024 X-Loop: owner@bugs.x2go.org Subject: Bug#1109: [X2Go-Dev] Bug#1109: Print all In new window Long delays (i.e. several minutes) waiting for redraw ONLY in seamless window mode Reply-To: Thomas Esposito , 1109@bugs.x2go.org Resent-From: Thomas Esposito Resent-To: x2go-dev@lists.x2go.org Resent-CC: X2Go Developers X-Loop: owner@bugs.x2go.org Resent-Date: Thu, 17 Nov 2016 16:20:02 +0000 Resent-Message-ID: Resent-Sender: owner@bugs.x2go.org X-X2Go-PR-Message: followup 1109 X-X2Go-PR-Package: x2goserver X-X2Go-PR-Keywords: Received: via spool by 1109-submit@bugs.x2go.org id=B1109.147939951327190 (code B ref 1109); Thu, 17 Nov 2016 16:20:02 +0000 Received: (at 1109) by bugs.x2go.org; 17 Nov 2016 16:18:33 +0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on ymir.das-netzwerkteam.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE autolearn=ham version=3.3.2 Received: from localhost (localhost [127.0.0.1]) by ymir.das-netzwerkteam.de (Postfix) with ESMTP id CBB843CBB6 for <1109@bugs.x2go.org>; Thu, 17 Nov 2016 17:18:30 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at ymir.das-netzwerkteam.de Received: from ymir.das-netzwerkteam.de ([127.0.0.1]) by localhost (ymir.das-netzwerkteam.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ES7pgBPRJu-d for <1109@bugs.x2go.org>; Thu, 17 Nov 2016 17:18:24 +0100 (CET) Received: from mail-it0-f45.google.com (mail-it0-f45.google.com [209.85.214.45]) by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id C2A383CBB5 for <1109@bugs.x2go.org>; Thu, 17 Nov 2016 17:18:23 +0100 (CET) Received: by mail-it0-f45.google.com with SMTP id l8so147180788iti.1 for <1109@bugs.x2go.org>; Thu, 17 Nov 2016 08:18:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=Xklfgp2IXupIb+iOon8gjf9BOBICB+Cq2cHDBltZC38=; b=AA+VaNS3HbCWiJrgJ7NABBpp/DwtCv49urId5k8Pqnjt0GwYoYLw8TYBDtrJE/ufdm rQ1pJtEdf+ywnbziODaezd0LL4hkv0atHPJbWUEGDyZjO2lgLVeEPX1iSKNxUaOtvpFe AhVVlovMDQWbQTMg2S5b0T6CnGbPLw1U20o6JM8asRpmqk7ejjEATc1vvd4/Y7fGz0Sq luHkASnG0BmGq7fH/n1sSlNpJ8h3gJqNXI84CTHJBBc/c8Q5sdRwAgMbufXvUkY5Bm8y JDeaEP0qpsSEcpIdQI5J94vqVb63+wTJQw5NW493ilhzHLZys2gJhtDwcHwzS3uSRfwP NN3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=Xklfgp2IXupIb+iOon8gjf9BOBICB+Cq2cHDBltZC38=; b=BunN0WwKJTkpQ8esWPN972inqToa8yRY+Zu8/7NGZyig+Q8ezCUxMrgLofTDv89WT2 PickJMNSIzhJIiH/aQX5kBP1rcJCrn84WlKqaC31ZmBOmD5UqtSUHeHpJ6WGgKsJrIRh Yhz5AhEHPuYMjpjm8kmWxj5QSJ4PAdRFSTee79to0eO+5DqSwB24j5uJZLQN68bIuLr1 uECxR+n4MpBMlHsGK2bGZnINKW96ok8jMQe7vAiSLKwKwISdNPyiDSMqwIX0HUNo0J98 aymkXC9EMxJcms4DV5VET/ltKiCD+yINeLyFdyTLTPEm3e5oUPhUn+tuu3lb6LAG1C5R ZyeA== X-Gm-Message-State: ABUngvcITXeJQzc1RYlTXgE3/QhrbnUgFCm6yYn/DGdxmI1IDJVSVXAwtvl3Ruy/BVoiGnr7jrm/ADOQeSzBWA== X-Received: by 10.157.49.20 with SMTP id e20mr1695822otc.121.1479399502260; Thu, 17 Nov 2016 08:18:22 -0800 (PST) MIME-Version: 1.0 Received: by 10.157.47.5 with HTTP; Thu, 17 Nov 2016 08:18:21 -0800 (PST) In-Reply-To: References: From: Thomas Esposito Date: Thu, 17 Nov 2016 11:18:21 -0500 Message-ID: To: uli42@gmx.de Cc: 1109@bugs.x2go.org Content-Type: multipart/alternative; boundary=001a114154b0d04616054181898c --001a114154b0d04616054181898c Content-Type: text/plain; charset=UTF-8 Where should I be running this from? I tried this from within my existing x2go session, but I get the following error: _XSERVTransSocketINETCreateListener: ...SocketCreateListener() failed _XSERVTransMakeAllCOTSServerListeners: server already running Error: Aborting session with 'Cannot establish any listening sockets - Make sure an X server isn't already running'. Then I tried it from within a VNC session. I was able to run the experiment you described, but I did not experience delays either with xcircuit or with my problematic app. My server is entirely headless BTW. In fact, its a RHEL 6.6 virtual machine running on my company's VDI infrastructure. Is there any value to giving you an xtrace dump with relative timestamps? When I do that, and then sort the log in order of increasing timestamp values (reported in seconds), I see BIG discontinuities where there can be DOZENS of seconds between consecutive timestamps. I'm still betting that the problem has to do with the volume of X protocol messages. However, I'm not sure why this would be different in rootless vs. virtual desktop mode (I don't see the problem in virtual desktop mode). Are you able to reproduce the delays that I'm seeing when running xcircuit directly within a rootless x2go session (i.e. NOT with your nxagent experiment). The whole point of using xciruit was because I wanted to find a FREE application that exhibits the problematic behavior, so that the developers could more easily reproduce the behavior. On Wed, Nov 16, 2016 at 4:42 PM, Ulrich Sibiller wrote: > On Thu, Oct 27, 2016 at 8:37 PM, Thomas Esposito > wrote: > > Package: x2goserver > > Version: 4.0.1.19-3 > > Severity: critical > > > > Server OS: RHEL6.6 > > Client OS: Windows 7 SP1 64-bit > > Server Packages: x2goserver-4.0.1.19-3.el6.x86_64 > > x2goagent-3.5.0.32-3.el6.x86_64 > > nxagent-3.5.0.31-1.el6.x86_64 (not sure if > this > > is a dependency) > > nx-libs-3.5.0.31-1.el6.x86_64 (not sure if > this > > is a dependency) > > Client Version: 4.0.5.2 > > > > This only occurs when starting a terminal in seamless window mode, and > then > > launching the "problem" applications from that terminal. I imagine that > I'd > > observe the same behavior if launching the application directly when the > > x2go session is created. > > > > Certain applications experience catastrophically long delays (i.e. > > unresponsive for several minutes) during startup and even more so during > > reconnect (after a session is suspended). In particular, this happens > with 2 > > Synopsys EDA (Electronic Design Automation) applications that I heavily > rely > > on, dve and verdi. Obviously, you won't be able to test these because > they > > require an expensive license, but I can tell you that they are > older-style > > X11 applications that user X server-side font rendering and probably > don't > > use a lot of other modern X client-side rendering techniques. > > > > Luckily, I was able to find a free application that is similarly > > unresponsive when starting up in seamless window mode, but that runs > fine in > > virtual desktop mode: xcircuit. This happens to be a free CAD program for > > drawing circuit schematics. Obviously, I can't be 100% that this X11 > > application is failing in the same way as my proprietary EDA tools, but > it > > is something the x2go developers can look at regardless. > > > > http://opencircuitdesign.com/xcircuit/ > > > > In order to diagnose the problem, I ran my applications under xtrace with > > the '--relative-timestamps' option in order to see the kind of X11 > protocol > > traffic that was being generated. In both cases (i.e. my Synopsys EDA > > applications and xcircuit), there appear to be MASSIVE amounts of > > notifications and events going from the X server to the X client. It > seems > > like the application's window is made up of a TON on individual rectangle > > primitives. If I filter the log file dumped out by xtrace to just show > > timestamps, I see HUGE jumps/discontinuities where there are several > seconds > > or even minutes of apparent inactivity between consecutive messages. > > According to top, x2goagent is NOT consuming an excessive amount of CPU > > during these period of unresponsiveness. > > > > I don't know much about the details of the X11 protocol, but it almost > seems > > as if there is some kind of message buffer overrunning somewhere causing > > things to get out of sync, only recovering after some kind of watchdog or > > timeout mechanism kicks in. If my theory is correct and this happens > > repeatedly, it can add up to MINUTES of unresponsiveness. However, I'm > not > > sure why this would happen only in seamless window mode. Certainly, one > > difference between seamless window mode and virtual desktop mode is that > > when reconnecting after a suspend, seamless windows are probably going to > > see a lot more events from the server (e.g. expose events, window > > manipulation notifications, etc.) because of interactions with the > locally > > running windows which may be in a totally different state compared to > when > > the x2go session was suspended. In contrast, when running in a virtual > > desktop, the applications are contained with a "box" that isolates it > from > > the state of the local windows on the x2go client side. > > > > It is important to note that, for all of the applications that exhibit > this > > behavior, once the application has started up (or after suffering long > > delays during an x2go reconnect), the application is perfectly functional > > and responsive. > > This looks like a problem of nx. Can you please try this: > 1. run /usr/bin/nxagent -R -ac :5 (you'll see nothing) > 2. launch the problematic application: > export DISPLAY=:5 > /usr/bin/problematic-app > 3. kill -HUP (suspend session) > 4. wait some seconds > 5. kill -HUP (resume session) > > Does this also show the delays? (it doesn't for me with xcircuit, but > I seem to have > some font trouble here. I get lots of 'Error: font encoding file > missing for font "Helvetica"' messages). > > > Uli > --001a114154b0d04616054181898c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Where should I be running this from? I tried this from wit= hin my existing x2go session, but I get the following error:

=
_XSERVTransSocketINETCreateListener: ...SocketCreateListener() fa= iled
_XSERVTransMakeAllCOTSServerListeners: server already runnin= g
Error: Aborting session with 'Cannot establish any listenin= g sockets - Make sure an X server isn't already running'.

Then I tried it from within a VNC session. I was able= to run the experiment you described, but I did not experience delays eithe= r with xcircuit or with my problematic app.

My ser= ver is entirely headless BTW. In fact, its a RHEL 6.6 virtual machine runni= ng on my company's VDI infrastructure.

Is ther= e any value to giving you an xtrace dump with relative timestamps? When I d= o that, and then sort the log in order of increasing timestamp values (repo= rted in seconds), I see BIG discontinuities where there can be DOZENS of se= conds between consecutive timestamps.

I'm stil= l betting that the problem has to do with the volume of X protocol messages= . However, I'm not sure why this would be different in rootless vs. vir= tual desktop mode (I don't see the problem in virtual desktop mode).

Are you able to reproduce the delays that I'm se= eing when running xcircuit directly within a rootless x2go session (i.e. NO= T with your nxagent experiment). The whole point of using xciruit was becau= se I wanted to find a FREE application that exhibits the problematic behavi= or, so that the developers could more easily reproduce the behavior.
<= /div>

On Wed, Nov = 16, 2016 at 4:42 PM, Ulrich Sibiller <ulrich.sibiller@gmail.com> wrote:
On Thu, Oct 27, 2016 = at 8:37 PM, Thomas Esposito <t= mesposito00@gmail.com> wrote:
> Package: x2goserver
> Version: 4.0.1.19-3
> Severity: critical
>
> Server OS: RHEL6.6
> Client OS: Windows 7 SP1 64-bit
> Server Packages: x2goserver-4.0.1.19-3.el6.x86_64
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 x2goagent-3.5.0.32-3.el6.x86_64
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 nxagent-3.5.0.31-1.el6.x86_64 (not sure if this=
> is a dependency)
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 nx-libs-3.5.0.31-1.el6.x86_64 (not sure if this=
> is a dependency)
> Client Version: 4.0.5.2
>
> This only occurs when starting a terminal in seamless window mode, and= then
> launching the "problem" applications from that terminal. I i= magine that I'd
> observe the same behavior if launching the application directly when t= he
> x2go session is created.
>
> Certain applications experience catastrophically long delays (i.e.
> unresponsive for several minutes) during startup and even more so duri= ng
> reconnect (after a session is suspended). In particular, this happens = with 2
> Synopsys EDA (Electronic Design Automation) applications that I heavil= y rely
> on, dve and verdi. Obviously, you won't be able to test these beca= use they
> require an expensive license, but I can tell you that they are older-s= tyle
> X11 applications that user X server-side font rendering and probably d= on't
> use a lot of other modern X client-side rendering techniques.
>
> Luckily, I was able to find a free application that is similarly
> unresponsive when starting up in seamless window mode, but that runs f= ine in
> virtual desktop mode: xcircuit. This happens to be a free CAD program = for
> drawing circuit schematics. Obviously, I can't be 100% that this X= 11
> application is failing in the same way as my proprietary EDA tools, bu= t it
> is something the x2go developers can look at regardless.
>
> http://opencircuitdesign.com/xcircuit/
>
> In order to diagnose the problem, I ran my applications under xtrace w= ith
> the '--relative-timestamps' option in order to see the kind of= X11 protocol
> traffic that was being generated. In both cases (i.e. my Synopsys EDA<= br> > applications and xcircuit), there appear to be MASSIVE amounts of
> notifications and events going from the X server to the X client. It s= eems
> like the application's window is made up of a TON on individual re= ctangle
> primitives. If I filter the log file dumped out by xtrace to just show=
> timestamps, I see HUGE jumps/discontinuities where there are several s= econds
> or even minutes of apparent inactivity between consecutive messages. > According to top, x2goagent is NOT consuming an excessive amount of CP= U
> during these period of unresponsiveness.
>
> I don't know much about the details of the X11 protocol, but it al= most seems
> as if there is some kind of message buffer overrunning somewhere causi= ng
> things to get out of sync, only recovering after some kind of watchdog= or
> timeout mechanism kicks in. If my theory is correct and this happens > repeatedly, it can add up to MINUTES of unresponsiveness. However, I&#= 39;m not
> sure why this would happen only in seamless window mode. Certainly, on= e
> difference between seamless window mode and virtual desktop mode is th= at
> when reconnecting after a suspend, seamless windows are probably going= to
> see a lot more events from the server (e.g. expose events, window
> manipulation notifications, etc.) because of interactions with the loc= ally
> running windows which may be in a totally different state compared to = when
> the x2go session was suspended. In contrast, when running in a virtual=
> desktop, the applications are contained with a "box" that is= olates it from
> the state of the local windows on the x2go client side.
>
> It is important to note that, for all of the applications that exhibit= this
> behavior, once the application has started up (or after suffering long=
> delays during an x2go reconnect), the application is perfectly functio= nal
> and responsive.

This looks like a problem of nx. Can you please try this:
1. run /usr/bin/nxagent -R -ac :5=C2=A0 =C2=A0(you'll see nothing)
2. launch the problematic application:
export DISPLAY=3D:5
/usr/bin/problematic-app
3. kill -HUP <pid of nxagent> (suspend session)
4. wait some seconds
5. kill -HUP <pid of nxagent> (resume session)

Does this also show the delays? (it doesn't for me with xcircuit, but I seem to have
some font trouble here. I get lots of 'Error:=C2=A0 font encoding file<= br> missing for font "Helvetica"' messages).


Uli

--001a114154b0d04616054181898c--