[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]


Package: libc6
Severity: critical
Justification: breaks the whole system


I found out a regression brought by Debian 9.3 with NVidia binary drivers on
some GPUs including mine. The regression simply breaks NVidia GLX library with
a segfault in function strtol_l_internal (file strtolol_l.c) although it seems
this file has not been updated directly.

Note that it does not affect all GPUs but at least mine, NVidia Pascal GPU.
NVidia Maxwell GPUs seem unaffected.

I discovered it while starting my X server using a debugger, and here's the
stack :
#0  0x00007ffff588ad01 in __GI_____strtol_l_internal (nptr=0x7fffffffe2b1
"001 GLX", endptr=0x7fffffffe2a8, base=10, group=<optimized out>,
loc=0x555555ad3620) at ../stdlib/strtol_l.c:293
#1  0x00005555555cd0cb in ?? ()
#2  0x00005555555bbeb0 in AddExtension ()
#3  0x00007ffff381d7b2 in ?? () from /usr/lib/xorg/modules/linux/libglx.so
#4  0x00005555555bc040 in ?? ()
#5  0x000000000000001d in ?? ()
#6  0x0000000000000200 in ?? ()
#7  0x0000000000000000 in ?? ()

My computer :
Debian 9.3 amd64
Intel Core i7 4790
NVidia GeForce GTX 1070 (at least the generation seems to matter) w/ NVidia
blob 375.82

Note that as of now I use NVidia blob from bpo but the issue also happens w/
the driver from stable.

A workaround to this bug consists in either disabling the GLX module in xorg.conf using :
Section "Module"
   Disable "glx"

I also tried using Option "AllowGLXWithComposite" "False" (w/o explicit glx module disablement) but it does only work as long as you do not disable compositing in the same time. And basically with this setting anything that uses GLX crashes in that case.

-- System Information:
Debian Release: 9.3
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-4-amd64 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE= (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Reply to: