Subject: x2goclient fails to connect after updating qt5 libs to 5.15.x

From: Baese Alexander <[email-masked]>
Date: Thu, 21 Jul 2022 14:56:08 +0000

Package: x2goclient

Version: 4.1.2.2

Hello all,

Just finished a update run in our environment. After that the x2go client could not establish a connection via xfce.
After a long bug hunt we found out that updating the qt5 libs actually breaks the client and it will no longer build up xfce sessions (RDP worked flawlessly).

Working libs:
qt5-qtsvg-5.12.5-1.el8.x86_64
qt5-qtx11extras-5.12.5-1.el8.x86_64

updated to (not working):
qt5-qtx11extras-5.15.2-2.el8.x86_64
qt5-qtsvg-5.15.2-4.el8.x86_64
Unfortunately I am not able to post logs / more detailed specs due to regulations. But maybe this can be recreated in a test scenario.

Greetings

---

From: Peter Bieringer <[email-masked]>
Date: Fri, 29 Jul 2022 08:00:03 +0200

Hi,

installed 2x VMs

- AlmaLinux 8.6 (latest) + all updates
# yum groupinstall XFCE
# yum install x2goclient x2goserver

Connect via x2goclient from Fedora 36 to AlmaLinux#1
Try to connect from AlmaLinux#1 to AlmaLinux#2

-> X2go session is created, but not really started

Checked required Qt5 libraries

# ldd /usr/bin/x2goclient | grep Qt5 | awk '{ print $3 }' | while read 
lib; do rpm -qf $lib; done | sort -u
qt5-qtbase-5.15.2-4.el8.x86_64
qt5-qtbase-gui-5.15.2-4.el8.x86_64
qt5-qtsvg-5.15.2-4.el8.x86_64
qt5-qtx11extras-5.15.2-2.el8.x86_64

