X2Go Bug report logs - #1633
New clipboard issue in Libreoffice with X2Go

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

Reported by: Jens Reyer <jens.reyer@leberrohstoffe.com>

Date: Wed, 12 Mar 2025 10:05:01 UTC

Severity: normal

Full log


🔗 View this message in rfc822 format

X-Loop: owner@bugs.x2go.org
Subject: Bug#1633: [X2Go-Dev] Bug#1633: Bug#1633: New clipboard issue in Libreoffice with X2Go
Reply-To: Ulrich Sibiller <ulrich.sibiller@gmail.com>, 1633@bugs.x2go.org
Resent-From: Ulrich Sibiller <ulrich.sibiller@gmail.com>
Resent-To: x2go-dev@lists.x2go.org
Resent-CC: X2Go Developers <x2go-dev@lists.x2go.org>
X-Loop: owner@bugs.x2go.org
Resent-Date: Wed, 26 Mar 2025 22:00:01 +0000
Resent-Message-ID: <handler.1633.B1633.17430261713457003@bugs.x2go.org>
Resent-Sender: owner@bugs.x2go.org
X-X2Go-PR-Message: followup 1633
X-X2Go-PR-Package: x2goserver
X-X2Go-PR-Keywords: 
References: <CANVnVYLkcoG0nfM1j5kRJ2yYxX2TTiBcc3k6QuqYPLG7Q6FW5w@mail.gmail.com> <810710459.135614.1741783851926@195.98.208.36> <CANVnVYL+si4Dn5OypG3iBYgwD-uf-n=mgLmWbFj6eoTv47S0aA@mail.gmail.com> <CANVnVYJX1DNocs6252Vin_G-_W8+h4amJ2wFgmu0AV6A=BqVhA@mail.gmail.com> <1728065184.137568.1741862572763@195.98.208.36> <1081187274.137588.1741862691938@195.98.208.36> <CANVnVY+DBpxq8E8KrAdP75+YEsKGM-Eup9dADxyCnntwjz8uLw@mail.gmail.com> <1748520028.138240.1741874623478@195.98.208.36> <CANVnVYLD5DjxtGQpb=S_0_95eMW2=Up0z1napK6CqTBuNTTa6A@mail.gmail.com> <192506419.142362.1742212383293@195.98.208.36> <CANVnVYK=JUV9-xmZPdOcme0SEFqk+jsxLEL7WJyYJQ2Eg3qk=Q@mail.gmail.com> <999247165.134927.1741773596827@195.98.208.36> <CANVnVYLAGWS4Kc5xpv-dAGhrbUuQXU5Fs258oHP6Fxewvas3XQ@mail.gmail.com> <240682715.155126.1742900373833@195.98.208.36> <999247165.134927.1741773596827@195.98.208.36>
Received: via spool by 1633-submit@bugs.x2go.org id=B1633.17430261713457003
          (code B ref 1633); Wed, 26 Mar 2025 22:00:01 +0000
Received: (at 1633) by bugs.x2go.org; 26 Mar 2025 21:56:11 +0000
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) 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,RCVD_IN_DNSWL_BLOCKED,
	RCVD_IN_ZEN_BLOCKED_OPENDNS,SPF_HELO_NONE,URIBL_BLOCKED,
	URIBL_DBL_BLOCKED_OPENDNS,URIBL_ZEN_BLOCKED_OPENDNS autolearn=ham
	autolearn_force=no version=3.4.4
