Package: xserver-xorg-video-nouveau
Severity: grave
Version: 1:1.0.17-2

Dear Maintainer,

> What led up to the situation?

I've dist-upgraded a 7 years old HP workstation with an "NVIDIA
Corporation GM206 [GeForce GTX 960] (rev a1)" graphics card from Debian
11 to 12. It was previously working fine with the nouveau driver and
three screens attached.

After the dist-upgrade, X crashes immediately and reproducibly with
segfault upon start. Tried IIRC two times with wdm and once with
startx. The following log is from the last try with wdm _before_ using a
different driver:

X.Org X Server 1.21.1.7
X Protocol Version 11, Revision 0
Current Operating System: Linux emehari 6.1.0-9-amd64 #1 SMP PREEMPT_DYNAMIC 
Debian 6.1.27-1 (2023-05-08) x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.1.0-9-amd64 
root=/dev/mapper/vgssd-root ro kaslr pti=on slab_nomerge page_poison=1 
slub_debug=FPZ
xorg-server 2:21.1.7-3 (https://www.debian.org/support)
Current version of pixman: 0.42.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Tue Jun 27 23:06:34 2023
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
nvc0_screen_create:1072 - Base screen init failed: -19
(EE)
(EE) Backtrace:
(EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+0x139) [0x55dc10b2ad29]
(EE) 1: /lib/x86_64-linux-gnu/libc.so.6 (__sigaction+0x40) [0x7f895105af90]
(EE) 2: /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so 
(nouveau_drm_screen_create+0x4406c) [0x7f894f36c2fc]
(EE) 3: /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so 
(nouveau_drm_screen_create+0x1e4c9) [0x7f894f346759]
(EE) 4: /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so 
(nouveau_drm_screen_create+0x266) [0x7f894f3284f6]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 5: /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so (?+0x0) [0x7f894eaaaf76]
(EE) 6: /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so 
(__driDriverGetExtensions_d3d12+0x61dab4) [0x7f894f0c8ff4]
(EE) 7: /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so 
(__driDriverGetExtensions_d3d12+0x1a93) [0x7f894eaacfd3]
(EE) 8: /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so 
(__driDriverGetExtensions_d3d12+0xa1a5) [0x7f894eab56e5]
(EE) 9: /usr/lib/x86_64-linux-gnu/libgbm.so.1 (gbm_format_get_name+0xf2e) 
[0x7f895079beae]
(EE) 10: /usr/lib/x86_64-linux-gnu/libgbm.so.1 (gbm_format_get_name+0x16f8) 
[0x7f895079c678]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 11: /usr/lib/x86_64-linux-gnu/libgbm.so.1 (?+0x0) [0x7f895079a74c]
(EE) 12: /usr/lib/x86_64-linux-gnu/libgbm.so.1 (gbm_create_device+0x44) 
[0x7f895079a884]
(EE) 13: /usr/lib/xorg/modules/libglamoregl.so (glamor_egl_init+0x61) 
[0x7f89507d43c1]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 14: /usr/lib/xorg/modules/drivers/modesetting_drv.so (?+0x0) 
[0x7f8951949733]
(EE) 15: /usr/lib/xorg/Xorg (InitOutput+0x952) [0x55dc109fa4c2]
(EE) 16: /usr/lib/xorg/Xorg (InitFonts+0x1ce) [0x55dc109bb4de]
(EE) 17: /lib/x86_64-linux-gnu/libc.so.6 (__libc_init_first+0x8a) 
[0x7f895104618a]
(EE) 18: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0x85) 
[0x7f8951046245]
(EE) 19: /usr/lib/xorg/Xorg (_start+0x21) [0x55dc109a4b71]
(EE)
(EE) Segmentation fault at address 0x20
(EE)
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting

Switching to xserver-xorg-video-nvidia with nvidia-kernel-dkms (but not
nvidia-open-kernel-source — which made X show up on only one screen
without any xrandr or nvidia-settings capabilities) fixed the
issue. Hence reporting this against the nouveau driver as replacing it
fixed the issue.

