an oops in 2.6-test2 (oops)
Quoted 2 lines · Marco d'Itri
I have been getting a few of these too (now with -test3), usually reproducibles:
I've got another one yesterday:
ksymoops 2.4.8 on i686 2.6.0-test3. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.6.0-test3/ (default)
-m /boot/System.map-2.6.0-test3 (default)
Warning: You did not tell me where to find symbol information. I will assume that the log matches the kernel and modules that are running right now and I'll use the default options above for symbol resolution. If the current kernel and/or modules do not match the log, you can get more accurate output by telling me the kernel version and where to find map, modules, ksyms etc. ksymoops -h explains the options.
Error (regular_file): read_ksyms stat /proc/ksyms failed No modules in ksyms, skipping objects
No ksyms, skipping lsmod
Aug 15 14:35:44 wonderland kernel: 8139too Fast Ethernet driver 0.9.26 Aug 16 07:26:51 wonderland kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000 Aug 16 07:26:51 wonderland kernel: c015c80a Aug 16 07:26:51 wonderland kernel: *pde = 00000000 Aug 16 07:26:51 wonderland kernel: Oops: 0000 [#1] Aug 16 07:26:51 wonderland kernel: CPU: 0 Aug 16 07:26:51 wonderland kernel: EIP: 0060:[<c015c80a>] Not tainted Using defaults from ksymoops -t elf32-i386 -a i386 Aug 16 07:26:51 wonderland kernel: EFLAGS: 00010286 Aug 16 07:26:51 wonderland kernel: eax: c1521110 ebx: 0005fa96 ecx: d19b1b50 edx: 00000000 Aug 16 07:26:51 wonderland kernel: esi: df60aa00 edi: c1521110 ebp: cd54de2c esp: cd54de1c Aug 16 07:26:51 wonderland kernel: ds: 007b es: 007b ss: 0068 Aug 16 07:26:51 wonderland kernel: Stack: df530300 0005fa96 0005fa96 df60aa00 cd54de50 c015cd0b df60aa00 c1521110 Aug 16 07:26:51 wonderland kernel: 0005fa96 c1521110 0005fa96 c615e300 df60aa00 cd54de70 c017bc77 df60aa00 Aug 16 07:26:51 wonderland kernel: 0005fa96 df4facec fffffff4 df5c54b8 df5c5450 cd54de94 c0152740 df5c5450 Aug 16 07:26:51 wonderland kernel: Call Trace: Aug 16 07:26:51 wonderland kernel: [<c015cd0b>] iget_locked+0x4b/0xa0 Aug 16 07:26:51 wonderland kernel: [<c017bc77>] ext3_lookup+0x67/0xc0 Aug 16 07:26:51 wonderland kernel: [<c0152740>] real_lookup+0xc0/0xf0 Aug 16 07:26:51 wonderland kernel: [<c0152984>] do_lookup+0x84/0x90 Aug 16 07:26:51 wonderland kernel: [<c0152d84>] link_path_walk+0x3f4/0x760 Aug 16 07:26:51 wonderland kernel: [<c015353e>] __user_walk+0x3e/0x60 Aug 16 07:26:51 wonderland kernel: [<c014efbe>] vfs_stat+0x1e/0x60 Aug 16 07:26:51 wonderland kernel: [<c013c8c2>] free_pgtables+0x82/0xa0 Aug 16 07:26:51 wonderland kernel: [<c013c956>] unmap_vma+0x76/0x80 Aug 16 07:26:51 wonderland kernel: [<c014f62b>] sys_stat64+0x1b/0x40 Aug 16 07:26:51 wonderland kernel: [<c014643b>] filp_close+0x4b/0x80 Aug 16 07:26:51 wonderland kernel: [<c01464c1>] sys_close+0x51/0x60 Aug 16 07:26:51 wonderland kernel: [<c01090b3>] syscall_call+0x7/0xb Aug 16 07:26:51 wonderland kernel: Code: 0f 18 02 90 39 59 18 89 c8 74 10 85 d2 89 d1 75 ed 31 c0 83
Quoted 8 lines
Quoted 8 lines
EIP;
c015c80a<find_inode_fast+1a/60> <=====eax;
c1521110<__crc_lock_may_read+d3ca2/101eac> ecx;d19b1b50<__crc_find_inode_number+11efe1/25f51d> esi;df60aa00<__crc_inet_family_ops+140d4b/142f72> edi;c1521110<__crc_lock_may_read+d3ca2/101eac> ebp;cd54de2c<__crc___scm_send+175362/1b3d66> esp;cd54de1c<__crc___scm_send+175352/1b3d66>
Trace; c015cd0b <iget_locked+4b/a0>
Trace; c017bc77 <ext3_lookup+67/c0>
Trace; c0152740 <real_lookup+c0/f0>
Trace; c0152984 <do_lookup+84/90>
Trace; c0152d84 <link_path_walk+3f4/760>
Trace; c015353e <__user_walk+3e/60>
Trace; c014efbe <vfs_stat+1e/60>
Trace; c013c8c2 <free_pgtables+82/a0>
Trace; c013c956 <unmap_vma+76/80>
Trace; c014f62b <sys_stat64+1b/40>
Trace; c014643b <filp_close+4b/80>
Trace; c01464c1 <sys_close+51/60>
Trace; c01090b3 <syscall_call+7/b>
Code; c015c80a <find_inode_fast+1a/60>
00000000 <_EIP>:
Code; c015c80a <find_inode_fast+1a/60> <=====
0: 0f 18 02 prefetchnta (%edx) <=====
Code; c015c80d <find_inode_fast+1d/60>
3: 90 nop
Code; c015c80e <find_inode_fast+1e/60>
4: 39 59 18 cmp %ebx,0x18(%ecx)
Code; c015c811 <find_inode_fast+21/60>
7: 89 c8 mov %ecx,%eax
Code; c015c813 <find_inode_fast+23/60>
9: 74 10 je 1b <_EIP+0x1b>
Code; c015c815 <find_inode_fast+25/60>
b: 85 d2 test %edx,%edx
Code; c015c817 <find_inode_fast+27/60>
d: 89 d1 mov %edx,%ecx
Code; c015c819 <find_inode_fast+29/60>
f: 75 ed jne fffffffe <_EIP+0xfffffffe>
Code; c015c81b <find_inode_fast+2b/60>
11: 31 c0 xor %eax,%eax
Code; c015c81d <find_inode_fast+2d/60>
13: 83 00 00 addl $0x0,(%eax)
1 warning and 1 error issued. Results may not be reliable.
Signature · 2 lines
ciao, | Marco | [1302 arB35F5/Z7koA]
Quoted 9 lines · Marco d'Itri
I've got another one yesterday:
...
Aug 16 07:26:51 wonderland kernel: Unable to handle kernel NULL pointer dereference at virtual address 00000000...
Code;c015c80a<find_inode_fast+1a/60> <=====
0: 0f 18 02 prefetchnta (%edx) <=====
And you'll continue to get them until someone does something about it. Discussion seemed to die off on this problem.
Until it is sorted, something like this is needed.
include/asm-i386/processor.h renamed from include/asm-i386/processor.h~disble-athlon-prefetch +2 -0
@@ -568,6 +568,8 @@ static inline void rep_nop(void)#define ARCH_HAS_PREFETCH extern inline void prefetch (const void *x) { +if (current_cpu_data.x86_vendor ==X86_VENDOR_AMD ) +return ; alternative_input(ASM_NOP4, "prefetchnta (%1)", X86_FEATURE_XMM,
_
prefetchnta on athlon was: Re: an oops in 2.6-test2 (oops)
Quoted 10 lines · Andrew Morton
And you'll continue to get them until someone does something about it. Discussion seemed to die off on this problem.
Until it is sorted, something like this is needed.
diff -puN
include/asm-i386/processor.h~disble-athlon-prefetchinclude/asm-i386/processor.h
include/asm-i386/processor.h static inline void rep_nop(void) · line 572
Quoted 5 lines
include/asm-i386/processor.h renamed from include/asm-i386/processor.h~disble-athlon-prefetch +2
-0@@ -568,6 +568,8 @@ static inline void rep_nop(void)#define ARCH_HAS_PREFETCH extern inline void prefetch (const void *x) { +if (current_cpu_data.x86_vendor ==X86_VENDOR_AMD ) +return ;
Andrew, if you put this patch in -mm please add a nice big comment above it, and put it in the "must fix before 2.6.0" list.