Xorg + nvidia + evdev = segfault + spinlock

Mateusz Kijowski mateusz.kijowski w gmail.com
Wto, 10 Lis 2009, 14:04:25 CET


Hej,


Mam kłopot z Xami na th. Od jakiegoś czasu (najpewniej update
xorg-xserver-server 1.6.x -> 1.7.x) w trakcie normalnej pracy na
desktopie Xy zaczynają wariować. Mam wrażenie, że dzieje się to gdy
korzystam z kółka w myszce, ale nie mam dowodów na poparcie tej tezy.
Wtedy zaczyna się kongo: Jeden ekran gaśnie, a po chwili cały pulpit
przestaje być responsywny. Logi Xów pokazują coś takiego:

(II) Nov 10 13:06:22 NVIDIA(0): Setting mode "1280x1024,1280x1024"
(II) Nov 10 13:06:22 NVIDIA(0): Setting mode "1280x1024,1280x1024"
(II) Nov 10 13:06:22 NVIDIA(0): Setting mode "1280x1024,1280x1024"
(II) Nov 10 13:06:22 NVIDIA(0): Setting mode "1280x1024,1280x1024"
(II) Nov 10 13:06:26 NVIDIA(0): Setting mode "1280x1024,1280x1024"
(WW) Nov 10 13:06:29 NVIDIA(0): WAIT (2, 6, 0x8000, 0x00000000, 0x0000119c)
(WW) Nov 10 13:06:36 NVIDIA(0): WAIT (1, 6, 0x8000, 0x00000000, 0x0000119c)
(WW) Nov 10 13:06:39 NVIDIA(0): WAIT (2, 6, 0x8000, 0x00000000, 0x000011d0)
[mi] EQ overflowing. The server is probably stuck in an infinite loop.

Backtrace:
0: /usr/bin/X (xorg_backtrace+0x3b) [0x80de243]
1: /usr/bin/X (mieqEnqueue+0x19a) [0x80ddc0e]
2: /usr/bin/X (xf86PostMotionEventP+0xd0) [0x80b9ccc]
3: /usr/lib/xorg/modules/input/evdev_drv.so (0xb4e1f000+0x2fe2) [0xb4e21fe2]
4: /usr/lib/xorg/modules/input/evdev_drv.so (0xb4e1f000+0x32d6) [0xb4e222d6]
5: /usr/bin/X (0x8048000+0x6554f) [0x80ad54f]
6: /usr/bin/X (0x8048000+0x10e322) [0x8156322]
7: (vdso) (__kernel_sigreturn+0x0) [0xb773a400]
(WW) Nov 10 13:06:46 NVIDIA(0): WAIT (1, 6, 0x8000, 0x00000000, 0x000011d0)

Backtrace:
0: /usr/bin/X (xorg_backtrace+0x3b) [0x80de243]
1: /usr/bin/X (0x8048000+0x5ac96) [0x80a2c96]
2: (vdso) (__kernel_rt_sigreturn+0x0) [0xb773a410]
Segmentation fault at address 0x300

Fatal server error:
Caught signal 11 (Segmentation fault). Server aborting
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
Please also check the log file at "/var/log/Xorg.0.log" for additional
information.

(II) Macintosh mouse button emulation: Close
(II) UnloadModule: "evdev"
(II) Logitech USB-PS/2 Optical Mouse: Close
(II) UnloadModule: "evdev"
(II) Logitech HID compliant keyboard: Close
(II) UnloadModule: "evdev"
(II) Logitech HID compliant keyboard: Close
(II) UnloadModule: "evdev"
(II) Power Button: Close
(II) UnloadModule: "evdev"
(II) Power Button: Close
(II) UnloadModule: "evdev"
(WW) Nov 10 13:07:22 NVIDIA(0): WAIT (2, 6, 0x8000, 0x00000000, 0x00001220)
(WW) Nov 10 13:07:29 NVIDIA(0): WAIT (1, 6, 0x8000, 0x00000000, 0x00001220)
(WW) Nov 10 13:07:32 NVIDIA(0): WAIT (2, 6, 0x8000, 0x00000000, 0x00001254)
(WW) Nov 10 13:07:39 NVIDIA(0): WAIT (1, 6, 0x8000, 0x00000000, 0x00001254)
(WW) Nov 10 13:07:46 NVIDIA(0): WAIT (2, 6, 0x8000, 0x00000000, 0x00001278)
(WW) Nov 10 13:07:53 NVIDIA(0): WAIT (1, 6, 0x8000, 0x00000000, 0x00001278)
(WW) Nov 10 13:07:58 NVIDIA(0): WAIT (2, 6, 0x8000, 0x00000000, 0x0000129c)
(WW) Nov 10 13:08:07 NVIDIA(0): WAIT (1, 6, 0x8000, 0x00000000, 0x0000129c)
(WW) Nov 10 13:08:10 NVIDIA(0): WAIT (2, 7, 0x8000, 0x00000000, 0x000012c8)
(WW) Nov 10 13:08:19 NVIDIA(0): WAIT (1, 7, 0x8000, 0x00000000, 0x000012c8)
(WW) Nov 10 13:08:22 NVIDIA(0): WAIT (2, 7, 0x8000, 0x00000000, 0x000012ec)
(WW) Nov 10 13:08:31 NVIDIA(0): WAIT (1, 7, 0x8000, 0x00000000, 0x000012ec)
(WW) Nov 10 13:08:34 NVIDIA(0): WAIT (2, 7, 0x8000, 0x00000000, 0x00001310)
(WW) Nov 10 13:08:43 NVIDIA(0): WAIT (1, 7, 0x8000, 0x00000000, 0x00001310)
(WW) Nov 10 13:08:46 NVIDIA(0): WAIT (2, 7, 0x8000, 0x00000000, 0x00001334)
(WW) Nov 10 13:08:55 NVIDIA(0): WAIT (1, 7, 0x8000, 0x00000000, 0x00001334)
(WW) Nov 10 13:08:58 NVIDIA(0): WAIT (2, 7, 0x8000, 0x00000000, 0x00001358)
(WW) Nov 10 13:09:08 NVIDIA(0): WAIT (1, 7, 0x8000, 0x00000000, 0x00001358)
(WW) Nov 10 13:09:11 NVIDIA(0): WAIT (2, 7, 0x8000, 0x00000000, 0x0000137c)

