X2Go Bug report logs - #1094
When connected to a x2go server that has nVidia's binary drivers most software will segfault.

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

Reported by: zingmars <zingmars@playgineering.com>

Date: Tue, 27 Sep 2016 17:40:01 UTC

Severity: normal

Full log


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

Received: (at 1094) by bugs.x2go.org; 11 May 2017 19:15:14 +0000
From moskewcz@gmail.com  Thu May 11 21:15:13 2017
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on
	ymir.das-netzwerkteam.de
X-Spam-Level: *
X-Spam-Status: No, score=1.2 required=3.0 tests=BAYES_50,DKIM_SIGNED,
	DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,
	RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,RCVD_IN_SORBS_SPAM autolearn=no
	autolearn_force=no version=3.4.1
Received: from localhost (localhost [127.0.0.1])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTP id DF53A5DAD2
	for <1094@bugs.x2go.org>; Thu, 11 May 2017 21:15:12 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at ymir.das-netzwerkteam.de
Received: from ymir.das-netzwerkteam.de ([127.0.0.1])
	by localhost (ymir.das-netzwerkteam.de [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id REUNPkrQF3td for <1094@bugs.x2go.org>;
	Thu, 11 May 2017 21:15:06 +0200 (CEST)
Received: from mail-it0-f44.google.com (mail-it0-f44.google.com [209.85.214.44])
	by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id 839E45DA4D
	for <1094@bugs.x2go.org>; Thu, 11 May 2017 21:15:05 +0200 (CEST)
Received: by mail-it0-f44.google.com with SMTP id e65so25691661ita.1
        for <1094@bugs.x2go.org>; Thu, 11 May 2017 12:15:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20161025;
        h=mime-version:from:date:message-id:subject:to;
        bh=vW/b3z0nEec+3BCij4cBE9pw9uKvNL8IxkMgfZykk0c=;
        b=nNgc3Rxdg8YD4xBi/+so+XHddYudWEz7OFYswrGoOYEo80B8X5WSizMKfwbK5Rri2p
         nMdeh9BcmiSvHt9bRfK3LcyG1v6bMuC9Bhmiq5iTm/Xc8bmY9y7w5fNfGilyyuJKnBJw
         DbxIbG+436yFeYP+A3B9st7m3W0tttKffy/uXQCA3g37zjYqr5I/sGmMaQgCvpXJP2es
         0KPW1sSswwFBnawnT+TPiOBuiMPnT8JIuIxAjPH8r0u1F0/sDbaMgF0m0pv3TxH/D7/U
         qYAOgA8TESzP+3h9zEKR/cMMoVcIkVG5h3eg4T1PYUXUFkJIgM4QHvf2lTqQfHC+I9we
         R4SA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20161025;
        h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
        bh=vW/b3z0nEec+3BCij4cBE9pw9uKvNL8IxkMgfZykk0c=;
        b=I+Wut6B8oQFFt7AJk0lnCtkNfPcNqRYWGbmr2toXHCH1O9rOEYSTZ4EqJy2mlLX2Ez
         BIj4tvhYqqO/sarBWtsLfdPBaBMoviqvwE6rOXLNo0SSCjz5WFRQPAmuIppM2w8CGckJ
         3Olk+MbVu97S1L0Llt5bgDXDqtCIaDzA4O8PU0ZXfe8Y6864LNpA5QuTM651eoo7/ctR
         iFMTrRYrfQEr3kh/NjtkLosLbAF3Dvc5uCBMyLyTkE7ec7cNseAWt/f2auyVLtmoZ5Qb
         G/VFTu8fpmtiHM9gMFzSbyGYKenPboiZ2U3LE7kHbCwwqYHddQTNJVW5L+oxXv14xQNU
         xTug==
X-Gm-Message-State: AODbwcAyzQI2ZZEOm37Z0CGsZFepAWNMQ+af415Wh9S9kKpGxMLQ7QWp
	HJpbj3aj5IiJSvR+AiPymo/t1/2nVBNS
X-Received: by 10.36.26.20 with SMTP id 20mr415532iti.39.1494530104034; Thu,
 11 May 2017 12:15:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.50.92.70 with HTTP; Thu, 11 May 2017 12:15:03 -0700 (PDT)
From: Matthew Moskewicz <moskewcz@gmail.com>
Date: Thu, 11 May 2017 12:15:03 -0700
Message-ID: <CAP_1Qv=DQmr_=XtwVa1LymXMsm4Twm231hXv0rY-FkKhwRRsxA@mail.gmail.com>
Subject: When connected to a x2go server that has nVidia's binary drivers most
 software will segfault.
To: 1094@bugs.x2go.org
Content-Type: multipart/alternative; boundary="001a11446798f5481a054f4467f5"
[Message part 1 (text/plain, inline)]
i ran into this issue on ubuntu 16.04 (64 bit), and i can confirm that both
workarounds (using Nouveau and setting LD_LIBRARY_PATH=/usr/lib/nvidia-375
) fix the issue.

to add a bit more info, it seems that in the failing case, glxinfo (or
presumably the other apps), can't find the GLX_indirect library that it
trys to load dynamically, which has something to glvnd:
https://github.com/NVIDIA/libglvnd

looking at ldd, you can see that glxinfo is finding the GL libraries fine,
using the system-set ld.so.conf settings that the nvidia driver sets up:
moskewcz@mari:/etc/ld.so.conf.d$ ldd /usr/bin/glxinfo
    linux-vdso.so.1 =>  (0x00007ffe4779c000)
    libGL.so.1 => /usr/lib/nvidia-375/libGL.so.1 (0x00007fcd87f35000)
    libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6
(0x00007fcd87bfb000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcd87831000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcd8762d000)
    libGLX.so.0 => /usr/lib/nvidia-375/libGLX.so.0 (0x00007fcd873fd000)
...

the paths are set here:
moskewcz@mari:/etc/ld.so.conf.d$ cat
/etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf
/usr/lib/nvidia-375
/usr/lib32/nvidia-375

using strace, we can see the difference that setting LD_LIBRARY_PATH makes:

# working case, opens the correct lib:
moskewcz@mari:/etc/ld.so.conf.d$ LD_LIBRARY_PATH=/usr/lib/nvidia-375 strace
glxinfo 2>&1 | grep GLX_ind
open("/usr/lib/nvidia-375/tls/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) =
-1 ENOENT (No such file or directory)
open("/usr/lib/nvidia-375/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = 4

# non-working case, fails to open libGLX_indirect.so:
moskewcz@mari:/etc/ld.so.conf.d$ strace glxinfo 2>&1 | grep GLX_ind
open("/lib/x86_64-linux-gnu/tls/x86_64/libGLX_indirect.so.0",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/tls/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC)
= -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/x86_64/libGLX_indirect.so.0",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/lib/x86_64-linux-gnu/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = -1
ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/tls/x86_64/libGLX_indirect.so.0",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/tls/libGLX_indirect.so.0",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/x86_64/libGLX_indirect.so.0",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/x86_64-linux-gnu/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC)
= -1 ENOENT (No such file or directory)
open("/lib/tls/x86_64/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = -1
ENOENT (No such file or directory)
open("/lib/tls/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No
such file or directory)
open("/lib/x86_64/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT
(No such file or directory)
open("/lib/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such
file or directory)
open("/usr/lib/tls/x86_64/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = -1
ENOENT (No such file or directory)
open("/usr/lib/tls/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT
(No such file or directory)
open("/usr/lib/x86_64/libGLX_indirect.so.0", O_RDONLY|O_CLOEXEC) = -1
ENOENT (No such file or directory)
[...snip many more repeats of failed-to-load libGLX_indirect...]


however, it's not clear why, under x2go, the nvidia code isn't searching in
/usr/lib/nvidia-375 -- but it's not clear what code it uses for the DL
loading, maybe it is somewhere in the glvnd code.

mwm
[Message part 2 (text/html, inline)]

Send a report that this bug log contains spam.


X2Go Developers <owner@bugs.x2go.org>. Last modified: Sat Jul 20 22:04:38 2019; Machine Name: ymir.das-netzwerkteam.de

X2Go Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.