xfs
[Top] [All Lists]

Re: oops with 2.4.5 + xfs + md raid0

To: Steve Lord <lord@xxxxxxx>
Subject: Re: oops with 2.4.5 + xfs + md raid0
From: Jim Wright <jwright@xxxxxxxxxxxxxxxxxxxx>
Date: Mon, 18 Jun 2001 15:18:46 -0700 (PDT)
Cc: <linux-xfs@xxxxxxxxxxx>, Jim Wright <jwright@xxxxxxxxxxxxxxxxxxxx>
In-reply-to: <200106182047.f5IKl2t31271@xxxxxxxxxxxxxxxxxxxx>
Reply-to: Jim Wright <jwright@xxxxxxxxxxxxxxxxxxxx>
Sender: owner-linux-xfs@xxxxxxxxxxx
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.



<Prev in Thread] Current Thread [Next in Thread>