After upgrading my kernel from 2.4.9 to 2.4.10 and recompiling the mach64
drm module, I start X and get an oops. The X log looks as though all
setup has completed, all the way through the keyboard/mouse setup. The
box locks up, but I can ssh in and run ksymoops on the syslog. The
decoded oops is attached.
I get "Unable to handle kernel paging request at virtual address
5a5a5a5a." This problem is reproducible every time and the address is
always the same. I'm not sure if this is a kernel bug related to the VM
changes or a problem with the mach64 drm code (I'm using the latest
changes posted by Manuel -- based on 4.1.0 drm), so I thought I'd post it
here first. The problem seems to be happening in mach64_vm_shm_close
which comes from the DRM(vm_shm_close) template in drm_vm.h. Has anyone
had problems with 2.4.10 and drm modules from X4.1.0?
--
Leif Delgass
ksymoops 2.4.3 on i686 2.4.10. Options used
-v /usr/src/linux/vmlinux (specified)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.10/ (default)
-m /usr/src/linux/System.map (default)
Warning (compare_maps): mismatch on symbol partition_name , ksyms_base says c01b4630,
vmlinux says c0151270. Ignoring ksyms_base entry
Unable to handle kernel paging request at virtual address 5a5a5a5a
d48e3248
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[<d48e3248>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00013206
eax: c43a0740 ebx: 5a5a5a5a ecx: 00000090 edx: d2de5334
esi: c3c688ac edi: d48eaec0 ebp: 00000001 esp: cc64fc48
ds: 0018 es: 0018 ss: 0018
Process X (pid: 1757, stackpage=cc64f000)
Stack: c0124bda 00003246 c43a0740 c43a0824 00001000 d24d87f4 40028000 c012328f
c43a0824 c43a078c 00000000 cc64fed4 00000000 cc64e000 d12f3a80 cc64fd78
00000000 d24d87f4 c013a483 d24d87f4 d12f3a80 cc64fd78 00000000 cc64e000
Call Trace: [generic_file_read+138/432] [exit_mmap+111/288] [exec_mmap+35/272]
[flush_old_exec+100/592] [load_elf_binary+1022/2528]
Call Trace: [<c0124bda>] [<c012328f>] [<c013a483>] [<c013a5d4>] [<c0149e5e>]
[<c013c77c>] [<c0149a60>] [<c013abc1>] [<c013ae4c>] [<c013bcce>] [<c0105b30>]
[<c0106edb>]
Code: 8b 03 39 70 40 75 01 45 3b 44 24 20 75 25 85 d2 74 0a 8b 43
>>EIP; d48e3248 <[mach64]mach64_vm_shm_close+5c/150> <=====
Trace; c0124bda <generic_file_read+8a/1b0>
Trace; c012328e <exit_mmap+6e/120>
Trace; c013a482 <exec_mmap+22/110>
Trace; c013a5d4 <flush_old_exec+64/250>
Trace; c0149e5e <load_elf_binary+3fe/9e0>
Trace; c013c77c <path_walk+6ac/790>
Trace; c0149a60 <load_elf_binary+0/9e0>
Trace; c013abc0 <search_binary_handler+70/180>
Trace; c013ae4c <do_execve+17c/1e0>
Trace; c013bcce <getname+5e/a0>
Trace; c0105b30 <sys_execve+30/60>
Trace; c0106eda <system_call+32/38>
Code; d48e3248 <[mach64]mach64_vm_shm_close+5c/150>
00000000 <_EIP>:
Code; d48e3248 <[mach64]mach64_vm_shm_close+5c/150> <=====
0: 8b 03 mov (%ebx),%eax <=====
Code; d48e324a <[mach64]mach64_vm_shm_close+5e/150>
2: 39 70 40 cmp %esi,0x40(%eax)
Code; d48e324c <[mach64]mach64_vm_shm_close+60/150>
5: 75 01 jne 8 <_EIP+0x8> d48e3250
<[mach64]mach64_vm_shm_close+64/150>
Code; d48e324e <[mach64]mach64_vm_shm_close+62/150>
7: 45 inc %ebp
Code; d48e3250 <[mach64]mach64_vm_shm_close+64/150>
8: 3b 44 24 20 cmp 0x20(%esp,1),%eax
Code; d48e3254 <[mach64]mach64_vm_shm_close+68/150>
c: 75 25 jne 33 <_EIP+0x33> d48e327a
<[mach64]mach64_vm_shm_close+8e/150>
Code; d48e3256 <[mach64]mach64_vm_shm_close+6a/150>
e: 85 d2 test %edx,%edx
Code; d48e3258 <[mach64]mach64_vm_shm_close+6c/150>
10: 74 0a je 1c <_EIP+0x1c> d48e3264
<[mach64]mach64_vm_shm_close+78/150>
Code; d48e325a <[mach64]mach64_vm_shm_close+6e/150>
12: 8b 43 00 mov 0x0(%ebx),%eax
invalid operand: 0000
CPU: 0
EIP: 0010:[exit_mmap+250/288]
EIP: 0010:[<c012331a>]
EFLAGS: 00013202
eax: 0d48d000 ebx: 00000000 ecx: 0000000e edx: d24d88b4
esi: d24d87f4 edi: d24d87f4 ebp: 00000000 esp: cc64fae4
ds: 0018 es: 0018 ss: 0018
Process X (pid: 1757, stackpage=cc64f000)
Stack: 00000000 00000000 00000000 00000000 d3f32e34 d24d87f4 cc64e000 0000000b
00000000 c011317a d24d87f4 d24d87f4 c0116fab d24d87f4 c020837e cc64fc14
c011123e c02082a0 00000000 c0107407 00000000 c0204084 c02041cd c020837e
Call Trace: [mmput+74/112] [do_exit+139/448] [bust_spinlocks+62/80] [die+71/96]
[do_page_fault+903/1232]
Call Trace: [<c011317a>] [<c0116fab>] [<c011123e>] [<c0107407>] [<c0111607>]
[<c013bef0>] [<c013c77c>] [<c012c075>] [<c0129c15>] [<c0111280>] [<c0106fcc>]
[<d48eaec0>] [<d48e3248>] [generic_file_read+138/432] [exit_mmap+111/288]
[exec_mmap+35/272] [flush_old_exec+100/592]
[<d48eaec0>] [<d48e3248>] [<c0124bda>] [<c012328f>] [<c013a483>] [<c013a5d4>]
[<c0149e5e>] [<c013c77c>] [<c0149a60>] [<c013abc1>] [<c013ae4c>] [<c013bcce>]
[<c0105b30>] [<c0106edb>]
Code: 0f 0b 68 00 03 00 00 6a 00 57 e8 97 d4 ff ff 83 c4 20 5b 5e
>>EIP; c012331a <exit_mmap+fa/120> <=====
Trace; c011317a <mmput+4a/70>
Trace; c0116faa <do_exit+8a/1c0>
Trace; c011123e <bust_spinlocks+3e/50>
Trace; c0107406 <die+46/60>
Trace; c0111606 <do_page_fault+386/4d0>
Trace; c013bef0 <cached_lookup+10/50>
Trace; c013c77c <path_walk+6ac/790>
Trace; c012c074 <free_page_and_swap_cache+a4/b0>
Trace; c0129c14 <kfree+174/220>
Trace; c0111280 <do_page_fault+0/4d0>
Trace; c0106fcc <error_code+34/3c>
Trace; d48eaec0 <[mach64]mach64_device+0/0>
Trace; d48e3248 <[mach64]mach64_vm_shm_close+5c/150>
Trace; d48eaec0 <[mach64]mach64_device+0/0>
Trace; d48e3248 <[mach64]mach64_vm_shm_close+5c/150>
Trace; c0124bda <generic_file_read+8a/1b0>
Trace; c012328e <exit_mmap+6e/120>
Trace; c013a482 <exec_mmap+22/110>
Trace; c013a5d4 <flush_old_exec+64/250>
Trace; c0149e5e <load_elf_binary+3fe/9e0>
Trace; c013c77c <path_walk+6ac/790>
Trace; c0149a60 <load_elf_binary+0/9e0>
Trace; c013abc0 <search_binary_handler+70/180>
Trace; c013ae4c <do_execve+17c/1e0>
Trace; c013bcce <getname+5e/a0>
Trace; c0105b30 <sys_execve+30/60>
Trace; c0106eda <system_call+32/38>
Code; c012331a <exit_mmap+fa/120>
00000000 <_EIP>:
Code; c012331a <exit_mmap+fa/120> <=====
0: 0f 0b ud2a <=====
Code; c012331c <exit_mmap+fc/120>
2: 68 00 03 00 00 push $0x300
Code; c0123320 <exit_mmap+100/120>
7: 6a 00 push $0x0
Code; c0123322 <exit_mmap+102/120>
9: 57 push %edi
Code; c0123324 <exit_mmap+104/120>
a: e8 97 d4 ff ff call ffffd4a6 <_EIP+0xffffd4a6> c01207c0
<clear_page_tables+0/90>
Code; c0123328 <exit_mmap+108/120>
f: 83 c4 20 add $0x20,%esp
Code; c012332c <exit_mmap+10c/120>
12: 5b pop %ebx
Code; c012332c <exit_mmap+10c/120>
13: 5e pop %esi
1 warning issued. Results may not be reliable.