Date: Mon, 05 Mar 2001 11:16:42 -0800 From: Matthew Reimer <mreimer@vpop.net> To: freebsd-stable@freebsd.org Subject: Softupdates panic "ffs_blkfree: bad size" on -stable Message-ID: <3AA3E61A.1EC86C40@vpop.net>
next in thread | raw e-mail | index | archive | help
Last night one of our servers panicked with the message "ffs_blkfree: bad size." The kernel is from early March 4 (PST). Below is a backtrace and the versions of the files in /sys/ufs/ffs. I have a kernel dump for anyone interested in looking into this problem; email me and I'll get it to you. Hopefully this can be fixed before 4.3-RELEASE. Matt (kgdb) bt #0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:469 #1 0xc014d65b in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:309 #2 0xc014d9f1 in panic (fmt=0xc022f5d4 "from debugger") at /usr/src/sys/kern/kern_shutdown.c:556 #3 0xc012cb29 in db_panic (addr=-1071586164, have_addr=0, count=-1, modif=0xccc23bdc "") at /usr/src/sys/ddb/db_command.c:433 #4 0xc012cac9 in db_command (last_cmdp=0xc02564a0, cmd_table=0xc0256300, aux_cmd_tablep=0xc026df5c) at /usr/src/sys/ddb/db_command.c:333 #5 0xc012cb8e in db_command_loop () at /usr/src/sys/ddb/db_command.c:455 #6 0xc012ec9b in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_trap.c:71 #7 0xc020e22e in kdb_trap (type=3, code=0, regs=0xccc23ce4) at /usr/src/sys/i386/i386/db_interface.c:158 #8 0xc0219de8 in trap (frame={tf_fs = -859701232, tf_es = -1072431088, tf_ds = -1063059440, tf_edi = -1045659648, tf_esi = 256, tf_ebp = -859685588, tf_isp = -859685616, tf_ebx = -1071376747, tf_edx = 0, tf_ecx = 1021, tf_eax = 18, tf_trapno = 3, tf_err = 0, tf_eip = -1071586164, tf_cs = 8, tf_eflags = 582, tf_esp = -1071338881, tf_ss = -1071426301}) at /usr/src/sys/i386/i386/trap.c:569 #9 0xc020e48c in Debugger (msg=0xc0235503 "panic") at machine/cpufunc.h:64 #10 0xc014d9e8 in panic (fmt=0xc0241695 "ffs_blkfree: bad size") at /usr/src/sys/kern/kern_shutdown.c:554 #11 0xc01d9527 in ffs_blkfree (ip=0xccc23e0c, bno=72020, size=8192) at /usr/src/sys/ufs/ffs/ffs_alloc.c:1320 #12 0xc01ddd1b in indir_trunc (ip=0xccc23e0c, dbn=16, level=0, lbn=12, countp=0xccc23dfc) at /usr/src/sys/ufs/ffs/ffs_softdep.c:2195 #13 0xc01ddad5 in handle_workitem_freeblocks (freeblks=0xc226f780) at /usr/src/sys/ufs/ffs/ffs_softdep.c:2095 #14 0xc01dbfd3 in process_worklist_item (matchmnt=0x0, flags=0) at /usr/src/sys/ufs/ffs/ffs_softdep.c:685 #15 0xc01dbe66 in softdep_process_worklist (matchmnt=0x0) at /usr/src/sys/ufs/ffs/ffs_softdep.c:584 #16 0xc0178c6f in sched_sync () at /usr/src/sys/kern/vfs_subr.c:1035 #17 0xc020eb9c in fork_trampoline () Cannot access memory at address 0x8000. (kgdb) frame 11 #11 0xc01d9527 in ffs_blkfree (ip=0xccc23e0c, bno=72020, size=8192) at /usr/src/sys/ufs/ffs/ffs_alloc.c:1320 1320 panic("ffs_blkfree: bad size"); (kgdb) l 1315 if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0 || 1316 fragnum(fs, bno) + numfrags(fs, size) > fs->fs_frag) { 1317 printf("dev=%s, bno = %ld, bsize = %ld, size = %ld, fs = %s\n", 1318 devtoname(ip->i_dev), (long)bno, (long)fs->fs_bsize, size, 1319 fs->fs_fsmnt); 1320 panic("ffs_blkfree: bad size"); 1321 } 1322 cg = dtog(fs, bno); 1323 if ((u_int)bno >= fs->fs_size) { 1324 printf("bad block %ld, ino %lu\n", (kgdb) p size $8 = -859685364 (kgdb) frame 12 #12 0xc01ddd1b in indir_trunc (ip=0xccc23e0c, dbn=16, level=0, lbn=12, countp=0xccc23dfc) at /usr/src/sys/ufs/ffs/ffs_softdep.c:2195 2195 ffs_blkfree(ip, nb, fs->fs_bsize); (kgdb) l 2190 if (level != 0) { 2191 if ((error = indir_trunc(ip, fsbtodb(fs, nb), 2192 level - 1, lbn + (i * lbnadd), countp)) != 0) 2193 allerror = error; 2194 } 2195 ffs_blkfree(ip, nb, fs->fs_bsize); 2196 *countp += nblocks; 2197 } 2198 bp->b_flags |= B_INVAL | B_NOCACHE; 2199 brelse(bp); (kgdb) p fs->fs_bsize $9 = 8192 $ ls -lt /sys/ufs/ffs/ total 366 -rw-r--r-- 1 root wheel 147962 Mar 4 06:16 ffs_softdep.c -rw-r--r-- 1 root wheel 22090 Jan 22 15:43 fs.h -rw-r--r-- 1 root wheel 33540 Jan 22 15:43 ffs_vfsops.c -rw-r--r-- 1 root wheel 15475 Dec 28 15:01 ffs_inode.c -rw-r--r-- 1 root wheel 5747 Dec 28 15:01 ffs_softdep_stub.c -rw-r--r-- 1 root wheel 797 Jun 26 2000 README.softupdates -rw-r--r-- 1 root wheel 27595 Jun 22 2000 softdep.h -rw-r--r-- 1 root wheel 47375 Mar 28 2000 ffs_alloc.c -rw-r--r-- 1 root wheel 10833 Feb 24 2000 ffs_balloc.c -rw-r--r-- 1 root wheel 8278 Jan 10 2000 ffs_vnops.c -rw-r--r-- 1 root wheel 5631 Jan 9 2000 ffs_extern.h -rw-r--r-- 1 root wheel 6448 Dec 28 1999 ffs_subr.c -rw-r--r-- 1 root wheel 15134 Dec 2 1999 README -rw-r--r-- 1 root wheel 5940 Aug 27 1999 ffs_tables.c $ ident * README: $FreeBSD: src/sys/ufs/ffs/README,v 1.4 1999/12/03 00:34:26 billf Exp $ README.softupdates: $FreeBSD: src/sys/ufs/ffs/README.softupdates,v 1.7.2.1 2000/06/26 14:09:01 sheldonh Exp $ ffs_alloc.c: $FreeBSD: src/sys/ufs/ffs/ffs_alloc.c,v 1.64.2.1 2000/03/16 08:15:53 ps Exp $ ffs_balloc.c: $FreeBSD: src/sys/ufs/ffs/ffs_balloc.c,v 1.26 2000/02/24 20:43:20 dillon Exp $ ffs_extern.h: $FreeBSD: src/sys/ufs/ffs/ffs_extern.h,v 1.30 2000/01/09 22:40:02 mckusick Exp $ ffs_inode.c: $FreeBSD: src/sys/ufs/ffs/ffs_inode.c,v 1.56.2.2 2000/12/28 11:01:44 ps Exp $ ffs_softdep.c: $FreeBSD: src/sys/ufs/ffs/ffs_softdep.c,v 1.57.2.9 2001/03/02 17:22:26 dillon Exp $ ffs_softdep_stub.c: $FreeBSD: src/sys/ufs/ffs/ffs_softdep_stub.c,v 1.7.2.1 2000/12/28 11:01:45 ps Exp $ ffs_subr.c: $FreeBSD: src/sys/ufs/ffs/ffs_subr.c,v 1.25 1999/12/29 04:55:04 peter Exp $ ffs_tables.c: $FreeBSD: src/sys/ufs/ffs/ffs_tables.c,v 1.7 1999/08/28 00:52:22 peter Exp $ ffs_vfsops.c: $FreeBSD: src/sys/ufs/ffs/ffs_vfsops.c,v 1.117.2.1 2001/01/22 18:10:27 iedowse Exp $ ffs_vnops.c: $FreeBSD: src/sys/ufs/ffs/ffs_vnops.c,v 1.64 2000/01/10 12:04:25 phk Exp $ fs.h: $FreeBSD: src/sys/ufs/ffs/fs.h,v 1.14.2.2 2001/01/22 18:10:28 iedowse Exp $ softdep.h: $FreeBSD: src/sys/ufs/ffs/softdep.h,v 1.7.2.1 2000/06/22 19:27:42 peter Exp $ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3AA3E61A.1EC86C40>