Date: Sun, 25 Aug 1996 11:37:05 +0200 (MET DST) From: "Ph. Charnier" <charnier@xp11.frmug.org> To: FreeBSD-gnats-submit@FreeBSD.ORG Subject: kern/1540: panic: ufs_unlock NOT LOCKED Message-ID: <199608250937.LAA01819@xp11.frmug.org> Resent-Message-ID: <199608252040.NAA05337@freefall.freebsd.org>
index | next in thread | raw e-mail
>Number: 1540
>Category: kern
>Synopsis: panic: ufs_unlock NOT LOCKED
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Aug 25 13:40:01 PDT 1996
>Last-Modified:
>Originator: Ph. Charnier
>Organization:
------ ------
Philippe Charnier charnier@lirmm.fr (smtp)
charnier@xp11.frmug.org (uucp)
------------------------------------------------------------------------
>Release: FreeBSD 2.2-CURRENT i386
>Environment:
current at cvs level 2387 19960823140002Z
>Description:
I got this after running umount on a ufs partition. From ufs_vnops.c:1738
#ifdef DIAGNOSTIC
struct proc *p = curproc;
if ((ip->i_flag & IN_LOCKED) == 0) {
vprint("ufs_unlock: unlocked inode", ap->a_vp);
=> panic("ufs_unlock NOT LOCKED");
}
if (p && p->p_pid != ip->i_lockholder && p->p_pid > -1 &&
ip->i_lockholder > -1 && lockcount++ < 100)
panic("unlocker (%d) != lock holder (%d)",
p->p_pid, ip->i_lockholder);
#endif
#0 boot (howto=256) at ../../kern/kern_shutdown.c:264
(kgdb) (kgdb) up 1
#1 0xf01153db in panic (fmt=0xf019e8c0 "ufs_unlock NOT LOCKED")
at ../../kern/kern_shutdown.c:390
(kgdb) up 1
#2 0xf019e961 in ufs_unlock (ap=0xefbffe90) at ../../ufs/ufs/ufs_vnops.c:1738
(kgdb) print *ip
$1 = {i_next = 0x7205c766, i_prev = 0x34000004, i_vnode = 0xe5895512,
i_devvp = 0x8c9d026a, i_flag = 2397081304, i_dev = 12773608,
i_number = 12320768, inode_u = {fs = 0xe8001dc0, lfs = 0xe8001dc0,
e2fs = 0xe8001dc0}, i_dquot = {0x14b, 0x1f5e3cb9},
i_modrev = 0xf929001e6c0cbf00, i_lockf = 0xf3fcc031,
i_lockholder = 38398122, i_lockwaiter = 2090926080, i_count = 251665856,
i_endoff = 537909282, i_diroff = 69056, i_offset = 571441152,
i_ino = 5466304, i_reclen = 3166957584, i_lockcount = -272629760, i_spare = {
-980828111, 499156129, 2083884016, -1980752448, 898309232, -266485648,
1623910486, 1784545291, -130679040, 1794121523}, i_din = {di_mode = 26624,
di_nlink = 514, di_u = {oldids = {0, 13823}, inumber = 905904128},
di_size = 0xec83006af01f05b4, di_atime = {ts_sec = 300438576,
ts_nsec = -2097151827}, di_mtime = {ts_sec = 1032008900,
ts_nsec = -266459600}, di_ctime = {ts_sec = 252408833,
ts_nsec = 901152}, di_db = {251659520, -1264467934, -1947197691,
523499533, -1898344720, -1897886015, -1869557783, 270816511, 337921165,
1740132432, -1711276032, 0}, di_ib = {-1863057401, 294275, 2105769076},
di_flags = 24379416, di_blocks = 475892724, di_gen = -125631605,
di_uid = 3087496193, di_gid = 1, di_spare = {1938539465, 16679684}}}
>How-To-Repeat:
I can reproduce this with umount
Dumps an kernel with debugging symbols, available on request.
>Fix:
>Audit-Trail:
>Unformatted:
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199608250937.LAA01819>