Received: from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com [IPv6:2a00:1450:4864:20::12a])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id 801F35DA64
	for <1633@bugs.x2go.org>; Wed, 26 Mar 2025 22:56:05 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id 2adb3069b0e04-5499d2134e8so374746e87.0
        for <1633@bugs.x2go.org>; Wed, 26 Mar 2025 14:56:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1743026165; x=1743630965; darn=bugs.x2go.org;
        h=content-transfer-encoding:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=gNSvXrCA595NJhuRBY7tVubbvwA938AtzIIIMCZkAnc=;
        b=gHKyBmkVWpUzgphuq2vjqpLITJDAxn3yHahTBzBp2ctYZAMHRIFkQ3wxi8wnVGgRt4
         6Jqd8BPgB2FDHnBbhZdfoC1SLinlL90nYxrVvygJW9YtwzTnKVGI6dh/BumkOkzzWvB3
         JjjihjOuJgHUw1M4ODr3iiiaoccZoie5BBKbpjp38uERKbfxDIciAHy/fJ1MpaD+tihs
         q2I73SS/OtRDVMTkbz6dO6tSob+wBk2RMFoxN8UIIz4e7xcsi2ev9ltpX0bcaXlzBf+/
         Ur97EEmzdHjGMbNBwIxJVU+ZpYtyqdznFvd2A9XtokZf0ot7nWJwQoMEDLuBBsm5uMz2
         1imA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1743026165; x=1743630965;
        h=content-transfer-encoding:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=gNSvXrCA595NJhuRBY7tVubbvwA938AtzIIIMCZkAnc=;
        b=K/zBQJx+xFvLPLuJOITasQJBMtBPgeEUAMGxyUeeGY+W8zetnlw5rF9+a0Ph7aIG4Q
         BWVXLvYSpWDMzd1ZGgzS8feGkfCm4v73i4tbT4GYnxlanFfkyvSe0mqfPTNKfujDQpc6
         eBO3+lCsFYO9F3A2SHTsD/mQAWyCgu2OtbrF7rBjyBlRoSVgkxwFwgIJ6veQtNyjZofj
         daeBTAbZovqXrEUHyWaoHi0mS7JZJXLuAXkddF+7E0uwoZUyi8KK6r1vmxdSj0jvPLS2
         8fw6qelBhQQEGFUW1EqlVooef18YguqBlrXa2CEfm9zjsN6HpTngfFO+JbAIu2v7Qm71
         BasQ==
X-Forwarded-Encrypted: i=1; AJvYcCURpzsGwp7cHFk53WS0fUyymUl8b+XDPXas11S71xdlubFMbb/hm5dvljxfurdiCHSV1r6k@bugs.x2go.org
X-Gm-Message-State: AOJu0YzDN7h6gE+7JqtvnoYAQrmFQyyW5oG6C8xBYeIHtbcVeEVsGKWD
	q9iicih3AMmrb9C09nE1aPDe8SdZ6z+nM7lG2mqOQd4nugzC6eK88fVRiHM4SLzCgRH48X6Bezd
	oez2uIu55W2TFisp4EF0AVI6jZyc=
X-Gm-Gg: ASbGnctPo5in8tLY/btU3PuKNGHyQcPuCw6v1G9Im6LpobaoCbxAP0okJ8Bti6FviCD
	dkWeztanK/ajEIlsb7msfojXt7EFWm5i8fOLFSIwhJRMY6ostXRuZSrOgOJvexUijWB9c1zhMEe
	xc+AZxOd2okVT0K7FJc5Q9Lzfzog==
X-Google-Smtp-Source: AGHT+IFj+p2Db3bhrPxt4/vdgw0OATc4Obb9PsAPVFxWl5BhkQj0ZXcLX4fv0e2ulSM7sZdSs8xMSVv0DoD5BbarAcI=
X-Received: by 2002:a05:6512:3b06:b0:549:9143:4e8d with SMTP id
 2adb3069b0e04-54b011d09fbmr443194e87.8.1743026163903; Wed, 26 Mar 2025
 14:56:03 -0700 (PDT)
MIME-Version: 1.0
In-Reply-To: <240682715.155126.1742900373833@195.98.208.36>
From: Ulrich Sibiller <ulrich.sibiller@gmail.com>
Date: Wed, 26 Mar 2025 22:55:36 +0100
X-Gm-Features: AQ5f1JrXSUbs9dXvslSI4cRDUfOxhPSn5709Smkmd0pFk4VCpE8JrV1J7TgZRWA
Message-ID: <CANVnVYLWvKWX0Dg+P=sr1Khv3G7ZxFfaUEts_KRfdMnXaVOoTw@mail.gmail.com>
To: Jens Reyer <jens.reyer@leberrohstoffe.com>, 1633@bugs.x2go.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
thanks, review will take some time....

Uli

