On Mon, 18 Jun 2001, Steve Lord wrote:
>
> This oops is nasty in that it appears to represent a bad pointer in a
> page hash so far as I can tell. Can you report the compiler version you
> used and send a disassembly of the whole of the __find_lock_page (run gdb
> on vmlinux and use the disassemble command).
# gcc --version
2.96
# rpm -q gcc
gcc-2.96-81
gdb output below.
I changed the configuration of the box and just got a second oops.
When this happens, I'm unable to CTRL-C the Bonnie process that I was
running, and I am unable to log in on a different virtual console or
over the network. Hard reset is the only way out.
New config: dual 1ghz PIII, 1gb memory, two IBM 75gb drives on a 3ware 6410
IDE RAID controller, raid0, drives accessed as /dev/sda.
second oops is below as well.
> Can you also send me a pointer to Andre's ide patch please.
http://www.kernel.org/pub/linux/kernel/people/hedrick/ide-2.4.5/ide.2.4.5.06062001.patch.bz2
Thanks for looking at this.
Jim
# gdb vmlinux
GNU gdb 5.0rh-5 Red Hat Linux 7.1
Copyright 2001 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux"...
(gdb) disassemble __find_lock_page
Dump of assembler code for function __find_lock_page:
0xc0125e90 <__find_lock_page>: push %ebp
0xc0125e91 <__find_lock_page+1>: push %edi
0xc0125e92 <__find_lock_page+2>: push %esi
0xc0125e93 <__find_lock_page+3>: push %ebx
0xc0125e94 <__find_lock_page+4>: mov 0x14(%esp,1),%ebp
0xc0125e98 <__find_lock_page+8>: mov 0x18(%esp,1),%edi
0xc0125e9c <__find_lock_page+12>: lock decb 0xc032a0a4
0xc0125ea3 <__find_lock_page+19>: js 0xc02b7995 <stext_lock+4605>
0xc0125ea9 <__find_lock_page+25>: mov 0x1c(%esp,1),%eax
0xc0125ead <__find_lock_page+29>: mov (%eax),%ebx
0xc0125eaf <__find_lock_page+31>: jmp 0xc0125eb4 <__find_lock_page+36>
0xc0125eb1 <__find_lock_page+33>: mov 0x10(%ebx),%ebx
0xc0125eb4 <__find_lock_page+36>: test %ebx,%ebx
0xc0125eb6 <__find_lock_page+38>: je 0xc0125ecc <__find_lock_page+60>
0xc0125eb8 <__find_lock_page+40>: cmp %ebp,0x8(%ebx)
0xc0125ebb <__find_lock_page+43>: jne 0xc0125eb1 <__find_lock_page+33>
0xc0125ebd <__find_lock_page+45>: cmp %edi,0xc(%ebx)
0xc0125ec0 <__find_lock_page+48>: jne 0xc0125eb1 <__find_lock_page+33>
0xc0125ec2 <__find_lock_page+50>: mov $0x2,%eax
0xc0125ec7 <__find_lock_page+55>: lock bts %eax,0x18(%ebx)
0xc0125ecc <__find_lock_page+60>: test %ebx,%ebx
0xc0125ece <__find_lock_page+62>:
je 0xc0125f50 <__find_lock_page+192>
0xc0125ed4 <__find_lock_page+68>: lock incl 0x14(%ebx)
0xc0125ed8 <__find_lock_page+72>: movb $0x1,0xc032a0a4
0xc0125edf <__find_lock_page+79>: push %ebx
0xc0125ee0 <__find_lock_page+80>: call 0xc0125d60 <lock_page>
0xc0125ee5 <__find_lock_page+85>: mov 0x8(%ebx),%eax
0xc0125ee8 <__find_lock_page+88>: pop %edx
0xc0125ee9 <__find_lock_page+89>: test %eax,%eax
0xc0125eeb <__find_lock_page+91>: je 0xc0125ef1 <__find_lock_page+97>
0xc0125eed <__find_lock_page+93>: mov %ebx,%eax
0xc0125eef <__find_lock_page+95>:
jmp 0xc0125f59 <__find_lock_page+201>
0xc0125ef1 <__find_lock_page+97>: lock btr %eax,0x18(%ebx)
0xc0125ef6 <__find_lock_page+102>: sbb %eax,%eax
0xc0125ef8 <__find_lock_page+104>: test %eax,%eax
0xc0125efa <__find_lock_page+106>:
jne 0xc0125f20 <__find_lock_page+144>
0xc0125efc <__find_lock_page+108>: push $0x310
0xc0125f01 <__find_lock_page+113>: push $0xc02c87e1
0xc0125f06 <__find_lock_page+118>: push $0xc02c86e3
0xc0125f0b <__find_lock_page+123>: call 0xc0115d10 <printk>
0xc0125f10 <__find_lock_page+128>: ud2a
0xc0125f12 <__find_lock_page+130>: add $0xc,%esp
0xc0125f15 <__find_lock_page+133>: lea 0x0(%esi,1),%esi
0xc0125f19 <__find_lock_page+137>: lea 0x0(%edi,1),%edi
0xc0125f20 <__find_lock_page+144>: lea 0x2c(%ebx),%eax
0xc0125f23 <__find_lock_page+147>: lea 0x28(%ebx),%esi
0xc0125f26 <__find_lock_page+150>: cmp %eax,0x2c(%ebx)
0xc0125f29 <__find_lock_page+153>:
je 0xc0125f3c <__find_lock_page+172>
0xc0125f2b <__find_lock_page+155>: mov $0x1,%ecx
0xc0125f30 <__find_lock_page+160>: mov $0x3,%edx
0xc0125f35 <__find_lock_page+165>: mov %esi,%eax
0xc0125f37 <__find_lock_page+167>: call 0xc01135e0 <__wake_up>
0xc0125f3c <__find_lock_page+172>: xor %edx,%edx
0xc0125f3e <__find_lock_page+174>: mov %ebx,%eax
0xc0125f40 <__find_lock_page+176>: call 0xc012e920 <__free_pages>
0xc0125f45 <__find_lock_page+181>: jmp 0xc0125e9c <__find_lock_page+12>
0xc0125f4a <__find_lock_page+186>: lea 0x0(%esi),%esi
0xc0125f50 <__find_lock_page+192>: movb $0x1,0xc032a0a4
0xc0125f57 <__find_lock_page+199>: xor %eax,%eax
0xc0125f59 <__find_lock_page+201>: pop %ebx
0xc0125f5a <__find_lock_page+202>: pop %esi
0xc0125f5b <__find_lock_page+203>: pop %edi
0xc0125f5c <__find_lock_page+204>: pop %ebp
0xc0125f5d <__find_lock_page+205>: ret
0xc0125f5e <__find_lock_page+206>: mov %esi,%esi
End of assembler dump.
(gdb)
# ksymoops oops2
ksymoops 2.4.0 on i686 2.4.5-xfs. Options used
-V (default)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.5-xfs/ (default)
-m /boot/System.map-2.4.5-xfs (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.
Warning (compare_maps): ksyms_base symbol __VERSIONED_SYMBOL(shmem_file_setup)
not found in System.map. Ignoring ksyms_base entry
Warning (compare_maps): mismatch on symbol partition_name , ksyms_base says
c026b350, System.map says c0153dc0. Ignoring ksyms_base entry
Unable to handle kernel NULL pointer dereference at virtual address 00000048
c012616c
*pde = 00000000
Oops: 0000
CPU: 1
EIP: 0010:[<c012616c>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010202
eax: f7e00000 ebx: e5bd2a84 ecx: f7e1acd0 edx: 00000040
esi: c17794d0 edi: e5b6be40 ebp: 000094f5 esp: e5b69e38
ds: 0018 es: 0018 ss: 0018
Process Bonnie (pid: 1011, stackpage=e5b69000)
Stack: f7e1acd0 0000001f 000094e5 00000010 00000020 000094c7 0007ff00 00000001
c159f13c e5bd2a84 000094c7 c012641d 00000001 e5b6be40 e5bd29e0 c159f13c
00001000 00000001 00000000 00000000 e5bd29e0 c011a18d c1eecce0 c0396a6c
Call Trace: [<c012641d>] [<c011a18d>] [<c01267f2>] [<c0126730>] [<c01e8c80>]
[<c0108c25>] [<c01e5645>]
[<c0134146>] [<c0106ffb>] [<c010002b>]
Code: 39 5a 08 75 f4 39 6a 0c 75 ef b8 02 00 00 00 f0 0f ab 42 18
>>EIP; c012616c <generic_file_readahead+19c/280> <=====
Trace; c012641d <do_generic_file_read+1cd/4e0>
Trace; c011a18d <__run_task_queue+5d/70>
Trace; c01267f2 <generic_file_read+62/80>
Trace; c0126730 <file_read_actor+0/60>
Trace; c01e8c80 <xfs_read+230/270>
Trace; c0108c25 <do_IRQ+e5/f0>
Trace; c01e5645 <linvfs_read+a5/d0>
Trace; c0134146 <sys_read+96/d0>
Trace; c0106ffb <system_call+33/38>
Trace; c010002b <startup_32+2b/cb>
Code; c012616c <generic_file_readahead+19c/280>
00000000 <_EIP>:
Code; c012616c <generic_file_readahead+19c/280> <=====
0: 39 5a 08 cmp %ebx,0x8(%edx) <=====
Code; c012616f <generic_file_readahead+19f/280>
3: 75 f4 jne fffffff9 <_EIP+0xfffffff9> c0126165
<generic_file_readahead+195/280>
Code; c0126171 <generic_file_readahead+1a1/280>
5: 39 6a 0c cmp %ebp,0xc(%edx)
Code; c0126174 <generic_file_readahead+1a4/280>
8: 75 ef jne fffffff9 <_EIP+0xfffffff9> c0126165
<generic_file_readahead+195/280>
Code; c0126176 <generic_file_readahead+1a6/280>
a: b8 02 00 00 00 mov $0x2,%eax
Code; c012617b <generic_file_readahead+1ab/280>
f: f0 0f ab 42 18 lock bts %eax,0x18(%edx)
3 warnings issued. Results may not be reliable.
|