a dmesg:

Nov 10 11:34:42 matikowy kernel: : [  775.108783] nvidia: module
license 'NVIDIA' taints kernel.
Nov 10 11:34:42 matikowy kernel: : [  775.108788] Disabling lock
debugging due to kernel taint
Nov 10 11:34:42 matikowy kernel: : [  775.363979] nvidia 0000:01:00.0:
PCI INT A -> GSI 16 (level, low) -> IRQ 16
Nov 10 11:34:42 matikowy kernel: : [  775.363987] nvidia 0000:01:00.0:
setting latency timer to 64
Nov 10 11:34:42 matikowy kernel: : [  775.364141] NVRM: loading NVIDIA
UNIX x86 Kernel Module  190.42  Tue Oct 20 20:18:32 PDT 2009
Nov 10 13:06:21 matikowy kernel: : [ 6274.802704] NVRM: Xid (0001:00):
6, PE0000 0508 00989898 0000fdac ffffffff 030004f0
Nov 10 13:06:22 matikowy kernel: : [ 6274.884378] NVRM: Xid (0001:00):
6, PE0000 0488 00020202 00000000 ffffffff 00000000
Nov 10 13:06:22 matikowy kernel: : [ 6274.919108] NVRM: Xid (0001:00):
6, PE0000 0488 00020202 00000000 ffffffff 00000000
Nov 10 13:06:22 matikowy kernel: : [ 6274.953825] NVRM: Xid (0001:00):
6, PE0000 0488 00020202 00000000 ffffffff 00000000
Nov 10 13:06:22 matikowy kernel: : [ 6274.988528] NVRM: Xid (0001:00):
6, PE0000 0488 00020202 00000000 ffffffff 00000000
Nov 10 13:06:22 matikowy kernel: : [ 6275.021204] NVRM: Xid (0001:00):
6, PE0000 0488 00020202 00000000 ffffffff 00000000
Nov 10 13:06:37 matikowy kernel: : [ 6287.056085] NVRM: Xid (0001:00):
8, Channel 00000020
Nov 10 13:06:46 matikowy kernel: : [ 6299.082368] NVRM: Xid (0001:00):
8, Channel 00000020

Jak już się ta katastrofa wydarzy to Xy pożerają jeden rdzeń i kręcą
się na nim jak szalone. Utłuc toto można tylko SIGKILLem a i wtedy z
nvidią dzieje się coś takiego, że pomaga tylko restart (może modprobe
-r nvidia && modprobe nvidia tez pomaga, nie jestem pewien czy
sprawdzalem)

W Googlach nic ciekawego nie znalazłem. Będąc przekonanym, że cała ta
akcja ma związek z upgrade xorg-xserver-server (i być może
xorg-driver-video-nvidia lub xorg-driver-input-evdev-2.3.0-1.i686)
zainstalowałem xserver 1.7.1.901 z th-test i nic się nie zmieniło.
Teraz mam następujące wersje pakietów:

[matik w matikowy ~]$ rpm -qa 'xorg-driver*'
xorg-driver-input-void-1.3.0-2.i686
xorg-driver-input-mouse-1.5.0-1.i686
xorg-driver-video-nvidia-libs-190.42-2.i686
xorg-driver-video-nv-2.1.15-2.i686
xorg-driver-input-keyboard-1.4.0-1.i686
xorg-driver-video-nvidia-190.42-2.i686
xorg-driver-input-evdev-2.3.0-1.i686

[matik w matikowy ~]$ rpm -qa 'xorg-xserver*'
xorg-xserver-Xvfb-1.7.1.901-1.i686
xorg-xserver-server-1.7.1.901-1.i686

Czy ktoś się z czymś podobnym kiedyś spotkał? Co mogę jeszcze
sprawdzić? Generalnie - hilfe! ;-)

Pozdrawiam,


Mateusz.


Więcej informacji o liście dyskusyjnej pld-users-pl