xfs
[Top] [All Lists]

Re: Oops - 2.4.2-SGI_XFS_1.0.1_PR1

To: Steve Lord <lord@xxxxxxx>
Subject: Re: Oops - 2.4.2-SGI_XFS_1.0.1_PR1
From: Russell Cattelan <cattelan@xxxxxxxxxxx>
Date: Tue, 26 Jun 2001 12:10:02 -0500
Cc: Andrew Klaassen <ak@xxxxxxx>, linux-xfs@xxxxxxxxxxx
References: <200106261356.f5QDuDv22566@jen.americas.sgi.com>
Sender: owner-linux-xfs@xxxxxxxxxxx
Note: the rawhide RPMs does have this patch applied/



Steve Lord wrote:

> > On Tue, Jun 26, 2001 at 11:46:12AM +1000,
> > Keith Owens wrote:
> >
> > > Capture the serial console output.  'bt' to trace the failing
> > > task is probably all you need at this stage.  For an oops it
> > > is usually only the current task that is interesting.  For
> > > loops and hangs, 'ps' and 'bta' are useful to get backtrace
> > > for all processes.
> >
> > Okay...
> >
> > This happened during... either test 13 or 14 or 15 of the checks
> > in the cmd/xfstests directory.  (Unfortunately, the screen saver
> > on the machine's console appears to have kicked in
> > overnight....(?))
> >
> > Will anything else from kdb be useful to have before I reboot
> > and try again?
>
> OK, I know what this is - thanks for the stack trace, you have a highmem
> system correct? There was a core kernel bug which xfs appeared to be
> able to find. I will check with Eric that the fix goes into the 1.0.1
> code before we finalize it. This patch (cut and pasted, so hand apply)
> should fix it:
>
> --- S6-pre2/fs/buffer.c Fri Jun  8 18:29:03 2001
> +++ /tmp/buffer.c       Tue Jun 12 13:17:57 2001
> @@ -646,8 +646,8 @@
>                         /* Another device? */
>                         if (bh->b_dev != dev)
>                                 continue;
> -                       /* Part of a mapping? */
> -                       if (bh->b_page->mapping)
> +                       /* Not hashed? */
> +                       if (!bh->b_pprev)
>                                 continue;
>                         if (buffer_locked(bh)) {
>                                 atomic_inc(&bh->b_count);
> @@ -710,6 +710,8 @@
>                 for (i = nr_buffers_type[nlist]; i > 0 ; bh = bh_next, i--) {
>                         bh_next = bh->b_next_free;
>                         if (bh->b_dev != dev || bh->b_size == size)
> +                               continue;
> +                       if (!bh->b_pprev)
>                                 continue;
>                         if (buffer_locked(bh)) {
>                                 atomic_inc(&bh->b_count);
>
> Steve
>
> >
> > Andrew Klaassen
> >
> >
> > Unable to handle kernel NULL pointer dereference at virtual address 00000000
> >  printing eip:
> > c0156c6a
> > pgd entry f68ff000: 0000000000000000
> > pmd entry f68ff000: 0000000000000000
> > ... pmd not present!
> >
> > Entering kdb (current=0xf68b8000, pid 649) Oops: Oops
> > due to oops @ 0xc0156c6a
> > eax = 0x00000000 ebx = 0x00001000 ecx = 0x00000400 edx = 0xe6be8e60
> > esi = 0x00000001 edi = 0x00000000 esp = 0xf68b9ddc eip = 0xc0156c6a
> > ebp = 0x00003dbd xss = 0x00000018 xcs = 0x00000010 eflags = 0x00010246
> > xds = 0xe6be0018 xes = 0x00000018 origeax = 0xffffffff &regs = 0xf68b9da8
> > kdb> bt
> >     EBP       EIP         Function(args)
> > 0x00003dbd 0xc0156c6a ext2_alloc_branch+0xf2 (0xf6b6a040, 0x2, 0x3dbc, 
> > 0xf68b
> > 9e)
> >                                kernel .text 0xc0100000 0xc0156b78 0xc0156d9c
> >            0xc01570d0 ext2_get_block+0x334 (0xf6b6a040, 0xc, 0xe6bd75a0, 
> > 0x1,
> >  0)
> >                                kernel .text 0xc0100000 0xc0156d9c 0xc0157298
> >            0xc0135e21 __block_prepare_write+0x139 (0xf6b6a040, 0xc209bd48, 
> > 0x
> > 0,)
> >                                kernel .text 0xc0100000 0xc0135ce8 0xc0135fe4
> >            0xc0136776 block_prepare_write+0x22 (0xc209bd48, 0x0, 0x60, 
> > 0xc015
> > 6d)
> >                                kernel .text 0xc0100000 0xc0136754 0xc01367c4
> >            0xc01574b1 ext2_prepare_write+0x19 (0xf6978860, 0xc209bd48, 0x0, > > 0
> > x6)
> >                                kernel .text 0xc0100000 0xc0157498 0xc01574b8
> >            0xc0127c39 generic_file_write+0x401 (0xf6978860, 0x4001900c, 
> > 0x60,
> >  0)
> >                                kernel .text 0xc0100000 0xc0127838 0xc0127ec8
> >            0xc01338ba sys_write+0x8e (0x2, 0x40019000, 0x6c, 0x6c, 
> > 0x40019000
> > )
> >                                kernel .text 0xc0100000 0xc013382c 0xc01338f0
> >            0xc0108edb system_call+0x33
> >                                kernel .text 0xc0100000 0xc0108ea8 0xc0108ee0

--
Russell Cattelan
cattelan@xxxxxxxxxxx




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