Oops in find_buffer() 2.2.14

From: Jean Wolter (jean.wolter@inf.tu-dresden.de)
Date: Tue May 23 2000 - 09:42:42 EST


Hello,

today we found several Oopses in the sys log of our server (4 way smp
ppro) and had to reboot it since it wasn't working correctly
anymore. All Oopses where raised by the same instruction dereferencing
an illegal pointer. Since the oopses are rather long I will append
only one and provide the full report and config under
<URL:http://os.inf.tu-dresden.de/~jw5/os.oops.txt>.

The programms triggering the Oops were all file system related
(backup, glimpseindex, cvs, find).

Is this a known bug (which can be fixed by upgrading to 2.2.15)? Is
there anything we can do to make the server more stable or help
finding this bug?

Jean

PS:
# The code raising the oops:

c0126a08: 89 d0 movl %edx,%eax
c0126a0a: 85 d2 testl %edx,%edx
c0126a0c: 74 14 je c0126a22 <find_buffer+0x86>
c0126a0e: 8b 12 movl (%edx),%edx <==============

# The C-source:

struct buffer_head * find_buffer(kdev_t dev, int block, int size)
{
        struct buffer_head * next;

        next = hash(dev,block);
        for (;;) {
                struct buffer_head *tmp = next;
                if (!next)
                        break;
                next = tmp->b_next; <===============

# The dereferenced addresses were:

edx: 01010000 (3 times)
edx: 235d40f2
edx: 2e3c2d00 (2 times)
edx: 9a1f0a08 (2 times)
edx: e101e198

# The first oops (out of 9):

ksymoops 2.3.4 on i686 2.2.14. Options used
     -v /home/jw5/tmp//vmlinux (specified)
     -K (specified)
     -L (specified)
     -O (specified)
     -m /home/jw5/tmp//System.map-2.2.14 (specified)

Unable to handle kernel paging request at virtual address 235d40f2
current->tss.cr3 = 084ef000, %cr3 = 084ef000
*pde = 00000000
Oops: 0000
CPU: 3
EIP: 0010:[<c0126a0e>]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010202
eax: 235d40f2 ebx: 86b3aac0 ecx: 00035816 edx: 235d40f2
esi: 021a0821 edi: 021aceab ebp: 00000400 esp: c85ede18
ds: 0018 es: 0018 ss: 0018
Process save (pid: 5514, process nr: 150, stackpage=c85ed000)
Stack: 00000000 00000100 cae70400 c01272ee 00000001 00925200 0004c81c c0126a41
       00000821 021aceab 00000400 c0127791 00000821 021aceab 00000400 c85edee0
       0004c81c 00000000 c5cc0330 ca0de9c0 c89f4720 00000821 00000002 ca0de0c0
Call Trace: [<c01272ee>] [<c0126a41>] [<c0127791>] [<c0127a9f>] [<c011c683>] [<c011ca9e>] [<c011ce70>]
       [<c011cdbc>] [<c01253de>] [<c0107b28>]
Code: 8b 12 39 78 04 75 f3 39 68 08 75 ee 66 39 70 0c 75 e8 89 c2

>>EIP; c0126a0e <find_buffer+72/90> <=====
Trace; c01272ee <create_buffers+32/1f8>
Trace; c0126a41 <get_hash_table+15/20>
Trace; c0127791 <brw_page+175/3b0>
Trace; c0127a9f <generic_readpage+7f/8c>
Trace; c011c683 <try_to_read_ahead+107/120>
Trace; c011ca9e <do_generic_file_read+2de/5fc>
Trace; c011ce70 <generic_file_read+64/80>
Trace; c011cdbc <file_read_actor+0/50>
Trace; c01253de <sys_read+d2/104>
Trace; c0107b28 <system_call+34/38>
Code; c0126a0e <find_buffer+72/90>
00000000 <_EIP>:
Code; c0126a0e <find_buffer+72/90> <=====
   0: 8b 12 mov (%edx),%edx <=====
Code; c0126a10 <find_buffer+74/90>
   2: 39 78 04 cmp %edi,0x4(%eax)
Code; c0126a13 <find_buffer+77/90>
   5: 75 f3 jne fffffffa <_EIP+0xfffffffa> c0126a08 <find_buffer+6c/90>
Code; c0126a15 <find_buffer+79/90>
   7: 39 68 08 cmp %ebp,0x8(%eax)
Code; c0126a18 <find_buffer+7c/90>
   a: 75 ee jne fffffffa <_EIP+0xfffffffa> c0126a08 <find_buffer+6c/90>
Code; c0126a1a <find_buffer+7e/90>
   c: 66 39 70 0c cmp %si,0xc(%eax)
Code; c0126a1e <find_buffer+82/90>
  10: 75 e8 jne fffffffa <_EIP+0xfffffffa> c0126a08 <find_buffer+6c/90>
Code; c0126a20 <find_buffer+84/90>
  12: 89 c2 mov %eax,%edx

-- 
I get up each morning, gather my wits.
Pick up the paper, read the obits.
if I'm not there I know I'm not dead.
So I eat a good breakfast and go back to bed. Peete Seeger

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue May 23 2000 - 21:00:23 EST