X2Go Bug report logs - #1502
macOS X2GoClient keyboard map updates crash specific server applications, spike server CPU usage

version graph

Package: x2goclient; Maintainer for x2goclient is X2Go Developers <x2go-dev@lists.x2go.org>; Source for x2goclient is src:x2goclient.

Reported by: "Yearke, Thomas" <tyearke@buffalo.edu>

Date: Tue, 3 Nov 2020 00:45:02 UTC

Severity: normal

Found in version 4.1.2.2

Reply or subscribe to this bug.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1502; Package x2goclient. (Tue, 03 Nov 2020 00:45:02 GMT) (full text, mbox, link).


Acknowledgement sent to "Yearke, Thomas" <tyearke@buffalo.edu>:
New Bug report received and forwarded. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Tue, 03 Nov 2020 00:45:02 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.x2go.org (full text, mbox, reply):

From: "Yearke, Thomas" <tyearke@buffalo.edu>
To: "submit@bugs.x2go.org" <submit@bugs.x2go.org>
Subject: macOS X2GoClient keyboard map updates crash specific server applications, spike server CPU usage
Date: Tue, 3 Nov 2020 00:42:39 +0000
[Message part 1 (text/plain, inline)]
Package: x2goclient
Version: 4.1.2.2
Tag: patch

When the macOS version of X2GoClient is connected to a server, it updates the session's keyboard map every 10 seconds. Depending on how other programs running on the server respond to keyboard map changes, the repeated updates can cause brief CPU usage spikes or (in the case of one of our applications) they can cause freezes and crashes.

The attached patch modifies the macOS client to only run the keyboard map update once on session startup. Testing done on my devices showed that this change resolved the issue without introducing noticeable side effects. However, I was not able to find the reason why the keyboard map is being updated regularly, so this may (re)introduce a problem I'm not aware of.

Client OS: macOS 10.14.6
Client Software: X2GoClient 4.1.2.2
Server OS: CentOS 7.8
Server Desktop Environment: XFCE 4
Server x2goserver Version: 4.1.0.3
Server x2goserver-xsession Version: 4.1.0.3
Server nxagent Version: 3.5.99.24

Thank you for your consideration!

Tom Yearke
Software Engineer
Science and Engineering Node Services
University at Buffalo


[x2goclient-macos-keymap.diff (application/octet-stream, attachment)]
[smime.p7s (application/pkcs7-signature, attachment)]

Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1502; Package x2goclient. (Tue, 03 Nov 2020 06:35:02 GMT) (full text, mbox, link).


Acknowledgement sent to uli42@gmx.de:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Tue, 03 Nov 2020 06:35:02 GMT) (full text, mbox, link).


Message #10 received at 1502@bugs.x2go.org (full text, mbox, reply):

From: Ulrich Sibiller <ulrich.sibiller@gmail.com>
To: "Yearke, Thomas" <tyearke@buffalo.edu>, 1502@bugs.x2go.org
Cc: submit@bugs.x2go.org
Subject: Re: [X2Go-Dev] Bug#1502: macOS X2GoClient keyboard map updates crash specific server applications, spike server CPU usage
Date: Tue, 3 Nov 2020 07:30:09 +0100
[Message part 1 (text/plain, inline)]
Thanks for the patch. Keyboard on MacOS is special. As I do not have/know
MacOS I don't know why it was implemented that way.

What happens if you change the MacOS keyboard while a session is running?

Uli

Yearke, Thomas <tyearke@buffalo.edu> schrieb am Di., 3. Nov. 2020, 01:45:

> Package: x2goclient
> Version: 4.1.2.2
> Tag: patch
>
> When the macOS version of X2GoClient is connected to a server, it updates
> the session's keyboard map every 10 seconds. Depending on how other
> programs running on the server respond to keyboard map changes, the
> repeated updates can cause brief CPU usage spikes or (in the case of one of
> our applications) they can cause freezes and crashes.
>
> The attached patch modifies the macOS client to only run the keyboard map
> update once on session startup. Testing done on my devices showed that this
> change resolved the issue without introducing noticeable side effects.
> However, I was not able to find the reason why the keyboard map is being
> updated regularly, so this may (re)introduce a problem I'm not aware of.
>
> Client OS: macOS 10.14.6
> Client Software: X2GoClient 4.1.2.2
> Server OS: CentOS 7.8
> Server Desktop Environment: XFCE 4
> Server x2goserver Version: 4.1.0.3
> Server x2goserver-xsession Version: 4.1.0.3
> Server nxagent Version: 3.5.99.24
>
> Thank you for your consideration!
>
> Tom Yearke
> Software Engineer
> Science and Engineering Node Services
> University at Buffalo
>
>
> _______________________________________________
> x2go-dev mailing list
> x2go-dev@lists.x2go.org
> https://lists.x2go.org/listinfo/x2go-dev
>
[Message part 2 (text/html, inline)]