downgraded on AlmaLinux#1 to Qt5 of AlmaLinux 8.4 
(http://repo.almalinux.org/vault/8.4/AppStream/x86_64/os/Packages/)

# rpm -Uhv --force qt5-qtbase-5.12.5-8.el8.x86_64.rpm 
qt5-qtbase-gui-5.12.5-8.el8.x86_64.rpm qt5-qtsvg-5.12.5-1.el8.x86_64.rpm 
qt5-qtx11extras-5.12.5-1.el8.x86_64.rpm 
qt5-qtbase-common-5.12.5-8.el8.noarch.rpm

Connect from AlmaLinux#1 to AlmaLinux#2 is successful

Please advice how to support debugging.

BTW: filed also ticket on Red Hat's Bugzilla: 
https://bugzilla.redhat.com/show_bug.cgi?id=2109841

Regards,
	Peter

---

From: Ulrich Sibiller <[email-masked]>
Date: Fri, 29 Jul 2022 13:03:08 +0200

You can try to run x2goclient --debug. And you can try to disable all
sorts of additional services as printing, sound and file sharing.

Uli

On Fri, Jul 29, 2022 at 8:05 AM Peter Bieringer <[email-masked]> wrote:
> _______________________________________________
> x2go-dev mailing list
> [email-masked]
> https://lists.x2go.org/listinfo/x2go-dev

---

From: Randy Goldenberg <[email-masked]>
Date: Fri, 29 Jul 2022 10:41:42 -0700

I'm not sure what you mean by "X2go session is created, but not really started".

Might this be the known issue with XFCE compositing?  I encountered it
for the first time when connecting from an AlmaLinux 8 client.

https://wiki.x2go.org/doku.php/doc:de-compat

---

From: Peter Bieringer <[email-masked]>
Date: Fri, 29 Jul 2022 21:14:42 +0200

Hi,

> I'm not sure what you mean by "X2go session is created, but not really started".

On server side, a session is created, detectable with "x2golistsession" 
and in case the client is terminated on reconnect it claims about an 
existing session.

X2goclient still shows "connecting", but has already connected somehow.

Also I cannot enable "Show details" in the GUI during client hangs.

Downgraded Qt5, here I'm able now to activate "Show details", which is 
remembered also after upgrading Qt5 again.

Looks like compared to Qt5.12 it hangs before showing:

Loop: WARNING! Disabling NX delta compression.
Loop: WARNING! Disabling use of NX persistent cache.
Info: Connection with remote proxy completed.

(on 1 of x starts with Qt5.15 the "Show details" content was update at 
all before hanging)

x2goclient --debug is also showing nothing on console

"ltrace --f x2goclient --debug" shows tons of following loop:

[pid 2703] _ZN6QMutex4lockEv(0x5597e7091690, 0x7f833c5561e0, 
0x5597e7091ce0, 0) = 0
[pid 2703] _ZN6QMutex6unlockEv(0x5597e7091690, 0x7f833c5561e0, 
0x7f833a7fdaf0, 0) = 1
[pid 2703] _ZN6QMutex4lockEv(0x5597e7091688, 0x7f833c5561e0, 1, 1) = 0
[pid 2703] _ZN6QMutex6unlockEv(0x5597e7091688, 0x7f833c5561e0, 
0x5597e70917b0, 1) = 1
[pid 2703] _ZN7QThread6usleepEm(500, 0x7f833c5561e0, 1, 1) = 0
[pid 2703] _ZN6QMutex4lockEv(0x5597e7091698, 0x7f8321202740, 0, 
0x7f8339feb170) = 0
[pid 2703] _ZN6QMutex6unlockEv(0x5597e7091698, 0x7f8321202740, 0, 
0x7f8339feb170) = 1
[pid 2703] _ZN6QMutex4lockEv(0x5597e70916a8, 0x7f8321202740, 1, 1) = 0
[pid 2703] _ZN6QMutex6unlockEv(0x5597e70916a8, 0x7f8321202740, 0, 1) = 1
[pid 2703] ssh_channel_accept_forward(0x7f8310004e40, 0, 0x7f8321202660, 
1) = 0

"strace --f x2goclient --debug" shows tons of following loop:

2774  nanosleep({tv_sec=0, tv_nsec=500000}, 0x7fb8cd94f740) = 0
2774  poll([{fd=12, events=POLLIN}], 1, 0) = 0 (Timeout)

> https://wiki.x2go.org/doku.php/doc:de-compat

This is already known since some time and disabled in advance.

Regards,
	Peter

---

From: Peter Bieringer <[email-masked]>
Date: Fri, 29 Jul 2022 21:42:20 +0200

Sorry, have now read how --debug works...

Now started with: x2goclient --debug --libssh-debug 2>&1 | tee 
/tmp/x2goclient-<QTversion>.log

with Qt5.15:

[2022/07/29 19:34:20.759320, 2] channel_open:  Creating a channel 46 
with 64000 window and 32768 max packet
[2022/07/29 19:34:20.760544, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 46:0
[2022/07/29 19:34:20.760601, 2] ssh_packet_channel_open_conf:  Remote 
window : 0, maxpacket : 32768
[2022/07/29 19:34:20.764500, 2] channel_rcv_change_window:  Adding 
2097152 bytes to channel (46:0) (from 0 bytes)
[2022/07/29 19:34:20.764587, 2] channel_request:  Channel request exec 
success
[2022/07/29 19:34:21.075221, 2] grow_window:  growing window (channel 
46:0) to 1280000 bytes

then it loops here forever:

[2022/07/29 19:29:54.114274, 1] ssh_channel_accept:  No channel request 
of this type from server

Stopping after 4x CHANNEL_OPEN_CONFIRMATION (43...46)

# grep CHANNEL_OPEN_CONFIRMATION /tmp/x2goclient-5.15.log
[2022/07/29 19:34:12.681745, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 43:0
[2022/07/29 19:34:12.897503, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 44:0
[2022/07/29 19:34:17.564870, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 45:0
[2022/07/29 19:34:20.760544, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 46:0

with Qt5.12: results in 8x CHANNEL_OPEN_CONFIRMATION (43...50)

# grep CHANNEL_OPEN_CONFIRMATION /tmp/x2goclient-5.12.log
[2022/07/29 19:35:27.930657, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 43:0
[2022/07/29 19:35:28.147269, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 44:0
[2022/07/29 19:35:37.330360, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 45:0
[2022/07/29 19:35:41.191864, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 46:0
[2022/07/29 19:35:47.790986, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 47:0
[2022/07/29 19:35:47.968874, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 48:1
[2022/07/29 19:35:48.649804, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 49:1
[2022/07/29 19:36:06.888934, 2] ssh_packet_channel_open_conf:  Received 
a CHANNEL_OPEN_CONFIRMATION for channel 50:0

Any further idea how to trace this down?

---

From: Mike Gabriel <[email-masked]>
Date: Mon, 15 Aug 2022 20:12:03 +0000

Hi Peter,

On  Fr 29 Jul 2022 21:42:20 CEST, Peter Bieringer wrote:

> [2022/07/29 19:34:20.760544, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 46:0
> [2022/07/29 19:34:20.760601, 2] ssh_packet_channel_open_conf:   
> Remote window : 0, maxpacket : 32768
> [2022/07/29 19:34:20.764587, 2] channel_request:  Channel request  
> exec success
> [2022/07/29 19:34:21.075221, 2] grow_window:  growing window  
> (channel 46:0) to 1280000 bytes
>
> [2022/07/29 19:29:54.114274, 1] ssh_channel_accept:  No channel  
> request of this type from server
>
> [2022/07/29 19:34:12.681745, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 43:0
> [2022/07/29 19:34:12.897503, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 44:0
> [2022/07/29 19:34:17.564870, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 45:0
> [2022/07/29 19:34:20.760544, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 46:0
>
>
> [2022/07/29 19:35:27.930657, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 43:0
> [2022/07/29 19:35:28.147269, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 44:0
> [2022/07/29 19:35:37.330360, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 45:0
> [2022/07/29 19:35:41.191864, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 46:0
> [2022/07/29 19:35:47.790986, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 47:0
> [2022/07/29 19:35:47.968874, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 48:1
> [2022/07/29 19:35:48.649804, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 49:1
> [2022/07/29 19:36:06.888934, 2] ssh_packet_channel_open_conf:   
> Received a CHANNEL_OPEN_CONFIRMATION for channel 50:0

Have you rebuilt x2goclient against Qt5.15? Or simply replaced the Qt5 libs?

You have to rebuild x2goclient.

Does that help? (In case you haven't rebuilt x2goclient, so far)?

Mike
-- 

DAS-NETZWERKTEAM
c\o Technik- und Ökologiezentrum Eckernförde
Mike Gabriel, Marienthaler Str. 17, 24340 Eckernförde
mobile: +49 (1520) 1976 148
landline: +49 (4351) 850 8940

GnuPG Fingerprint: 9BFB AEE8 6C0A A5FF BF22  0782 9AF4 6B30 2577 1B31
mail: [email-masked], http://das-netzwerkteam.de

---

From: Peter Bieringer <[email-masked]>
Date: Mon, 15 Aug 2022 22:22:15 +0200

Hi,

>> /tmp/x2goclient-<QTversion>.log
...
> Does that help? (In case you haven't rebuilt x2goclient, so far)?

I have rebuilded x2goclient on latest EL8 with Qt5.15 devel RPMs 
installed (this was my first try at all) - did not help.

Regards,
	Peter