Le Wed, Aug 25, 2010 at 11:41:33AM +1000, Ben Skeggs écrivait :
On Mon, 2010-08-23 at 17:35 +0200, Stephane Casset wrote:
Hi,
Hi,
Hi,
Thanx for the reply.
Since 2.6.36-rc1 I have an oops when loading the nouveau driver. The system woks ok expect for the nouveau driver and the console gets corrupted :(
I attach relevant informations in attached files : o dmesg output for 2.6.36-rc2-git1 o ksymoops output for the above file
If you need more informations please let me know. If you want me to test patches let me know. If you want me to run a git bissect let me know.
The reason is known, and fixed in nouveau git. The patches have been sent to Linus to be merged, but I'm not sure if he has yet.
The relevant commit is "drm/nouveau: fix earlier mistake when fixing merge conflict"
Yes I confirm it is merged in 2.6.36-rc2-git2, and I get no more oops when loading the nouveau driver.
But I get some error message from the driver when in X and the X server hangs...
Message from dmesg :
Aug 24 20:26:47 flocon kernel: [drm] nouveau 0000:01:00.0: PGRAPH_ERROR - nSource: ILLEGAL_MTHD, nStatus: PROTECTION_FAULT Aug 24 20:26:47 flocon kernel: [drm] nouveau 0000:01:00.0: PGRAPH_ERROR - Ch 1/0 Class 0x0039 Mthd 0x0a88 Data 0x00020000:0x00140282 Aug 24 20:26:47 flocon kernel: [drm] nouveau 0000:01:00.0: PGRAPH_ERROR - nSource: ILLEGAL_MTHD, nStatus: PROTECTION_FAULT Aug 24 20:26:47 flocon kernel: [drm] nouveau 0000:01:00.0: PGRAPH_ERROR - Ch 1/0 Class 0x0039 Mthd 0x0a8c Data 0x00020000:0x00020000 Aug 24 20:26:47 flocon kernel: [drm] nouveau 0000:01:00.0: PFIFO_CACHE_ERROR - Ch 1/0 Mthd 0x0000 Data 0x0004f808 Aug 24 20:26:47 flocon kernel: [drm] nouveau 0000:01:00.0: PFIFO_DMA_PUSHER - Ch 1 Aug 24 20:28:41 flocon kernel: [drm] nouveau 0000:01:00.0: nouveau_channel_free: freeing fifo 1 Aug 24 20:28:44 flocon kernel: [drm] nouveau 0000:01:00.0: Failed to idle channel 1. Aug 24 20:28:44 flocon kernel: [drm] nouveau 0000:01:00.0: nouveau_channel_free: freeing fifo 2
Message in /var/log/Xorg.log:
[mi] EQ overflowing. The server is probably stuck in an infinite loop.
Backtrace: 0: /usr/bin/X (xorg_backtrace+0x3b) [0x80d91fb] 1: /usr/bin/X (mieqEnqueue+0x1ab) [0x80d7cbb] 2: /usr/bin/X (xf86PostMotionEventP+0xd2) [0x80b8322] 3: /usr/bin/X (xf86PostMotionEvent+0x68) [0x80b84a8] 4: /usr/lib/xorg/modules/input/synaptics_drv.so (0xb6a53000+0x34fb) [0xb6a564fb] 5: /usr/lib/xorg/modules/input/synaptics_drv.so (0xb6a53000+0x5b3d) [0xb6a58b3d] 6: /usr/bin/X (0x8048000+0x7307f) [0x80bb07f] 7: /usr/bin/X (0x8048000+0x104994) [0x814c994] 8: (vdso) (__kernel_sigreturn+0x0) [0xffffe400] 9: /usr/lib/libdrm.so.2 (drmCommandWrite+0x3b) [0xb72ea1eb] 10: /usr/lib/libdrm_nouveau.so.1 (0xb7314000+0x2c5a) [0xb7316c5a] 11: /usr/lib/libdrm_nouveau.so.1 (nouveau_bo_map_range+0xf1) [0xb7316e51] 12: /usr/lib/libdrm_nouveau.so.1 (nouveau_bo_map+0x33) [0xb7316f23] 13: /usr/lib/xorg/modules/drivers/nouveau_drv.so (0xb726c000+0x40ba) [0xb72700ba] 14: /usr/lib/xorg/modules/libexa.so (0xb723c000+0x7800) [0xb7243800] 15: /usr/bin/X (0x8048000+0x178bff) [0x81c0bff] 16: /usr/bin/X (0x8048000+0xb813c) [0x810013c] 17: /usr/bin/X (0x8048000+0xb4623) [0x80fc623] 18: /usr/bin/X (0x8048000+0x38067) [0x8080067] 19: /usr/bin/X (0x8048000+0x1e92a) [0x806692a] 20: /lib/i686/cmov/libc.so.6 (__libc_start_main+0xe6) [0xb741bc76] 21: /usr/bin/X (0x8048000+0x1e511) [0x8066511]
This is with X.Org X Server 1.7.7 and (II) LoadModule: "nouveau" (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so (II) Module nouveau: vendor="X.Org Foundation" compiled for 1.7.7, module version = 0.0.16 Module class: X.Org Video Driver ABI class: X.Org Video Driver, version 6.0
The nouveau X module is from the lastest git repo (yesterday)
Same configuration as before...
Any Idea ?
Thanx