On Tue, Mar 25, 2025 at 12:00 PM Jens Reyer
<jens.reyer@leberrohstoffe.com> wrote:
>
> Hi
>
> sorry for the late reply. I made my answers inline:
>
>
> Ulrich Sibiller <ulrich.sibiller@gmail.com> hat am 17. März 2025 um 21:35 geschrieben:
>
> Hello again,
>
> I had a look at the logfile. It's been a while since I worked on the
> clipboard code. But I _think_ there are a few things you should test:
>
> restrict clipboard to text only: add X2GO_NXAGENT_DEFAULT_OPTIONS+="
> -textclipboard" to /etc/x2go/x2goagent.options on the server side and
> start a NEW session (no reconnect). Does that help?
>
> No, same behavior.
>
> But I kept this setting for all further tests.
>
>
> not sure what exactly you have been doing while creating the sessionlog. But I can seen "caja" on the server side requesting clipboard.
> Please try to run a session without caja (which is a file manager,
> unclear what it does with selections).
>
> See new session.log without any caja mention, from a client with twm/xterm to a session with twm on the server. There I started xterm, then did a "libreoffice --calc /home/localadmin/test.ods" and did several ctrl+c ctrl+v in that calc document.
>
>
> it _looks_ like something on the client side is requesting theclipboard when you are doing your tests. The question is what program
> is doing that. If possible run a few programs on the client side,
> preferably only a very simple session (fvwm twm or so) and an xterm.
> Run x2goclient from there.
> To find out what program on the client side is requesting the
> clipboard you can check the server log file for lines like this:
> nxagentHandleSelectionRequestFromXServer: Received
> SelectionRequestEvent from real server: selection [529][CLIPBOARD]
> target [469][TARGETS] requestor
> [display[nx,options=/tmp/.x2go-localadmin/C-localadmin-50-1742211621_stDMATE_dp24/options:50.0]/0xe09e31]
> destination [386][GDK_SELECTION] time [13640727]. The bold number is
> the requestor. You can check that with xwininfo -id <number> on the
> client.
>
> The bold marking went missing, so I just  tested all ids.
>
> From client mate to server twm I always get "No such window ...", e.g.
>
> me@client:~$ xwininfo -id 531
> X Error: 9: Bad Drawable
> Request Major code: 14
> ResourceID in failed request: 0x213
> Serial number of failed request: 3
> xwininfo: error: No such window with id 0x213.
>
>
> Then I tested from the twm/xterm client to a twm/xterm session on the server, see the attached Bug1633_nxagentHandleSelectionRequestFromXServer.log
>
>
>
> there's an option to include the clipboard content (or rather thedata being transferred) in the session log in DEBUG mode. This helps
> in identifying what stage we are in. Change #undef
> PRINT_CLIPBOARD_CONTENT_ON_DEBUG to #define and recompile
>
> Done, see new session.log.
>
>
> while at it you could also try to change the timeout for theclipboard transfer. I hardcoded 5s when I wrote all this and it was ok
> for me ever since. But YMMV. #define CONVERSION_TIMEOUT 5000. In your
> log I see errors like this "nxagentConvertSelection: got new request
> before timeout expired on previous request, notifying failure to
> client [20] (addr [0x557c39ea2f40] PID [18630] Cmd
> [/usr/lib/libreoffice/program/soffice.bin])". This means that the
> previous clipboard-related communication has not finished when soffice
> starts another request which then is denied. So this indicates that
> some answer from the client side is still due. I suspect that this
> answer is never sent so your diagnosis that every second paste is
> working might in fact resemble a 5s pattern. Meaning: you can only
> successfully paste every 5s, but not quicker. So I suggest to decrease
> the timeout to 2s or so and see if that makes a difference for you.
> One thing here is strange here, though: Doing a copy in soffice on the
> server side makes soffice the clipboard owner. So while you are
> working inside soffice there should be no communication to the client
> that awaits any answer. Which again leads me to the suspicion that
> there's some clipboard manager involved.
>
> First I tried waiting for 15 seconds after copying: this does NOT help.
>
> Then I recompiled with #define CONVERSION_TIMEOUT 2000, same behavior, see new session.log
>
>
> x11 clipboard transfers are size restricted. That means that biggerselections are to be transferred to the requestor in multiple packets.
> nx does not support this currently, so you are restricted to 256kB. Is
> it possible that your selection is bigger than that?
>
> No, its always just a few characters.
>
>
>
> I also see SelectionClear requests from the client side. Which alsoindicates there's something dealing with clipboard on the client side.
>
> I still see SelectionClear in the new twm/xterm to twm/xterm session.log, but I'm not sure which side they are from.
>
>
>
> I played around with these tools:https://github.com/phillbush/xcliputils Using xclipowner -w you can
> watch if the clipboard owner changes. Run that on the client and then
> do clipboard stuff in libreoffice on the server. The owner as printed
> by xclipowner should never change except for the first time. If it
> does we have another indication of a clipboard-manager-in-the-middle
> attack ;-)
>
> From client Mate to server twm a successful ctrl+c results in
>
> 0x03C0016A
>
> and a failed ctrl+c results in a
>
> 0x00000000
> 0x03C0016A
>
>
> From twm/xterm client to a twm/xterm session on the server both failed and successful ctrl+c results in
>
> 0x00E0016A
>
>
> Thanks and greets
>
> _______________________________________________
> x2go-dev mailing list
> x2go-dev@lists.x2go.org
> https://lists.x2go.org/listinfo/x2go-dev

Send a report that this bug log contains spam.


X2Go Developers <owner@bugs.x2go.org>. Last modified: Wed Apr 2 16:39:42 2025; 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.