Received: by oss.sgi.com id ; Wed, 6 Sep 2000 14:50:01 -0700 Received: from smtp1.cern.ch ([137.138.128.38]:61190 "EHLO smtp1.cern.ch") by oss.sgi.com with ESMTP id ; Wed, 6 Sep 2000 14:49:51 -0700 Received: from pcrd10.cern.ch (pcrd10.cern.ch [137.138.29.237]) by smtp1.cern.ch (8.9.3/8.9.3) with ESMTP id WAA21921; Wed, 6 Sep 2000 22:48:27 +0200 (MET DST) Received: (from fuji@localhost) by pcrd10.cern.ch (8.9.3/8.9.3) id WAA16124; Wed, 6 Sep 2000 22:47:53 +0200 Date: Wed, 6 Sep 2000 22:47:53 +0200 From: Peter.Kelemen@cern.ch To: Keith Owens Cc: linux-xfs@oss.sgi.com Subject: xfs_repair dumps core on damaged filesystem (was: Re: XFS assertion failed: vp->v_bh.bh_first != NULL) Message-ID: <20000906224753.A16092@pcrd10.cern.ch> Reply-To: Peter.Kelemen@cern.ch References: <20000903211728.C3797@pcrd10.cern.ch> <17574.968018229@ocs3.ocs-net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="azLHFNyN32YCQGCU" Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.2.5i X-Beat: @908 In-Reply-To: <17574.968018229@ocs3.ocs-net>; from kaos@melbourne.sgi.com on Mon, Sep 04, 2000 at 08:57:09AM +1100 Organization: CERN European Laboratory for Particle Physics, Switzerland X-GPG-Fingerprint: D402 4AF3 7488 165B CC34 4147 7F0C D922 EE4C 26E8 X-PGP-Fingerprint: 26 87 63 4B 07 28 1F AD 6D AA B5 8A D6 03 0F BF X-Comment: Personal opinion. Paragraphs might have been reformatted. X-Copyright: Forwarding or publishing without permission is prohibited. X-Accept-Language: hu,en Sender: owner-linux-xfs@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;linux-xfs-outgoing --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@cern.ch .+' `+...+' `+...+' `+...+' `+...+' --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_repair 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 , 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=0x8197660, 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, ino=148, was_free=0, dirty=0xbffff968, cleared=0xbffff950, used=0xbffff974, verify_mode=0, uncertain=0, ino_discovery=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=148, was_free=0, dirty=0xbffff968, cleared=0xbffff950, used=0xbffff974, ino_discovery=0, check_dups=1, extra_attr_check=0, isa_dir=0xbffff94c, parent=0xbffff98c) at dinode.c:2856 #5 0x8053da4 in process_inode_chunk (mp=0xbffffa94, agno=0, num_inos=64, first_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, check_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--