Subject: Re: [X2Go-Dev] Bug#1206: unable to copy to clipboard with more than 256 kB

From: Ulrich Sibiller <[email-masked]>
Date: Thu, 21 Sep 2017 23:51:13 +0200

On Thu, Sep 21, 2017 at 5:18 PM, Pawel Kalita <[email-masked]> wrote:
> Package: x2goclient (Windows 7 SP1 64 Bit)
> Version: 4.0.5.2 (x2goclient 4.1.0.0 does not work, crashes on connect, bug
> report-#1163)
>
> Package: x2goclient (Fedora 26)
> Version: 4.1.0.0-1.fc26
>
> Package: x2goserver (CentOS Linux 7.3)
> Version: v4.0.1.20
>
>
> Multiple applications are affected such firefox or databasetools e. g.
> When connecting from physical windows or linux desktop with locally
> installed pgAdmin3/ or /pgAdmin4 to the remote postgresql database I can
> copy without any problems mapped_value text executed from a SQL query with
> more than 250000 characters and paste it in any editor on physical
> windows/linux desktop.

Actually the size should be 256kb. The corresponding code is in
nxagent and looks like this:

      /*
      * The state machine is able to work in two phases. In the first
      * phase we get the size of property data, in the second we get
      * the actual data. We save a round-trip by requesting a prede-
      * termined amount of data in a single GetProperty and by discar-
      * ding the remaining part. This is not the optimal solution (we
      * could get the remaining part if it doesn't fit in a single
      * reply) but, at least with text, it should work in most situa-
      * tions.
      */

     lastClientStage = SelectionStageQueryData;
     lastClientPropertySize = 262144;

(dont let the "last" confuse you here). So I guess increasing that
value would help in your situation. However, it looks like a bug,
since the code should loop and work wiht more than 256kb. But for some
reason not yet understood it does not...

> When connecting from physical windows or linux desktop to the remote
> postgresql database using x2goclient and trying to copy and paste data from
> remote database to the physical windows/linux desktop editor it simply does
> not work.
>
> The issue is reproducible.
>
> Probably it is a connected issue
> https://www.uninformativ.de/blog/postings/2017-04-02/0/POSTING-en.html

Could be. nx contains an own mechanism similar to INCR and I have not
seen any reference to INCR within the code. So maybe it should learn
about INCR and extend its own mechanism.

Thanks for reporting that problem!

Uli