View Single Post
Old 12-22-03, 03:43 PM   #7
bwkaz
Registered User
 
Join Date: Sep 2002
Posts: 2,262
Default

Umm... uh oh.

From klogd after trying to start X:

Code:
Dec 22 13:51:49 beta kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000020
Dec 22 13:51:49 beta kernel:  printing eip:
Dec 22 13:51:49 beta kernel: f1c9d1e8
Dec 22 13:51:49 beta kernel: *pde = 00000000
Dec 22 13:51:49 beta kernel: Oops: 0000 [#1]
Dec 22 13:51:49 beta kernel: CPU:    0
Dec 22 13:51:49 beta kernel: EIP:    0060:[__crc_fb_invert_cmaps+3410790/3868457]    Tainted: P  
Dec 22 13:51:49 beta kernel: EFLAGS: 00013282
Dec 22 13:51:49 beta kernel: EIP is at os_pci_read_dword+0x18/0x30 [nvidia]
Dec 22 13:51:49 beta kernel: eax: e27bf748   ebx: ef222400   ecx: 00000000   edx: 00000048
Dec 22 13:51:49 beta kernel: esi: 00003189   edi: eff83800   ebp: e27bf74c   esp: e27bf738
Dec 22 13:51:49 beta kernel: ds: 007b   es: 007b   ss: 0068
Dec 22 13:51:49 beta kernel: Process X (pid: 1102, threadinfo=e27be000 task=ef1e2080)
Dec 22 13:51:49 beta kernel: Stack: 00003189 e27bf750 00000048 e27bf748 00000000 e27bf75c f1b318bd 00000000 
Dec 22 13:51:49 beta kernel:        00000048 e27bf788 f1b29ed6 ef222400 00000000 00000048 00000800 e0af8000 
Dec 22 13:51:49 beta kernel:        ef3d7000 e27bf7c4 ef3d7000 00000000 e27bf7c4 f1b2d7a7 e0af8000 eff83800 
Dec 22 13:51:49 beta kernel: Call Trace:
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1921595/3868457] _nv001241rm+0x11/0x18 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1890388/3868457] _nv000171rm+0x22a/0x268 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1904933/3868457] _nv001749rm+0x167/0x50c [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1911518/3868457] _nv000911rm+0x310/0x31c [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1938828/3868457] rm_init_agp+0xe/0x14 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+3405828/3868457] nv_agp_init+0xb6/0x110 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1929162/3868457] _nv001274rm+0x7c/0xb8 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1941879/3868457] _nv000899rm+0x7e9/0xf70 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1879827/3868457] _nv001338rm+0x1d/0x24 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2053598/3868457] _nv004805rm+0x88/0xd8 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1921414/3868457] _nv001212rm+0x10/0x14 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1928009/3868457] _nv001016rm+0x3b/0x64 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1928090/3868457] _nv001228rm+0x28/0x78 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2755657/3868457] _nv001532rm+0x1f/0x28 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2021446/3868457] _nv004240rm+0x180/0x18c [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2076891/3868457] _nv003333rm+0x10ed/0x1100 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2755657/3868457] _nv001532rm+0x1f/0x28 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2757679/3868457] _nv003619rm+0x19/0x20 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1879432/3868457] _nv001344rm+0x22/0x6c [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1817347/3868457] _nv005601rm+0xd/0x34 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1819038/3868457] _nv005594rm+0x14/0x58 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1926896/3868457] _nv001223rm+0x12/0x18 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2523029/3868457] _nv003847rm+0x173/0x1b0 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2756781/3868457] _nv001535rm+0x1f/0x28 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2755657/3868457] _nv001532rm+0x1f/0x28 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2757679/3868457] _nv003619rm+0x19/0x20 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2755657/3868457] _nv001532rm+0x1f/0x28 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2757679/3868457] _nv003619rm+0x19/0x20 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+3054146/3868457] _nv001823rm+0x2c/0x38 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2706418/3868457] _nv002280rm+0x8c/0x98 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2634145/3868457] _nv003832rm+0x117/0x12c [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1926896/3868457] _nv001223rm+0x12/0x18 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2641391/3868457] _nv003785rm+0x5d/0x6c [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2832691/3868457] _nv003612rm+0x1c5/0x1fc [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1944823/3868457] _nv006208rm+0x39/0x44 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2641075/3868457] _nv003831rm+0x65/0xa8 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1956464/3868457] _nv005643rm+0x96/0xc4 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1926896/3868457] _nv001223rm+0x12/0x18 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1871529/3868457] _nv001218rm+0x6b/0x78 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2643250/3868457] _nv000012rm+0x0/0x58 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2642985/3868457] _nv003805rm+0x2a3/0x2bc [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+2643250/3868457] _nv000012rm+0x0/0x58 [nvidia]
Dec 22 13:51:49 beta kernel:  [dput+36/544] dput+0x24/0x220
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+1938783/3868457] rm_ioctl+0x19/0x20 [nvidia]
Dec 22 13:51:49 beta kernel:  [__crc_fb_invert_cmaps+3399450/3868457] nv_kern_ioctl+0x7c/0x480 [nvidia]
Dec 22 13:51:49 beta kernel:  [mtrr_ioctl+1569/2224] mtrr_ioctl+0x621/0x8b0
Dec 22 13:51:49 beta kernel:  [dentry_open+331/544] dentry_open+0x14b/0x220
Dec 22 13:51:49 beta kernel:  [dput+36/544] dput+0x24/0x220
Dec 22 13:51:49 beta kernel:  [__fput+197/304] __fput+0xc5/0x130
Dec 22 13:51:49 beta kernel:  [sys_ioctl+244/672] sys_ioctl+0xf4/0x2a0
Dec 22 13:51:49 beta kernel:  [sys_close+98/160] sys_close+0x62/0xa0
Dec 22 13:51:49 beta kernel:  [syscall_call+7/11] syscall_call+0x7/0xb
Dec 22 13:51:49 beta kernel: 
Dec 22 13:51:49 beta kernel: Code: 8b 41 20 89 44 24 04 8b 41 10 89 04 24 e8 56 f5 50 ce 8b 45
Upon further investigation (into what os_read_pci_dword does), I added a check to it for whether the "handle" parameter was NULL. If it is NULL, I log the event (printk()) and return 0 from the function. This is probably not entirely correct, but at least it stops the kernel from OOPSing. The message does get logged, too, so the problem is that "handle" is NULL.

This is kernel 2.6.0 with the 5328 minion.de patch. I realize that you guys don't support this setup, but nothing important that the minion.de patch touches is in this call trace (plus it worked with 4496). The patch doesn't touch os_read_pci_dword, and it can't touch any of the _nv functions, since they're in the binary nv-kernel.o file. It can't touch rm_init_agp either, since it's in the same file.

That leaves nv_agp_init. All that the patch does to this function is remove a check for kernel 2.2 in the "decide whether agpgart is loaded" chunk of code (which would result in the same code if compiled for 2.4.X).

If you really want, I can try to repro on 2.4.23, but I think the same thing will happen, for the above reasons. (Edit: Tried it on 2.4.23 anyway. Same problem -- at least, I got a blank console, X died, and the kernel logged an OOPS; I haven't run it through ksymoops though.)

Hardware is a GF4 Ti4200, video BIOS 04.25.00.29.00, Via KT400 chipset (Asus A7V8X-X).
__________________
Registered Linux User #219692

Last edited by bwkaz; 12-22-03 at 04:07 PM.
bwkaz is offline   Reply With Quote