Package: nxagent Version: 3.5.99.26-1 Severity: important Tags: patch Fixed: 3.5.99.25-1For some unknown reason, upstream discovered a regression in nxagent (aka x2goagent with X2Go). When connecting to an existing X11 session ("connect to local desktop"), one gets an nxagent/x2goagent crash:
```
Stack trace of thread 663053:
#0 0x00005f237a3f4f0b RREditConnectionInfo (nxagent
+ 0x32ff0b)
#1 0x00005f237a17f840 nxagentChangeScreenConfig
(nxagent + 0xba840)
#2 0x00005f237a16d2e9 nxagentDispatchEvents (nxagent
+ 0xa82e9)
#3 0x00005f237a167e2d nxagentDisplayWriteHandler
(nxagent + 0xa2e2d)
#4 0x000079af2a8bf6f1 _XSendClientPrefix
(libX11.so.6 + 0x266f1)
#5 0x000079af2a8d2cd4 XOpenDisplay (libX11.so.6 + 0x39cd4)
#6 0x000079af2a74a9a4 _ZN6Poller4initEv
(libXcompshad.so.3 + 0x99a4)
#7 0x000079af2a74806c NXShadowCreate
(libXcompshad.so.3 + 0x706c)
#8 0x00005f237a17f92a nxagentShadowInit (nxagent + 0xba92a)
#9 0x00005f237a1172fb DefineInitialRootWindow
(nxagent + 0x522fb)
#10 0x00005f237a1079f0 main (nxagent + 0x429f0)
#11 0x000079af2a0ab082 __libc_start_main (libc.so.6 + 0x27082)
#12 0x00005f237a107d7e _start (nxagent + 0x42d7e)
```
It is 100% reproducible, 3.5.99.25 worked fine.
The upstream issue is at https://github.com/ArcticaProject/nx-libs/issues/1009
Patch for this (a commit backported from X.Org) is attached.
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: mike.gabriel@das-netzwerkteam.de, http://das-netzwerkteam.de
>From a14e1a59a4025cbb464b5deeed0f50d5a2898b0c Mon Sep 17 00:00:00 2001
From: Ulrich Sibiller <uli42@gmx.de>
Date: Wed, 17 Mar 2021 21:16:26 +0100
Subject: [PATCH] randr: Do not update ConnectionInfo if NULL
Backport of this xorg-xserver commit:
commit 941aeb3b92e644923bd112eef8023f033a140ee6
Author: Olivier Fourdan <ofourdan@redhat.com>
Date: Fri May 13 08:58:58 2016 +0200
randr: Do not update ConnectionInfo if NULL
RRScreenSizeNotify() will update the connection information block, but
if this occurs during initialization before ConnectionInfo is even
initialized, this will lead to a crash.
Simply check for ConnectionInfo prior to update it to avoid the crash.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=95337
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Fixes ArcticaProject/nx-libs#1009
Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
---
nx-X11/programs/Xserver/randr/rrscreen.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/nx-X11/programs/Xserver/randr/rrscreen.c b/nx-X11/programs/Xserver/randr/rrscreen.c
index 4f59e9aea..90371704a 100644
--- a/nx-X11/programs/Xserver/randr/rrscreen.c
+++ b/nx-X11/programs/Xserver/randr/rrscreen.c
@@ -66,6 +66,9 @@ RREditConnectionInfo(ScreenPtr pScreen)
int screen = 0;
int d;
+ if (ConnectionInfo == NULL)
+ return;
+
connSetup = (xConnSetup *) ConnectionInfo;
vendor = (char *) connSetup + sizeof(xConnSetup);
formats = (xPixmapFormat *) ((char *) vendor +
--
2.30.2
Attachment:
pgpSvoyT7j34M.pgp
Description: Digitale PGP-Signatur