xfs
[Top] [All Lists]

Re: xfs_repair dumps core on damaged filesystem (was: Re: XFS assertion

To: Peter.Kelemen@xxxxxxx
Subject: Re: xfs_repair dumps core on damaged filesystem (was: Re: XFS assertion failed: vp->v_bh.bh_first != NULL)
From: Steve Lord <lord@xxxxxxx>
Date: Wed, 06 Sep 2000 17:29:09 -0500
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: Your message of "Wed, 06 Sep 2000 22:47:53 +0200
Sender: owner-linux-xfs@xxxxxxxxxxx
What sort of load were you putting on the system, also what is your
configuration :

        memory
        disks used for XFS
        cpus

Could you also run

xfs_growfs -n /xxx
where /xxx is the mount point of the filesystem in question. This will
dump out some filesystem parameters.

I would like to be able to duplicate this crash, or at least establish
if it is a setup which we know has problems.

The vnode crash is being worked on, all I have managed to do so far is
make it harder to hit. It is basically top of the list at the moment.

The repair problem looks related to an already reported problem.

Thanks for trying XFS!

Steve

> 
> --azLHFNyN32YCQGCU
> Content-Type: text/plain; charset=iso-8859-1
> Content-Disposition: inline
> Content-Transfer-Encoding: 8bit
> 
> On Mon, 2000-09-04 08:57:09 +1100, Keith Owens wrote:
> 
> > klogd has got in first and stamped on the trace, got it wrong
> > and left no useful trace data for ksymoops.
> 
> Geez.  I noticed it too late.  Meanwhile I hit another nice one
> while trying to reproduce the vnode-crash.  The kernel crashed so
> badly that syslogd/klogd didn't have time to log the oops---no
> console copy either since a reboot occured.  What I could recover
> from the filesystem follows:
> 
> Sep  6 19:17:56 pcrd18 kernel: XFS assertion failed:xfs_bmbt_get_startoff(r1)
 + xfs_bmbt_get_blockcount(r1) <=
> xfs_bmbt_get_startoff(r2), file: xfs_btree.c, line: 300
> Sep  6 19:17:57 pcrd18 kernel: kernel BUG at xfs_debug.c:50!
> Sep  6 19:17:57 pcrd18 kernel: invalid operand: 0000
> Sep  6 19:17:57 pcrd18 kernel: CPU:    1
> 
> ...and that's it.  After reboot, the kernel was able to mount the
> (obviously) damaged XFS filesystem, but running xfs_repair dumped
> core (backtrace attached).
> 
> Peter
> 
> -- 
>     .+'''+.         .+'''+.         .+'''+.         .+'''+.         .+''
>  Kelemen Péter     /       \       /       \     Peter.Kelemen@xxxxxxx
> .+'         `+...+'         `+...+'         `+...+'         `+...+'
> 
> --azLHFNyN32YCQGCU
> Content-Type: text/plain; charset=us-ascii
> Content-Disposition: attachment; filename="gdb.xfs_repair"
> 
> [root@pcrd18 repair]# ldd xfs_repair
>         libc.so.6 => /lib/libc.so.6 (0x40015000)
>         /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
> [root@pcrd18 repair]# gdb -c /root/core.xfs_repair.20000906 /usr/sbin/xfs_rep
air
> GNU gdb 4.18
> Copyright 1998 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"...
> Core was generated by `xfs_repair -V /dev/hdc1'.
> Program terminated with signal 11, Segmentation fault.
> Reading symbols from /lib/libc.so.6...done.
> Reading symbols from /lib/ld-linux.so.2...done.
> #0  0x808e60e in scanfunc_bmap (ablock=0x819a280, level=1, type=5, whichfork=
0, bno=3669497, ino=148, tot=0xbffff7f8,
>     nex=0xbffff7cc, blkmapp=0xbffff7a8, bm_cursor=0xbffff584, isroot=1, check
_dups=0, dirty=0xbffff4e8) at scan.c:457
> 457                     bm_cursor->level[level].last_key =
> (gdb) bt
> #0  0x808e60e in scanfunc_bmap (ablock=0x819a280, level=1, type=5, whichfork=
0, bno=3669497, ino=148, tot=0xbffff7f8,
>     nex=0xbffff7cc, blkmapp=0xbffff7a8, bm_cursor=0xbffff584, isroot=1, check
_dups=0, dirty=0xbffff4e8) at scan.c:457
> #1  0x808c505 in scan_lbtree (root=3669497, nlevels=2, func=0x808c57c <scanfu
nc_bmap>, type=5, whichfork=0, ino=148,
>     tot=0xbffff7f8, nex=0xbffff7cc, blkmapp=0xbffff7a8, bm_cursor=0xbffff584,
 isroot=1, check_dups=0) at scan.c:131
> #2  0x8059e8c in process_btinode (mp=0xbffffa94, agno=0, ino=148, dip=0x81976
60, type=5, dirty=0xbffff968, tot=0xbffff7f8,
>     nex=0xbffff7cc, blkmapp=0xbffff7a8, whichfork=0, check_dups=0) at dinode.
c:1194
> #3  0x805db97 in process_dinode_int (mp=0xbffffa94, dino=0x8197660, agno=0, i
no=148, was_free=0, dirty=0xbffff968,
>     cleared=0xbffff950, used=0xbffff974, verify_mode=0, uncertain=0, ino_disc
overy=0, check_dups=1, extra_attr_check=0,
>     isa_dir=0xbffff94c, parent=0xbffff98c) at dinode.c:2355
> #4  0x805f4e1 in process_dinode (mp=0xbffffa94, dino=0x8197660, agno=0, ino=1
48, was_free=0, dirty=0xbffff968, cleared=0xbffff950,
>     used=0xbffff974, ino_discovery=0, check_dups=1, extra_attr_check=0, isa_d
ir=0xbffff94c, parent=0xbffff98c) at dinode.c:2856
> #5  0x8053da4 in process_inode_chunk (mp=0xbffffa94, agno=0, num_inos=64, fir
st_irec=0x8161ff4, ino_discovery=0, check_dups=1,
>     extra_attr_check=0, bogus=0xbffff9c8) at dino_chunks.c:738
> #6  0x8055655 in process_aginodes (mp=0xbffffa94, agno=0, ino_discovery=0, ch
eck_dups=1, extra_attr_check=0) at dino_chunks.c:952
> #7  0x8077af6 in phase4 (mp=0xbffffa94) at phase4.c:1310
> #8  0x8093c75 in main (argc=3, argv=0xbffffd64) at xfs_repair.c:487
> (gdb)
> 
> --azLHFNyN32YCQGCU--



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