Subject: Bug#723: [X2Go-Dev] Bug#723: x2go sessions insta-break with some GUI software (ROOT TBrowser)

From: "Babutzka, Martin (EKP)" <[email-masked]>
Date: Fri, 9 Jan 2015 15:55:57 +0100

Some updates on this bug:

I've tested several VcXsrv-Versions from http://code.x2go.org/releases/binary-win32/3rd-party/vcxsrv-modified-by-x2go-project/
The bug purely occurs with the more recent versions of VcXsrv - like 1.15.2.0 and 1.15.2.1
The bug does NOT occur with the older versions 1.14 (tested 1.14.3.2).

So the bug is caused by changes made in VcXsrv from version 1.14 to 1.15. I used the debug version "vcxsrv-debug.1.15.2.1-xp+vc2013+x2go1.installer.exe" to receive the following trace of the SIGFAULT:

Program received signal SIGSEGV, Segmentation fault.
in memcpy () from C:\Temp\VcXsrv-Debug\msvcr120d.dll

0x5b4b3365  <+0x01c5>        f3 0f 6f 0e              movdqu (%esi),%xmm1
0x5b4b3369  <+0x01c9>        83 e9 10                 sub    $0x10,%ecx
0x5b4b336c  <+0x01cc>        8d 76 10                 lea    0x10(%esi),%esi
0x5b4b336f  <+0x01cf>        66 0f 7f 0f              movdqa %xmm1,(%edi)
0x5b4b3373  <+0x01d3>        8d 7f 10                 lea    0x10(%edi),%edi
0x5b4b3376  <+0x01d6>        eb e8                    jmp    0x5b4b3360 <memcpy+448>
0x5b4b3378  <+0x01d8>        0f ba e1 02              bt     $0x2,%ecx
0x5b4b337c  <+0x01dc>        73 0d                    jae    0x5b4b338b <memcpy+491>
0x5b4b337e  <+0x01de>        8b 06                    mov    (%esi),%eax
0x5b4b3380  <+0x01e0>        83 e9 04                 sub    $0x4,%ecx
0x5b4b3383  <+0x01e3>        8d 76 04                 lea    0x4(%esi),%esi
0x5b4b3386  <+0x01e6>        89 07                    mov    %eax,(%edi)
0x5b4b3388  <+0x01e8>        8d 7f 04                 lea    0x4(%edi),%edi
0x5b4b338b  <+0x01eb>        0f ba e1 03              bt     $0x3,%ecx
0x5b4b338f  <+0x01ef>        73 11                    jae    0x5b4b33a2 <memcpy+514>
0x5b4b3391  <+0x01f1>        f3 0f 7e 0e              movq   (%esi),%xmm1
0x5b4b3395  <+0x01f5>        83 e9 08                 sub    $0x8,%ecx
0x5b4b3398  <+0x01f8>        8d 76 08                 lea    0x8(%esi),%esi
0x5b4b339b  <+0x01fb>        66 0f d6 0f              movq   %xmm1,(%edi)
0x5b4b339f  <+0x01ff>        8d 7f 08                 lea    0x8(%edi),%edi
0x5b4b33a2  <+0x0202>        8b 04 8d d8 34 4b 5b     mov    0x5b4b34d8(,%ecx,4),%eax
0x5b4b33a9  <+0x0209>        ff e0                    jmp    *%eax
0x5b4b33ab  <+0x020b>        f7 c7 03 00 00 00        test   $0x3,%edi
0x5b4b33b1  <+0x0211>        75 15                    jne    0x5b4b33c8 <memcpy+552>
0x5b4b33b3  <+0x0213>        c1 e9 02                 shr    $0x2,%ecx
0x5b4b33b6  <+0x0216>        83 e2 03                 and    $0x3,%edx
0x5b4b33b9  <+0x0219>        83 f9 08                 cmp    $0x8,%ecx
0x5b4b33bc  <+0x021c>        72 2a                    jb     0x5b4b33e8 <memcpy+584>
SEGFAULT
0x5b4b33be  <+0x021e>        f3 a5                    rep movsl %ds:(%esi),%es:(%edi)

---

From: Michael DePaulo <[email-masked]>
Date: Fri, 9 Jan 2015 10:29:26 -0500

> So the bug is caused by changes made in VcXsrv from version 1.14 to 1.15. I used the debug version "vcxsrv-debug.1.15.2.1-xp+vc2013+x2go1.installer.exe" to receive the following trace of the SIGFAU…
[...]

