Date: Sun, 24 Dec 1995 22:11:04 -0500 (EST) From: "Marc G. Fournier" <scrappy@hub.org> To: FreeBSD-gnats-submit@freebsd.org Subject: kern/912: unmount: dangling vnode Message-ID: <199512250311.WAA28627@hub.org> Resent-Message-ID: <199512250320.TAA28252@freefall.freebsd.org>
index | next in thread | raw e-mail
>Number: 912
>Category: kern
>Synopsis: unmount: dangling vnode
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Dec 24 19:20:03 PST 1995
>Last-Modified:
>Originator: Marc G. Fournier
>Organization:
>Release: FreeBSD 2.1-CURRENT i386
>Environment:
FreeBSD 2.2-CURRENT #6: Sun Dec 24 01:33:38 EST 1995
scrappy@freebsd.hub.org:/usr/src/sys/compile/freebsd
CPU: i386DX (386-class CPU)
real memory = 8781824 (8576K bytes)
avail memory = 6889472 (6728K bytes)
DEVFS: ready for devices
Probing for devices on the ISA bus:
vt0 at 0x60-0x6f irq 1 on motherboard
vt0: mda, mono, 8 scr, mf2-kbd, [R3.20-b24]
sio0 not found at 0x3f8
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16450
lpt0 at 0x3bc-0x3c3 irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: NEC 765
fd0: 1.44MB 3.5in
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0): <Maxtor 7345 AT>
wd0: 329MB (675450 sectors), 790 cyls, 15 heads, 57 S/T, 512 B/S
1 3C5x9 board(s) on ISA found at 0x300
ep0 at 0x300-0x30f irq 10 on isa
ep0: aui/bnc[*BNC*] address 00:a0:24:0a:5a:fe irq 10
npx0 on motherboard
npx0: 387 emulator
devfs ready to run
Script started on Sun Dec 24 22:00:19 1995
freebsd# kgdb kernel.sym.1 vmcore.1
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.13 (i386-unknown-freebsd),
Copyright 1994 Free Software Foundation, Inc...
IdlePTD 214000
current pcb at 1e0098
panic: unmount: dangling vnode
#0 boot (howto=260) at ../../i386/i386/machdep.c:914
914 dumppcb.pcb_ptd = rcr3();
(kgdb) up 10
#10 0xf0129aa8 in dounmount (mp=0xf0624600, flags=0, p=0xf0660f00)
at ../../kern/vfs_syscalls.c:311
311 panic("unmount: dangling vnode");
(kgdb) list
306 CIRCLEQ_REMOVE(&mountlist, mp, mnt_list);
307 mp->mnt_vnodecovered->v_mountedhere = (struct mount *)0;
308 vfs_unlock(mp);
309 mp->mnt_vfc->vfc_refcount--;
310 if (mp->mnt_vnodelist.lh_first != NULL)
311 panic("unmount: dangling vnode");
312 free((caddr_t)mp, M_MOUNT);
313 }
314 return (error);
315 }
(kgdb) print mp
$1 = (struct mount *) 0xf0624600
(kgdb) print mountlist
$2 = {cqh_first = 0xf05e5a00, cqh_last = 0xf06d8e00}
(kgdb) print mnt_list
No symbol "mnt_list" in current context.
(kgdb) print mp->mnt_vnodecovered->v_mountedhere
There is no member named v_mountedhere.
(kgdb) print mp->mnt_vfc->vfc_refcount
$3 = 1
(kgdb) print mp->mnt_vnodelist.lh_first
$4 = (struct vnode *) 0xf063ed00
(kgdb) quit
freebsd# exit
exit
Script done on Sun Dec 24 22:03:32 1995
>Description:
When trying to umount one of two occurances of devfs being
mounted, the system panic'd. both occurances were mounted to
/devfs. Having previously done this with another directory, that
was mounted twice, to the same mount-point, it was (falsely?)
assumed that it would work here.
>How-To-Repeat:
>Fix:
>Audit-Trail:
>Unformatted:
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199512250311.WAA28627>
