Date: Fri, 22 May 1998 08:23:19 -0700 From: Tamiji Homma <thomma@BayNetworks.COM> To: freebsd-current@FreeBSD.ORG Subject: Yet another Softupdates panic Message-ID: <19980522082319N.thomma@baynetworks.com>
next in thread | raw e-mail | index | archive | help
Hi,
My experiment system survived make world a few times but
it died last night.
Kernel is built with SOFTUPDATES/ccd over GENERIC.
The other machine with signle IDE drive and the identical
kernel also died with 'dangling deps' panic.
Tammy
Here is trace back and relevant information.
moo# uname -a
FreeBSD moo.pochi.com 3.0-CURRENT FreeBSD 3.0-CURRENT #5: Wed May 20 20:55:40 PDT 1998 root@moo.pochi.com:/w/usr/current/src/sys/compile/MOO i386
moo# gdb -k kernel.debug /var/crash/vmcore.2
GDB is free software and you are welcome to 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.
GDB 4.16 (i386-unknown-freebsd),
Copyright 1996 Free Software Foundation, Inc...
IdlePTD 299000
initial pcb at 26ef98
panicstr: softdep_deallocate_dependencies: dangling deps
panic messages:
---
panic: softdep_deallocate_dependencies: dangling deps
syncing disks... 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 73 giving up
dumping to dev 20001, offset 393216
dump 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
---
#0 boot (howto=256) at ../../kern/kern_shutdown.c:281
281 dumppcb.pcb_cr3 = rcr3();
(kgdb) where
#0 boot (howto=256) at ../../kern/kern_shutdown.c:281
#1 0xf011ad86 in panic (
fmt=0xf01d314e "softdep_deallocate_dependencies: dangling deps")
at ../../kern/kern_shutdown.c:421
#2 0xf01d31dc in softdep_deallocate_dependencies (bp=0xf1c0d4c0)
at ../../ufs/ffs/ffs_softdep.c:4157
#3 0xf0133a95 in brelse (bp=0xf1c0d4c0) at ../../kern/vfs_bio.c:596
#4 0xf01cd774 in ffs_indirtrunc (ip=0xf0b28600, lbn=-12, dbn=6883648,
lastbn=-1, level=0, countp=0xf4324d8c) at ../../ufs/ffs/ffs_inode.c:534
#5 0xf01cd13c in ffs_truncate (vp=0xf44c3360, length=0x0000000000017000,
flags=0, cred=0xf07b9f80, p=0xf426b940) at ../../ufs/ffs/ffs_inode.c:330
#6 0xf01da769 in ufs_setattr (ap=0xf4324ee8) at ../../ufs/ufs/ufs_vnops.c:487
#7 0xf01dcc15 in ufs_vnoperate (ap=0xf4324ee8)
at ../../ufs/ufs/ufs_vnops.c:2248
#8 0xf013ec70 in ftruncate (p=0xf426b940, uap=0xf4324f94) at vnode_if.h:275
#9 0xf01fef6f in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = -272639396,
tf_esi = -272639302, tf_ebp = -272639552, tf_isp = -198029340,
tf_ebx = 537395296, tf_edx = 0, tf_ecx = 94208, tf_eax = 198,
tf_trapno = 12, tf_err = 7, tf_eip = 537333057, tf_cs = 31,
tf_eflags = 534, tf_esp = -272639584, tf_ss = 39})
at ../../i386/i386/trap.c:1031
#10 0x20070d41 in ?? ()
#11 0x18d0 in ?? ()
#12 0x175f in ?? ()
---Type <return> to continue, or q <return> to quit---
#13 0x1099 in ?? ()
(kgdb) up
#1 0xf011ad86 in panic (
fmt=0xf01d314e "softdep_deallocate_dependencies: dangling deps")
at ../../kern/kern_shutdown.c:421
421 boot(bootopt);
(kgdb) up
#2 0xf01d31dc in softdep_deallocate_dependencies (bp=0xf1c0d4c0)
at ../../ufs/ffs/ffs_softdep.c:4157
4157 panic("softdep_deallocate_dependencies: dangling deps");
(kgdb) l
4152 struct buf *bp;
4153 {
4154 struct worklist *wk;
4155
4156 if ((bp->b_flags & B_ERROR) == 0)
4157 panic("softdep_deallocate_dependencies: dangling deps");
4158 softdep_error(bp->b_vp->v_mount->mnt_stat.f_mntonname, bp->b_error);
4159 ACQUIRE_LOCK(&lk);
4160 while ((wk = LIST_FIRST(&bp->b_dep)) != NULL) {
4161 WORKLIST_REMOVE(wk);
(kgdb) p *bp
$1 = {b_hash = {le_next = 0xf1c4d658, le_prev = 0xf0270818}, b_vnbufs = {
le_next = 0x0, le_prev = 0xf44c3394}, b_freelist = {tqe_next = 0x0,
tqe_prev = 0xf1c4e320}, b_act = {tqe_next = 0x0, tqe_prev = 0xf0288378},
b_proc = 0x0, b_flags = 570598064, b_qindex = 0, b_usecount = 7 '\a',
b_error = 0, b_bufsize = 8192, b_bcount = 8192, b_resid = 0, b_dev = 5378,
b_data = 0xf2342000 "X\0047", b_kvabase = 0xf2342000 "X\0047",
b_kvasize = 8192, b_lblkno = -12, b_blkno = 6883648,
b_offset = 0xfffffffffffe8000, b_iodone = 0, b_iodone_chain = 0x0,
b_vp = 0xf44c3360, b_dirtyoff = 0, b_dirtyend = 0, b_rcred = 0x0,
b_wcred = 0x0, b_validoff = 0, b_validend = 0, b_pblkno = 2105727,
b_saveaddr = 0x0, b_savekva = 0x0, b_driver1 = 0xf0759800, b_driver2 = 0x0,
b_spc = 0x0, b_cluster = {cluster_head = {tqh_first = 0xf1bfe690,
tqh_last = 0xf1c6fe78}, cluster_entry = {tqe_next = 0xf1bfe690,
tqe_prev = 0xf1c6fe78}}, b_pages = {0xf0448950, 0xf0464384,
0x0 <repeats 30 times>}, b_npages = 2, b_dep = {lh_first = 0xf0a977e0}}
(kgdb) up
#3 0xf0133a95 in brelse (bp=0xf1c0d4c0) at ../../kern/vfs_bio.c:596
596 (*bioops.io_deallocate)(bp);
(kgdb) l
591
592 if ((bp->b_flags & (B_NOCACHE | B_INVAL | B_ERROR)) ||
593 (bp->b_bufsize <= 0)) {
594 bp->b_flags |= B_INVAL;
595 if (LIST_FIRST(&bp->b_dep) != NULL && bioops.io_deallocate)
596 (*bioops.io_deallocate)(bp);
597 if (bp->b_flags & B_DELWRI)
598 --numdirtybuffers;
599 bp->b_flags &= ~(B_DELWRI | B_CACHE);
600 if ((bp->b_flags & B_VMIO) == 0) {
(kgdb) up
#4 0xf01cd774 in ffs_indirtrunc (ip=0xf0b28600, lbn=-12, dbn=6883648,
lastbn=-1, level=0, countp=0xf4324d8c) at ../../ufs/ffs/ffs_inode.c:534
534 brelse(bp);
(kgdb) l
529 }
530 if (copy != NULL) {
531 FREE(copy, M_TEMP);
532 } else {
533 bp->b_flags |= B_INVAL | B_NOCACHE;
534 brelse(bp);
535 }
536
537 *countp = blocksreleased;
538 return (allerror);
(kgdb) up
#5 0xf01cd13c in ffs_truncate (vp=0xf44c3360, length=0x0000000000017000,
flags=0, cred=0xf07b9f80, p=0xf426b940) at ../../ufs/ffs/ffs_inode.c:330
330 error = ffs_indirtrunc(oip, indir_lbn[level],
(kgdb) l
325 indir_lbn[DOUBLE] = indir_lbn[SINGLE] - NINDIR(fs) - 1;
326 indir_lbn[TRIPLE] = indir_lbn[DOUBLE] - NINDIR(fs) * NINDIR(fs) - 1;
327 for (level = TRIPLE; level >= SINGLE; level--) {
328 bn = oip->i_ib[level];
329 if (bn != 0) {
330 error = ffs_indirtrunc(oip, indir_lbn[level],
331 fsbtodb(fs, bn), lastiblock[level], level, &count);
332 if (error)
333 allerror = error;
334 blocksreleased += count;
(kgdb) p *oip
$2 = {i_lock = {lk_interlock = {lock_data = 0}, lk_flags = 1024,
lk_sharecount = 0, lk_waitcount = 0, lk_exclusivecount = 1, lk_prio = 8,
lk_wmesg = 0xf01d4ef7 "inode", lk_timo = 0, lk_lockholder = 5272},
i_hash = {le_next = 0xf0e49400, le_prev = 0xf076edd8}, i_vnode = 0xf44c3360,
i_devvp = 0xf4294b40, i_flag = 128, i_dev = 5378, i_number = 777844,
i_effnlink = 1, inode_u = {fs = 0xf07c1800, e2fs = 0xf07c1800}, i_dquot = {
0x0, 0x0}, i_modrev = 0x0000236da619c72a, i_lockf = 0x0, i_count = 0,
i_endoff = 0, i_diroff = 0, i_offset = 0, i_ino = 0, i_reclen = 0,
i_spare = {0, 0, 0, 0, 0}, i_din = {di_mode = 33152, di_nlink = 1, di_u = {
oldids = {0, 0}, inumber = 0}, di_size = 103319, di_atime = 895815148,
di_atimensec = 0, di_mtime = 895815148, di_mtimensec = 0,
di_ctime = 895815148, di_ctimensec = 0, di_db = {3217288, 3217296,
3217304, 3217312, 3217320, 3217328, 3217336, 3217344, 3217352, 3217360,
3217368, 3217376}, di_ib = {3441824, 0, 0}, di_flags = 0,
di_blocks = 224, di_gen = 1740443408, di_uid = 0, di_gid = 7, di_spare = {
0, 0}}}
(kgdb) up
#6 0xf01da769 in ufs_setattr (ap=0xf4324ee8) at ../../ufs/ufs/ufs_vnops.c:487
487 if (error = UFS_TRUNCATE(vp, vap->va_size, 0, cred, p))
(kgdb) l
482 return (EROFS);
483 break;
484 default:
485 break;
486 }
487 if (error = UFS_TRUNCATE(vp, vap->va_size, 0, cred, p))
488 return (error);
489 }
490 ip = VTOI(vp);
491 if (vap->va_atime.tv_sec != VNOVAL || vap->va_mtime.tv_sec != VNOVAL) {
(kgdb) p *vp
$3 = {v_flag = 2105344, v_usecount = 1, v_writecount = 1, v_holdcnt = 13,
v_lastr = 0, v_id = 233130, v_mount = 0xf07c0c00, v_op = 0xf0753000,
v_freelist = {tqe_next = 0xf43ddfe0, tqe_prev = 0xf0270f34}, v_mntvnodes = {
le_next = 0xf4315c00, le_prev = 0xf07c0c18}, v_cleanblkhd = {
lh_first = 0xf1c4e310}, v_dirtyblkhd = {lh_first = 0xf1c0d4c0},
v_synclist = {le_next = 0x0, le_prev = 0xf0758994}, v_numoutput = 0,
v_type = VREG, v_un = {vu_mountedhere = 0x0, vu_socket = 0x0,
vu_specinfo = 0x0, vu_fifoinfo = 0x0}, v_lease = 0x0, v_lastw = 0,
v_cstart = 0, v_lasta = 0, v_clen = 0, v_maxio = 65536,
v_object = 0xf43687f8, v_interlock = {lock_data = 0}, v_vnlock = 0x0,
v_tag = VT_UFS, v_data = 0xf0b28600, v_cache_src = {lh_first = 0x0},
v_cache_dst = {tqh_first = 0xf0d04900, tqh_last = 0xf0d04910},
v_dd = 0xf44c3360, v_ddid = 0, v_pollinfo = {vpi_lock = {lock_data = 0},
vpi_selinfo = {si_pid = 0, si_flags = 0}, vpi_events = 0, vpi_revents = 0}}
(kgdb) p cred
$4 = (struct ucred *) 0xf07b9f80
(kgdb) p *cred
$5 = {cr_ref = 15, cr_uid = 0, cr_ngroups = 8, cr_groups = {0, 0, 2, 3, 4, 5,
20, 31, 0, 0, 0, 0, 0, 0, 0, 0}}
(kgdb) p *p
$6 = {p_procq = {tqe_next = 0xf028c074, tqe_prev = 0x0}, p_list = {
le_next = 0xf4383a40, le_prev = 0xf028e0ac}, p_cred = 0xf0ab59e0,
p_fd = 0xf0ad0c00, p_stats = 0xf4323220, p_limit = 0xf0767000,
p_upages_obj = 0xf4322d48, p_sigacts = 0xf43230f0, p_flag = 16390,
p_stat = 2 '\002', p_pad1 = "\000\000", p_pid = 5272, p_hash = {
le_next = 0xf426cac0, le_prev = 0xf0758d60}, p_pglist = {le_next = 0x0,
le_prev = 0xf4383a7c}, p_pptr = 0xf4383a40, p_sibling = {le_next = 0x0,
le_prev = 0xf4383a90}, p_children = {lh_first = 0x0}, p_ithandle = {
callout = 0x0}, p_oppid = 0, p_dupfd = 0, p_vmspace = 0xf426fbc0,
p_estcpu = 1503, p_cpticks = 1248, p_pctcpu = 50, p_wchan = 0x0,
p_wmesg = 0xf0139a4c "vbtrunc", p_swtime = 1, p_slptime = 0, p_realtimer = {
it_interval = {tv_sec = 0, tv_usec = 0}, it_value = {tv_sec = 0,
tv_usec = 0}}, p_rtime = {tv_sec = 0, tv_usec = 7156}, p_runtime = {
tv_sec = 9069, tv_usec = 776479}, p_uticks = 1, p_sticks = 1295,
p_iticks = 2, p_traceflag = 0, p_tracep = 0x0, p_siglist = 0,
p_textvp = 0xf42f4640, p_lock = 0 '\000', p_oncpu = 0 '\000',
p_lastcpu = 0 '\000', p_pad2 = 0 '\000', p_locks = 0, p_simple_locks = 0,
p_stops = 0, p_stype = 0, p_step = 0 '\000', p_pfsflags = 0 '\000',
p_pad3 = "\000", p_retval = {0, 0}, p_sigmask = 0, p_sigignore = 407404544,
p_sigcatch = 0, p_priority = 4 '\004', p_usrpri = 127 '\177',
p_nice = 0 '\000',
p_comm = "strip\000l\000\000\000\000\000\000\000\000\000",
p_pgrp = 0xf08f3240, p_sysent = 0xf025ca40, p_rtprio = {type = 1, prio = 0},
p_addr = 0xf4323000, p_md = {md_regs = 0xf4324fbc}, p_xstat = 0,
---Type <return> to continue, or q <return> to quit---
p_acflag = 2, p_ru = 0x0, p_nthreads = 0, p_aioinfo = 0x0, p_wakeup = 0,
p_peers = 0x0, p_leader = 0xf426b940}
(kgdb) up
#7 0xf01dcc15 in ufs_vnoperate (ap=0xf4324ee8)
at ../../ufs/ufs/ufs_vnops.c:2248
2248 return (VOCALL(ufs_vnodeop_p, ap->a_desc->vdesc_offset, ap));
(kgdb) l
2243 ufs_vnoperate(ap)
2244 struct vop_generic_args /* {
2245 struct vnodeop_desc *a_desc;
2246 } */ *ap;
2247 {
2248 return (VOCALL(ufs_vnodeop_p, ap->a_desc->vdesc_offset, ap));
2249 }
2250
2251 int
2252 ufs_vnoperatefifo(ap)
(kgdb) up
#8 0xf013ec70 in ftruncate (p=0xf426b940, uap=0xf4324f94) at vnode_if.h:275
275 return (VCALL(vp, VOFFSET(vop_setattr), &a));
(kgdb) up
#9 0xf01fef6f in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = -272639396,
tf_esi = -272639302, tf_ebp = -272639552, tf_isp = -198029340,
tf_ebx = 537395296, tf_edx = 0, tf_ecx = 94208, tf_eax = 198,
tf_trapno = 12, tf_err = 7, tf_eip = 537333057, tf_cs = 31,
tf_eflags = 534, tf_esp = -272639584, tf_ss = 39})
at ../../i386/i386/trap.c:1031
1031 error = (*callp->sy_call)(p, args);
(kgdb) l
1026 p->p_retval[0] = 0;
1027 p->p_retval[1] = frame.tf_edx;
1028
1029 STOPEVENT(p, S_SCE, callp->sy_narg);
1030
1031 error = (*callp->sy_call)(p, args);
1032
1033 switch (error) {
1034
1035 case 0:
(kgdb) up
#10 0x20070d41 in ?? ()
(kgdb) quit
moo#
moo# dmesg
Copyright (c) 1992-1998 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
FreeBSD 3.0-CURRENT #5: Wed May 20 20:55:40 PDT 1998
root@moo.pochi.com:/w/usr/current/src/sys/compile/MOO
Timecounter "i8254" frequency 1193182 Hz cost 3169 ns
CPU: AMD-K6tm w/ multimedia extensions (262.50-MHz 586-class CPU)
Origin = "AuthenticAMD" Id = 0x562 Stepping=2
Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
real memory = 67108864 (65536K bytes)
avail memory = 62369792 (60908K bytes)
Probing for devices on PCI bus 0:
chip0: <VIA 82C595 (Apollo VP2) system controller> rev 0x03 on pci0.0.0
chip1: <VIA 82C586 PCI-ISA bridge> rev 0x25 on pci0.7.0
ide_pci0: <VIA 82C586x (Apollo) Bus-master IDE controller> rev 0x06 on pci0.7.1
ncr0: <ncr 53c875 fast20 wide scsi> rev 0x03 int a irq 11 on pci0.8.0
ncr0: waiting for scsi devices to settle
scbus0 at ncr0 bus 0
sd0 at scbus0 target 0 lun 0
sd0: <CONNER CFP2107E 2.14GB 1527> type 0 fixed SCSI 2
sd0: Direct-Access
sd0: WIDE SCSI (16 bit) enabled
sd0: 20.0 MB/s (100 ns, offset 15)
2048MB (4194304 512 byte sectors)
sd1 at scbus0 target 1 lun 0
sd1: <CONNER CFP2107E 2.14GB 1527> type 0 fixed SCSI 2
sd1: Direct-Access
sd1: WIDE SCSI (16 bit) enabled
sd1: 20.0 MB/s (100 ns, offset 15)
2048MB (4194304 512 byte sectors)
vga0: <ATI Mach64-GX graphics accelerator> rev 0x01 on pci0.9.0
de0: <Digital 21140A Fast Ethernet> rev 0x22 int a irq 10 on pci0.10.0
de0: 21140A [10-100Mb/s] pass 2.2
de0: address 00:20:18:58:22:15
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <16 virtual consoles, flags=0x0>
ed0 not found at 0x280
fe0 not found at 0x300
sio0 at 0x3f8-0x3ff irq 4 flags 0x10 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
lpt1 not found
mse0 not found at 0x23c
psm0 not found at 0x60
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
wdc0 at 0x1f0-0x1f7 irq 14 flags 0xa0ffa0ff on isa
wdc0: unit 0 (wd0): <IBM-DHEA-36480>, DMA, 32-bit, multi-block-16
wd0: 6197MB (12692736 sectors), 12592 cyls, 16 heads, 63 S/T, 512 B/S
wdc1 at 0x170-0x177 irq 15 flags 0xa0ffa0ff on isa
wdc1: unit 0 (wd2): <QUANTUM FIREBALL SE6.4A>, DMA, 32-bit, multi-block-16
wd2: 6149MB (12594960 sectors), 13328 cyls, 15 heads, 63 S/T, 512 B/S
bt0 not found at 0x330
uha0 not found at 0x330
aha0 not found at 0x330
aic0 not found at 0x340
nca0 not found at 0x1f88
nca1 not found at 0x350
sea0 not found
wt0 not found at 0x300
mcd0 not found at 0x300
matcdc0 not found at 0x230
scd0 not found at 0x230
ie0: unknown board_id: f000
ie0 not found at 0x300
ep0 not found at 0x300
ex0 not found
le0 not found at 0x300
lnc0 not found at 0x280
ze0 not found at 0x300
zp0 not found at 0x300
npx0 on motherboard
npx0: INT 16 interface
struct nfsmount bloated (> 512bytes)
Try reducing NFS_MUIDHASHSIZ
ccd0-3: Concatenated disk drivers
WARNING: / was not properly dismounted.
de0: enabling Full Duplex 100baseTX port
ffs_mountfs: superblock updated
ffs_mountfs: superblock updated
de0: enabling 100baseTX port
ffs_mountfs: superblock updated
# mount
/dev/wd0s1a on / (NFS exported, local, writes: sync 40 async 98)
/dev/wd0s1f on /usr (NFS exported, local, soft-updates, writes: sync 10 async 1201)
/dev/wd0s1e on /var (local, writes: sync 164 async 175)
/dev/wd2a on /w/root (local, writes: sync 6 async 0)
/dev/wd2e on /w/var (local, writes: sync 6 async 0)
/dev/wd2f on /w/usr (local, soft-updates, writes: sync 6 async 111) <=== current source
procfs on /proc (local)
/dev/ccd0c on /u (local, soft-updates, writes: sync 4 async 0) <=== /usr/obj
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980522082319N.thomma>