Information forwarded to x2go-dev@lists.x2go.org, X2Go Developers <x2go-dev@lists.x2go.org>:
Bug#1502; Package x2goclient. (Tue, 03 Nov 2020 22:05:02 GMT) (full text, mbox, link).


Acknowledgement sent to "Yearke, Thomas" <tyearke@buffalo.edu>:
Extra info received and forwarded to list. Copy sent to X2Go Developers <x2go-dev@lists.x2go.org>. (Tue, 03 Nov 2020 22:05:02 GMT) (full text, mbox, link).


Message #15 received at 1502@bugs.x2go.org (full text, mbox, reply):

From: "Yearke, Thomas" <tyearke@buffalo.edu>
To: "uli42@gmx.de" <uli42@gmx.de>, "1502@bugs.x2go.org" <1502@bugs.x2go.org>
Cc: "submit@bugs.x2go.org" <submit@bugs.x2go.org>
Subject: Re: [X2Go-Dev] Bug#1502: macOS X2GoClient keyboard map updates crash specific server applications, spike server CPU usage
Date: Tue, 3 Nov 2020 22:02:30 +0000
[Message part 1 (text/plain, inline)]
In both the current and patched versions of X2GoClient, changing the X11 keyboard map on the client side seems to have no immediate impact on an active X2Go session. If a session is suspended, though, the session’s keyboard map does get updated when it’s resumed by either version.

 

I believe this is the case because the client only constructs a keyboard map during the first keyboard update in ONMainWindow::slotSetModMap. This map is held in memory and reused by subsequent keyboard updates until it is deleted during a session suspension or termination.

 

(It’s worth noting that macOS uses an entirely-separate mechanism for managing the keyboard layout for non-X11 programs. Changing the keyboard layout in System Preferences affects the Qt components of X2GoClient, but anything X11-based is not affected by those changes. Only the X11 keyboard map as reported by xmodmap is used by local X11 apps and by X2GoClient’s keyboard map builder.)

 

Tom

 

From: Ulrich Sibiller <ulrich.sibiller@gmail.com>
Reply-To: "uli42@gmx.de" <uli42@gmx.de>
Date: Tuesday, November 3, 2020 at 1:30 AM
To: Tom Yearke <tyearke@buffalo.edu>, "1502@bugs.x2go.org" <1502@bugs.x2go.org>
Cc: "submit@bugs.x2go.org" <submit@bugs.x2go.org>
Subject: Re: [X2Go-Dev] Bug#1502: macOS X2GoClient keyboard map updates crash specific server applications, spike server CPU usage

 

Thanks for the patch. Keyboard on MacOS is special. As I do not have/know MacOS I don't know why it was implemented that way.  

 

What happens if you change the MacOS keyboard while a session is running?

 

Uli

 

Yearke, Thomas <tyearke@buffalo.edu> schrieb am Di., 3. Nov. 2020, 01:45:

Package: x2goclient
Version: 4.1.2.2
Tag: patch

When the macOS version of X2GoClient is connected to a server, it updates the session's keyboard map every 10 seconds. Depending on how other programs running on the server respond to keyboard map changes, the repeated updates can cause brief CPU usage spikes or (in the case of one of our applications) they can cause freezes and crashes.

The attached patch modifies the macOS client to only run the keyboard map update once on session startup. Testing done on my devices showed that this change resolved the issue without introducing noticeable side effects. However, I was not able to find the reason why the keyboard map is being updated regularly, so this may (re)introduce a problem I'm not aware of.

Client OS: macOS 10.14.6
Client Software: X2GoClient 4.1.2.2
Server OS: CentOS 7.8
Server Desktop Environment: XFCE 4
Server x2goserver Version: 4.1.0.3
Server x2goserver-xsession Version: 4.1.0.3
Server nxagent Version: 3.5.99.24

Thank you for your consideration!

Tom Yearke
Software Engineer
Science and Engineering Node Services
University at Buffalo


_______________________________________________
x2go-dev mailing list
x2go-dev@lists.x2go.org
https://lists.x2go.org/listinfo/x2go-dev

[Message part 2 (text/html, inline)]
[smime.p7s (application/pkcs7-signature, attachment)]

Send a report that this bug log contains spam.


X2Go Developers <owner@bugs.x2go.org>. Last modified: Wed Nov 25 22:41:49 2020; Machine Name: ymir.das-netzwerkteam.de

X2Go Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.