NetBSD Problem Report #29513
From www@netbsd.org Wed Feb 23 18:49:09 2005
Return-Path: <www@netbsd.org>
Received: by narn.netbsd.org (Postfix, from userid 31301)
id 0F73263B400; Wed, 23 Feb 2005 18:49:08 +0000 (UTC)
Message-Id: <20050223184908.0F73263B400@narn.netbsd.org>
Date: Wed, 23 Feb 2005 18:49:08 +0000 (UTC)
From: joff@embeddedARM.com
Reply-To: joff@embeddedARM.com
To: gnats-bugs@netbsd.org
Subject: FFS+Softdep panic with unfsck-able file-corruption
X-Send-Pr-Version: www-1.0
>Number: 29513
>Category: kern
>Synopsis: FFS+Softdep panic with unfsck-able file-corruption
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: kern-bug-people
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Feb 23 18:50:00 +0000 2005
>Closed-Date: Wed Apr 01 04:08:37 +0000 2009
>Last-Modified: Wed Apr 01 04:08:37 +0000 2009
>Originator: Jesse Off
>Release: 2.99.16
>Organization:
Technologic Systems
>Environment:
2.99.16 evbarm TS7200
>Description:
Was extracting a large tar file that was overwriting some existing files and creating new ones when the filesystem ran out of space. Many messages were printed about disk-full then the kernel panic'ed in inodedep_lookup. Rebooted, fsck complained about a lot of errors but now when booting up it seems the filesystem is irrevocably damaged and the kernel always panics in bootup in the following way:
/: bad dir ino 30336 at offset 0: mangled entry
panic: bad dir
Stopped in pid 8.1 (sh) at 0xc0389bb0: mov r15, r14
Here's output from the original crash during tar xfzv man.tgz -C /
uid 0, pid 380, command tar, on /: file system full
uid 0, pid 380, command tar, on /: file system full
uid 0, pid 380, command tar, on /: file system full
uid 0, pid 380, command tar, on /: file system full
uid 0, pid 380, command tar, on /: file system full
uid 0, pid 380, command tar, on /: file system full
uid 0, pid 380, command tar, on /: file system full
uid 0, pid 380, command tar, on /: file system full
uid 0, pid 380, command tar, on /: file system full
uid 0, pid 380, command tar, on /: file system full
uid 0, pid 380, command tar, on /: file system full
uid 0, pid 380, command tar, on /: file system full
Fatal kernel mode data abort: 'Alignment Fault 3'
trapframe: 0xc2cc16c8
FSR=00000003, FAR=7073088f, spsr=20000013
r0 =c04dafac, r1 =00000439, r2 =00000001, r3 =202d2d20
r4 =70730873, r5 =00000b93, r6 =00000002, r7 =c114d000
r8 =c2eacb30, r9 =00000000, r10=c110f0e4, r11=c2cc1748
r12=c110e000, ssp=c2cc1714, slr=000007ff, pc =c02bf4a0
db> bt
netbsd:inodedep_lookup+0x10
scp=0xc02bf460 rlv=0xc02c6778 (netbsd:flush_inodedep_deps+0x5c)
rsp=0xc2cc174c rfp=0xc2cc17a8
r10=0xc114d000 r9=0x00000b93
r8=0xc2eacb30 r7=0xc0422dd4 r6=0x00000002 r5=0xc2eacb30
r4=0x00000000
netbsd:flush_inodedep_deps+0x10
scp=0xc02c672c rlv=0xc02c61d8 (0xc02c61d8)
rsp=0xc2cc17ac rfp=0xc2cc1818
r10=0xc2cc1980 r9=0xc2cc1980
r8=0xc2eacb30 r7=0x00000000 r6=0x00000000 r5=0xc2eacb30
r4=0x00000000
0xc02c618c
scp=0xc02c618c rlv=0xc02cce70 (netbsd:ffs_full_fsync+0x118)
rsp=0xc2cc181c rfp=0xc2cc18a0
r10=0x00000004 r9=0xc2cc1980
r8=0x00000000 r7=0x00000000 r6=0x00000000 r5=0xc2eacb30
r4=0x00000000
netbsd:ffs_full_fsync+0x10
scp=0xc02ccd68 rlv=0xc02cca40 (netbsd:ffs_fsync+0x64)
rsp=0xc2cc18a4 rfp=0xc2cc1970
r10=0xc2cc1980 r9=0x00000000
r8=0x00000001 r7=0x00000000 r6=0xc2cc1990 r5=0xc2eacb30
r4=0x00000000
netbsd:ffs_fsync+0x10
scp=0xc02cc9ec rlv=0xc03433b0 (0xc03433b0)
rsp=0xc2cc1974 rfp=0xc2cc19e8
r10=0x00000000 r9=0x00000000
r8=0x00000001 r7=0x00000000 r6=0x00000000 r5=0xc2eacb30
r4=0x00000000
0xc03432fc
scp=0xc03432fc rlv=0xc03446f4 (0xc03446f4)
rsp=0xc2cc19ec rfp=0xc2cc1a60
r10=0xc2442cc0 r9=0xc2cc1b1c
r8=0xc2442cc0 r7=0x00000000 r6=0x00000000 r5=0xc2eacb30
r4=0x00000008
0xc03444a0
scp=0xc03444a0 rlv=0xc0344a30 (0xc0344a30)
rsp=0xc2cc1a64 rfp=0xc2cc1a80
r8=0xc2442cc0 r7=0xc04936d4
r6=0xc04936d4 r5=0x00000000 r4=0xc2eacb30
0xc03449f0
scp=0xc03449f0 rlv=0xc034292c (netbsd:getcleanvnode+0x11c)
rsp=0xc2cc1a84 rfp=0xc2cc1ab0
r5=0xc03f37c8 r4=0xc2eacb30
netbsd:getcleanvnode+0x10
scp=0xc0342820 rlv=0xc0342f40 (netbsd:getnewvnode+0xe8)
rsp=0xc2cc1ab4 rfp=0xc2cc1ae8
r8=0x00000000 r7=0x00000000
r6=0xc04df0b4 r5=0xc114e000 r4=0x00000000
netbsd:getnewvnode+0x10
scp=0xc0342e68 rlv=0xc02cabd0 (0xc02cabd0)
rsp=0xc2cc1aec rfp=0xc2cc1b48
r10=0xc114e000 r9=0x00000da3
r8=0xc2cc1bb0 r7=0xc2d36900 r6=0x07080010 r5=0x00001000
r4=0x00000000
0xc02cab7c
scp=0xc02cab7c rlv=0xc02d01e0 (0xc02d01e0)
rsp=0xc2cc1b4c rfp=0xc2cc1c90
r10=0xc114e000 r9=0xc2d34ddc
r8=0x00000c00 r7=0xc2d36900 r6=0x07080010 r5=0x00000000
r4=0x00000000
0xc02cf7a0
scp=0xc02cf7a0 rlv=0xc034202c (netbsd:lookup+0x274)
rsp=0xc2cc1c94 rfp=0xc2cc1d10
r10=0xc03f31d8 r9=0xc2cc1ccc
r8=0xc2cc1e3c r7=0xc2cc1e2c r6=0xc2cc1e50 r5=0xc2d34ddc
r4=0x00000000
netbsd:lookup+0x10
scp=0xc0341dc8 rlv=0xc0341a28 (0xc0341a28)
rsp=0xc2cc1d14 rfp=0xc2cc1d98
r10=0x00000000 r9=0x00039f2c
r8=0xc2eac938 r7=0xc2cc1e50 r6=0x00000000 r5=0xc2cc1e2c
r4=0xc244b0a8
0xc0341900
scp=0xc0341900 rlv=0xc034ca6c (netbsd:rename_files+0xd4)
rsp=0xc2cc1d9c rfp=0xc2cc1ee0
r10=0x00000000 r9=0x00039f2c
r8=0xc2eac938 r7=0x00038664 r6=0xc2442cc0 r5=0x00000000
r4=0x0003d300
netbsd:rename_files+0x10
scp=0xc034c9a8 rlv=0xc038e008 (0xc038e008)
rsp=0xc2cc1ee4 rfp=0xc2cc1f60
r10=0x00000004 r8=0xc244a3e0
r7=0xc0423834 r6=0xc2cc1fb4 r5=0x00000002 r4=0xefa00080
0xc038dec8
scp=0xc038dec8 rlv=0xc038de44 (0xc038de44)
rsp=0xc2cc1f64 rfp=0xc2cc1fb0
r10=0x00039f28 r9=0x00039f2c
r8=0x00000001 r7=0xc04df820 r6=0xc2442cc0 r5=0x00000000
r4=0xc244a3e0
0xc038ddd0
scp=0xc038ddd0 rlv=0xc03910c8 (netbsd:swi_entry+0x28)
rsp=0xc2cc1fb4 rfp=0xbfffea9c
r8=0x00039ee4 r7=0x000361fc
r6=0x00038664 r5=0x00038660 r4=0x0003d300
db>
db> show registers
spsr 0x20000013
r0 0xc04dafac inodedep_hashtbl
r1 0x439
r2 0x1
r3 0x202d2d20
r4 0x70730873
r5 0xb93
r6 0x2
r7 0xc114d000
r8 0xc2eacb30
r9 0
r10 0xc110f0e4
r11 0xc2cc1748
r12 0xc110e000
usr_sp 0xbfffea80
usr_lr 0x11444
svc_sp 0xc2cc1714
svc_lr 0x7ff
pc 0xc02bf4a0 inodedep_lookup+0x50
und_sp 0xc2cc0ff0
abt_sp 0xc01ea000
irq_sp 0xc01f2000
netbsd:inodedep_lookup+0x50: ldr r3, [r4, #0x01c]
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
From: Andrew Doran <ad@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/29513 CVS commit: src
Date: Sun, 22 Feb 2009 20:28:07 +0000 (UTC)
Module Name: src
Committed By: ad
Date: Sun Feb 22 20:28:07 UTC 2009
Modified Files:
src/doc: CHANGES
src/lib/libp2k: p2k.c
src/sbin/fsck_lfs: lfs.c
src/sbin/mount: mount.8
src/sbin/newfs_lfs: make_lfs.c
src/sbin/tunefs: tunefs.8 tunefs.c
src/sys/arch/vax/conf: VAX780
src/sys/conf: files
src/sys/kern: sys_aio.c vfs_bio.c vfs_subr.c vfs_syscalls.c
src/sys/miscfs/specfs: spec_vnops.c
src/sys/miscfs/syncfs: sync_subr.c
src/sys/modules/ffs: Makefile
src/sys/rump/fs/lib/libffs: Makefile
src/sys/rump/include/rump: rump.h
src/sys/rump/librump/rumpvfs: rump_vfs.c vm_vfs.c
src/sys/sys: buf.h vnode.h
src/sys/ufs: files.ufs
src/sys/ufs/ffs: ffs_alloc.c ffs_balloc.c ffs_extern.h ffs_inode.c
ffs_snapshot.c ffs_vfsops.c ffs_vnops.c ffs_wapbl.c
src/sys/ufs/lfs: lfs_rfw.c lfs_vfsops.c lfs_vnops.c
src/sys/ufs/ufs: inode.h ufs_dirhash.c ufs_extern.h ufs_inode.c
ufs_lookup.c ufs_readwrite.c ufs_vnops.c ufs_wapbl.c
src/sys/uvm: uvm_pager.c
Removed Files:
src/sys/rump/librump/rumpkern/opt: opt_softdep.h
src/sys/ufs/ffs: ffs_softdep.c ffs_softdep.stub.c softdep.h
Log Message:
PR kern/26878 FFSv2 + softdep = livelock (no free ram)
PR kern/16942 panic with softdep and quotas
PR kern/19565 panic: softdep_write_inodeblock: indirect pointer #1 mismatch
PR kern/26274 softdep panic: allocdirect_merge: ...
PR kern/26374 Long delay before non-root users can write to softdep partitions
PR kern/28621 1.6.x "vp != NULL" panic in ffs_softdep.c:4653 while unmounting a softdep (+quota) filesystem
PR kern/29513 FFS+Softdep panic with unfsck-able file-corruption
PR kern/31544 The ffs softdep code appears to fail to write dirty bits to disk
PR kern/31981 stopping scsi disk can cause panic (softdep)
PR kern/32116 kernel panic in softdep (assertion failure)
PR kern/32532 softdep_trackbufs deadlock
PR kern/37191 softdep: locking against myself
PR kern/40474 Kernel panic after remounting raid root with softdep
Retire softdep, pass 2. As discussed and later formally announced on the
mailing lists.
To generate a diff of this commit:
cvs rdiff -r1.1191 -r1.1192 src/doc/CHANGES
cvs rdiff -r1.8 -r1.9 src/lib/libp2k/p2k.c
cvs rdiff -r1.29 -r1.30 src/sbin/fsck_lfs/lfs.c
cvs rdiff -r1.65 -r1.66 src/sbin/mount/mount.8
cvs rdiff -r1.13 -r1.14 src/sbin/newfs_lfs/make_lfs.c
cvs rdiff -r1.37 -r1.38 src/sbin/tunefs/tunefs.8 src/sbin/tunefs/tunefs.c
cvs rdiff -r1.1 -r1.2 src/sys/arch/vax/conf/VAX780
cvs rdiff -r1.942 -r1.943 src/sys/conf/files
cvs rdiff -r1.22 -r1.23 src/sys/kern/sys_aio.c
cvs rdiff -r1.215 -r1.216 src/sys/kern/vfs_bio.c
cvs rdiff -r1.368 -r1.369 src/sys/kern/vfs_subr.c
cvs rdiff -r1.388 -r1.389 src/sys/kern/vfs_syscalls.c
cvs rdiff -r1.122 -r1.123 src/sys/miscfs/specfs/spec_vnops.c
cvs rdiff -r1.36 -r1.37 src/sys/miscfs/syncfs/sync_subr.c
cvs rdiff -r1.2 -r1.3 src/sys/modules/ffs/Makefile
cvs rdiff -r1.6 -r1.7 src/sys/rump/fs/lib/libffs/Makefile
cvs rdiff -r1.9 -r1.10 src/sys/rump/include/rump/rump.h
cvs rdiff -r1.1 -r0 src/sys/rump/librump/rumpkern/opt/opt_softdep.h
cvs rdiff -r1.12 -r1.13 src/sys/rump/librump/rumpvfs/rump_vfs.c
cvs rdiff -r1.3 -r1.4 src/sys/rump/librump/rumpvfs/vm_vfs.c
cvs rdiff -r1.110 -r1.111 src/sys/sys/buf.h
cvs rdiff -r1.200 -r1.201 src/sys/sys/vnode.h
cvs rdiff -r1.18 -r1.19 src/sys/ufs/files.ufs
cvs rdiff -r1.121 -r1.122 src/sys/ufs/ffs/ffs_alloc.c
cvs rdiff -r1.51 -r1.52 src/sys/ufs/ffs/ffs_balloc.c
cvs rdiff -r1.74 -r1.75 src/sys/ufs/ffs/ffs_extern.h
cvs rdiff -r1.102 -r1.103 src/sys/ufs/ffs/ffs_inode.c
cvs rdiff -r1.91 -r1.92 src/sys/ufs/ffs/ffs_snapshot.c
cvs rdiff -r1.116 -r0 src/sys/ufs/ffs/ffs_softdep.c
cvs rdiff -r1.23 -r0 src/sys/ufs/ffs/ffs_softdep.stub.c
cvs rdiff -r1.242 -r1.243 src/sys/ufs/ffs/ffs_vfsops.c
cvs rdiff -r1.110 -r1.111 src/sys/ufs/ffs/ffs_vnops.c
cvs rdiff -r1.11 -r1.12 src/sys/ufs/ffs/ffs_wapbl.c
cvs rdiff -r1.11 -r0 src/sys/ufs/ffs/softdep.h
cvs rdiff -r1.11 -r1.12 src/sys/ufs/lfs/lfs_rfw.c
cvs rdiff -r1.269 -r1.270 src/sys/ufs/lfs/lfs_vfsops.c
cvs rdiff -r1.219 -r1.220 src/sys/ufs/lfs/lfs_vnops.c
cvs rdiff -r1.55 -r1.56 src/sys/ufs/ufs/inode.h
cvs rdiff -r1.27 -r1.28 src/sys/ufs/ufs/ufs_dirhash.c
cvs rdiff -r1.60 -r1.61 src/sys/ufs/ufs/ufs_extern.h
cvs rdiff -r1.77 -r1.78 src/sys/ufs/ufs/ufs_inode.c
cvs rdiff -r1.100 -r1.101 src/sys/ufs/ufs/ufs_lookup.c
cvs rdiff -r1.93 -r1.94 src/sys/ufs/ufs/ufs_readwrite.c
cvs rdiff -r1.172 -r1.173 src/sys/ufs/ufs/ufs_vnops.c
cvs rdiff -r1.4 -r1.5 src/sys/ufs/ufs/ufs_wapbl.c
cvs rdiff -r1.93 -r1.94 src/sys/uvm/uvm_pager.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->closed
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Wed, 01 Apr 2009 04:08:37 +0000
State-Changed-Why:
softdep (softupdates) has been removed.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.