Bug#879030: 375.82-5: glxgears segmentation fault in glXCreateContext

Vincas Dargis vindrg at gmail.com
Sun Nov 12 15:21:43 UTC 2017


OK so I've seen that there were some nvidia ang GL-related upgrades for my Testing machine, so I have attempted to retry 
by reinstalling related packages.

First I've purged:

```
sudo apt purge --autoremove bumblebee primus primus-libs nvidia-*
```

After reboot:

```
glxgears -info
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
GL_RENDERER   = Mesa DRI Intel(R) Haswell Mobile
GL_VERSION    = 3.0 Mesa 17.2.4
GL_VENDOR     = Intel Open Source Technology Center
```

No longer SGI graphics, it's Intel, at least as expected by myself.

Then, I have installed as Debian wiki suggest [0] (including i386 libs):

```
sudo apt install bumblebee-nvidia primus primus-libs:i386
```

After reboot, it's SGI, not Intel by default?

```
$ glxinfo | head
name of display: :0
display: :0  screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
```

Anyway, I still get crash with optirun:

```
$ optirun -vv glxgears -info
[  172.468974] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[  172.469591] [DEBUG]optirun version 3.2.1 starting...
[  172.469616] [DEBUG]Active configuration:
[  172.469621] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[  172.469627] [DEBUG] X display: :8
[  172.469632] [DEBUG] LD_LIBRARY_PATH: /usr/lib/x86_64-linux-gnu/nvidia:/usr/lib/i386-linux-gnu/nvidia:/usr/lib/nvidia
[  172.469638] [DEBUG] Socket path: /var/run/bumblebee.socket
[  172.469647] [DEBUG] Accel/display bridge: auto
[  172.469658] [DEBUG] VGL Compression: proxy
[  172.469667] [DEBUG] VGLrun extra options:
[  172.469675] [DEBUG] Primus LD Path: 
/usr/lib/x86_64-linux-gnu/primus:/usr/lib/i386-linux-gnu/primus:/usr/lib/primus:/usr/lib32/primus
[  172.482865] [DEBUG]Using auto-detected bridge primus
[  174.101149] [INFO]Response: Yes. X is active.

[  174.101162] [INFO]Running application using primus.
[  174.101253] [DEBUG]Process glxgears started, PID 4082.
primus: fatal: failed to load any of the libraries: 
/libGL.so.1:/usr/lib/i386-linux-gnu/nvidia/libGL.so.1:/usr/lib/nvidia/libGL.so.1
/usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
/usr/lib/i386-linux-gnu/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
/usr/lib/nvidia/libGL.so.1: cannot open shared object file: No such file or directory
[  174.153424] [DEBUG]SIGCHILD received, but wait failed with No child processes
[  174.153441] [DEBUG]Socket closed.
[  174.153452] [DEBUG]Killing all remaining processes.
```

```
$ sudo journalctl -u bumblebeed
-- Logs begin at Sun 2017-11-12 17:00:08 EET, end at Sun 2017-11-12 17:04:21 EET. --
Lap 12 17:00:18 vinco systemd[1]: Started Bumblebee C Daemon.
Lap 12 17:00:20 vinco bumblebeed[794]: [   16.709738] [INFO]/usr/sbin/bumblebeed 3.2.1 started
Lap 12 17:02:57 vinco bumblebeed[794]: [  174.101004] [WARN][XORG] (WW) Warning, couldn't open module mouse
Lap 12 17:02:57 vinco bumblebeed[794]: [  174.101019] [ERROR][XORG] (EE) Failed to load module "mouse" (module does not 
exist, 0)
Lap 12 17:02:57 vinco bumblebeed[794]: [  174.101027] [WARN][XORG] (WW) NVIDIA(0): Unable to get display device for DPI 
computation.
Lap 12 17:02:57 vinco bumblebeed[794]: [  174.101031] [WARN][XORG] (WW) Warning, couldn't open module mouse
Lap 12 17:02:57 vinco bumblebeed[794]: [  174.101034] [ERROR][XORG] (EE) Failed to load module "mouse" (module does not 
exist, 0)
Lap 12 17:02:57 vinco bumblebeed[794]: [  174.101037] [ERROR][XORG] (EE) PreInit returned 2 for "<default pointer>"
Lap 12 17:02:57 vinco bumblebeed[794]: [  174.101041] [ERROR][XORG] (EE) PreInit returned 2 for "<default keyboard>"

```

If crash is due to `/usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1: cannot open shared object file`, then it feels like 
there is missing some sort of symlink? I see lot's of dll's inside `current` sub directory. Thought it's only EGL and 
GLX, but no GL?

```
$ tree /usr/lib/x86_64-linux-gnu/nvidia/
/usr/lib/x86_64-linux-gnu/nvidia/
└── current
     ├── libEGL_nvidia.so.0 -> libEGL_nvidia.so.375.82
     ├── libEGL_nvidia.so.375.82
     ├── libGLX_indirect.so.0 -> libGLX_nvidia.so.375.82
     ├── libGLX_nvidia.so.0 -> libGLX_nvidia.so.375.82
     ├── libGLX_nvidia.so.375.82
     ├── libnvidia-ml.so -> libnvidia-ml.so.1
     ├── libnvidia-ml.so.1 -> libnvidia-ml.so.375.82
     ├── libnvidia-ml.so.375.82
     ├── libvdpau_nvidia.so.1 -> libvdpau_nvidia.so.375.82
     └── libvdpau_nvidia.so.375.82
```

What could be possible cause for that missing `/usr/lib/x86_64-linux-gnu/nvidia/libGL.so.1` ?

[0] https://wiki.debian.org/Bumblebee#From_repository



More information about the pkg-nvidia-devel mailing list