Hi Martin,

This is a bug that I do intend to fix when I get a chance, even if it
means fixing the bug in the VcXsrv code. However, I am not an expert
at C, and I probably will not fix this anytime soon. (Patches from
others are welcome.)

However, in the meantime, you can follow this workaround:
1. Install VcXsrv (VcXsrv-xp) 1.14.3.2 and remember where you installed it.
2. Configure X2Go Client for Windows to use that vcxsrv.exe as an
external X server: Options -> Settings -> X-Server settings

If you have a large number of users or machines that need these
settings, you can save the settings a registry key that can be
exported and imported per-user-account and per-machine. The reg key
is:
[HKEY_CURRENT_USER\Software\Obviously Nice\x2goclient\settings]

-Mike#2

---

From: "Babutzka, Martin (EKP)" <[email-masked]>
Date: Mon, 12 Jan 2015 11:45:21 +0100

Hey Mikes :-)

Thanks for your replies. We resolved the problem by recommending the x2go client version 4.0.2.1 to our users which includes a sufficiently old Vcxsrv. We are fine with this solution.
Please keep this upstream-bug in vcxsrv in mind for the case more applications show the problem and replicated bug reports are created.

Thanks for your efforts on the x2go-software!
Martin

*****
Martin Babutzka
Karlsruher Institut für Technologie (KIT), ITEP-TLK und IEKP
Email: [email-masked]
Tel.: +49 721 608 24041 (TLK)
oder: +49 721 608 24097 (IK)

-----Ursprüngliche Nachricht-----
Von: Michael DePaulo [mailto:[email-masked]] 
Gesendet: Freitag, 9. Januar 2015 16:29
An: Babutzka, Martin (EKP); [email-masked]
Betreff: Re: [X2Go-Dev] Bug#723: Bug#723: x2go sessions insta-break with some GUI software (ROOT TBrowser)

On Fri, Jan 9, 2015 at 9:55 AM, Babutzka, Martin (EKP) <[email-masked]> wrote:
> I've tested several VcXsrv-Versions from 
> http://code.x2go.org/releases/binary-win32/3rd-party/vcxsrv-modified-b
> y-x2go-project/ The bug purely occurs with the more recent versions of 
> VcXsrv - like 1.15.2.0 and 1.15.2.1 The bug does NOT occur with the 
> older versions 1.14 (tested 1.14.3.2).
>
[...]

Hi Martin,

This is a bug that I do intend to fix when I get a chance, even if it means fixing the bug in the VcXsrv code. However, I am not an expert at C, and I probably will not fix this anytime soon. (Patches from others are welcome.)

However, in the meantime, you can follow this workaround:
1. Install VcXsrv (VcXsrv-xp) 1.14.3.2 and remember where you installed it.
2. Configure X2Go Client for Windows to use that vcxsrv.exe as an external X server: Options -> Settings -> X-Server settings

If you have a large number of users or machines that need these settings, you can save the settings a registry key that can be exported and imported per-user-account and per-machine. The reg key
is:
[HKEY_CURRENT_USER\Software\Obviously Nice\x2goclient\settings]

-Mike#2

---

From: Mike Gabriel <[email-masked]>
Date: Mon, 12 Jan 2015 12:10:47 +0000

On  Mo 12 Jan 2015 11:45:21 CET, Babutzka, Martin (EKP) wrote:

> Hey Mikes :-)
>
> Thanks for your replies. We resolved the problem by recommending the  
> x2go client version 4.0.2.1 to our users which includes a  
> sufficiently old Vcxsrv. We are fine with this solution.
> Please keep this upstream-bug in vcxsrv in mind for the case more  
> applications show the problem and replicated bug reports are created.
>

Thanks, Martin, for your feedback.

We will leave this bug open so that Mike#2 remembers to fix it later  
some time...

;-)
Mike

-- 

DAS-NETZWERKTEAM
mike gabriel, herweg 7, 24357 fleckeby
fon: +49 (1520) 1976 148

GnuPG Key ID 0x25771B31
mail: [email-masked], http://das-netzwerkteam.de

freeBusy:
https://mail.das-netzwerkteam.de/freebusy/m.gabriel%40das-netzwerkteam.de.xfb

---

From: Michael DePaulo <[email-masked]>
Date: Tue, 13 Jan 2015 09:02:48 -0500

[...]

No problem.

I'm glad you have a workaround for the time being.

-Mike#2