(Feel free to reassign this bug to e.g. xserver-xorg-core/2:21.1.7-3 or
libgl1-mesa-dri/22.3.6-1+deb12u1 or similar if you think the bug is
nevertheless rather in there.)

There was no xorg.conf besides the system-provided /etc/xorg.conf.d/*
files present. Now there is one needed due to the three-headed monkey,
eh three-headed screen setup.

So basically nouveau with that graphics card (and maybe my screen setup
which includes two rotated screens, see below) is impossible due to a
severe regression in (likely) the noveau driver.

I would have expected that I could just use the much preferred free
nouveau driver as with Bullseye.

Hardware is an "HP EliteDesk 800 G2 TWR" with an "NVIDIA Corporation
GM206 [GeForce GTX 960] (rev a1)" graphics card:

# lspci | fgrep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GM206 [GeForce GTX 960] 
(rev a1)

I can also reinstall xserver-xorg-video-nouveau if wanted to
e.g. provide an additional backtrace with gdb or strace the execution in
case that would offer more insight than the backtrace from Xorg.0.log
respectively syslog. Just might take a few or so until I get the chance
to logout from my X session and do these tests.

The screens attached as with the current non-free NVidia binary driver:

Screen 0: minimum 8 x 8, current 4320 x 1920, maximum 16384 x 16384
DVI-I-0 disconnected primary (normal left inverted right x axis y axis)
DVI-I-1 connected 1200x1600+0+0 left (normal left inverted right x axis y axis) 
432mm x 324mm
   1600x1200     60.00*+
   1280x1024     60.02
   1280x960      60.00
   1024x768      60.00
   800x600       60.32
   640x480       59.94
HDMI-0 connected 1920x1200+1200+0 (normal left inverted right x axis y axis) 
518mm x 324mm
   1920x1200     59.95*+  59.88
   1920x1080     60.00    59.94    50.00    29.97    25.00    23.98    60.05    
60.00    50.04
   1600x1200     60.00
   1280x1024     75.02    60.02
   1280x720      60.00    59.94    50.00
   1152x864      75.00
   1024x768      75.03    60.00
   800x600       75.00    60.32
   720x576       50.00
   720x480       59.94
   640x480       75.00    59.94    59.93
DP-0 connected 1200x1920+3120+0 left (normal left inverted right x axis y axis) 
518mm x 324mm
   1920x1200     59.95*+  59.88
   1920x1080     60.00    59.94    50.00    29.97    25.00    23.98
   1600x1200     60.00
   1280x1024     75.02    60.02
   1280x720      60.00    59.94    50.00
   1152x864      75.00
   1024x768      75.03    60.00
   800x600       75.00    60.32
   720x576       50.00
   720x480       59.94
   640x480       75.00    59.94    59.93
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)

I can also report more hardware details if needed. Just tell me what
information or command output is needed, e.g. full output of lspci,
dmidecode, lshw, report-hw from installation-report, etc.

On a first glance this seems similar to in
https://bugs.debian.org/1025419 as in both cases nouveau seems involved
and it crashes at "OsLookupColor+0x139"

The comments in there point to libunwind which fits with the messages

  (EE) unw_get_proc_name failed: no unwind info found [-10]

found in the Xorg.0.log respectively syslog.

This is though no brand new virtualized Apple Silicon hardware but a 7
years old x86_64 system. Also the libunwind8 changelog suggests that
#1025419 was actually fixed with the upload 1.6.2-3 (currently in
stable, testing and unstable) and is actually a duplicate of
https://bugs.debian.org/1026217 and specific to Apple Silicon due to is
page size of 16k.

https://bugs.debian.org/1033222 in libgl1-mesa-dri looks also similar
and here it's also on amd64, but a seemingly very different NVidia
graphics card.

Will comment on these two bug reports separately as the BTS doesn't like
X-Debbugs-Cc to other bug reports. ;-)

-- System Information:
Debian Release: 12.0
  APT prefers stable-security
  APT policy: (500, 'stable-security'), (500, 'stable-debug'), (500, 'stable'), 
(400, 'proposed-updates-debug'), (400, 'proposed-updates')
merged-usr: no
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-9-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
LSM: AppArmor: enabled

Reply via email to