i386/123768: [panic] [vm] 7.0-STABLE locking issue on Soekris
net4801 (sys/vm/vm_pageout.c)
Alexander
freebsd at nagilum.org
Tue May 20 20:50:04 UTC 2008
The following reply was made to PR i386/123768; it has been noted by GNATS.
From: Alexander <freebsd at nagilum.org>
To: bug-followup at freebsd.org
Cc:
Subject: Re: i386/123768: [panic] [vm] 7.0-STABLE locking issue on Soekris
net4801 (sys/vm/vm_pageout.c)
Date: Tue, 20 May 2008 22:45:22 +0200
..the info files for dump vmcore.2:
Dump header from device /dev/ad0s1b
Architecture: i386
Architecture Version: 2
Dump Length: 62296064B (59 MB)
Blocksize: 512
Dumptime: Sun May 18 18:15:51 2008
Hostname: cakebox.tis
Magic: FreeBSD Kernel Dump
Version String: FreeBSD 7.0-STABLE #5: Thu May 15 22:50:38 CEST 2008
root at cpqak.tis:/usr/obj/usr/src/sys/net4801
Panic String: vn_finished_write: neg cnt
Dump Parity: 1941630040
Bounds: 2
Dump Status: good
and the info file for vmcore.3:
Dump header from device /dev/ad0s1b
Architecture: i386
Architecture Version: 2
Dump Length: 49664000B (47 MB)
Blocksize: 512
Dumptime: Mon May 19 03:03:45 2008
Hostname: cakebox.tis
Magic: FreeBSD Kernel Dump
Version String: FreeBSD 7.0-STABLE #5: Thu May 15 22:50:38 CEST 2008
root at cpqak.tis:/usr/obj/usr/src/sys/net4801
Panic String: lockmgr: thread 0xc0fdf440, not exclusive lock holder =20
0xc0fdeaa0 unlocking
Dump Parity: 3491160915
Bounds: 3
Dump Status: good
and the backtrace:
kgdb -v /boot/kernel/kernel /var/crash/vmcore.3
kgdb: core file: /var/crash/vmcore.3
kgdb: kernel image: /boot/kernel/kernel
[GDB will not be able to debug user-mode threads: =20
/usr/lib/libthread_db.so: Unde
fined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or 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.
This GDB was configured as "i386-marcel-freebsd".
There is no member named pathname.
Reading symbols from /boot/kernel/ng_ether.ko...Reading symbols from =20
/boot/kerne
l/ng_ether.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/ng_ether.ko
Reading symbols from /boot/kernel/netgraph.ko...Reading symbols from =20
/boot/kerne
l/netgraph.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/netgraph.ko
Reading symbols from /boot/kernel/geom_journal.ko...Reading symbols =20
from /boot/k
ernel/geom_journal.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/geom_journal.ko
Unread portion of the kernel message buffer:
panic: lockmgr: thread 0xc0fdf440, not exclusive lock holder =20
0xc0fdeaa0 unlockin
g
Uptime: 8h45m36s
Physical memory: 123 MB
Dumping 47 MB: 32 16
#0 doadump () at pcpu.h:195
195 pcpu.h: No such file or directory.
in pcpu.h
(kgdb) bt
#0 doadump () at pcpu.h:195
#1 0xc0504669 in boot (howto=3D260) at /usr/src/sys/kern/kern_shutdown.c:41=
8
#2 0xc0504820 in panic (fmt=3DVariable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:572
#3 0xc04f5a67 in _lockmgr (lkp=3D0xc129b6b8, flags=3D6, interlkp=3D0xc129b6=
e8,
td=3D0xc0fdf440, file=3D0x0, line=3D0) at /usr/src/sys/kern/kern_lock.c=
:414
#4 0xc055e519 in vop_stdunlock (ap=3D0xc7b6ac1c)
at /usr/src/sys/kern/vfs_default.c:280
#5 0xc065fecb in VOP_UNLOCK_APV (vop=3D0xc06b5dc0, a=3D0xc7b6ac1c)
at vnode_if.c:1667
#6 0xc056a350 in vput (vp=3D0xc129b660) at vnode_if.h:877
#7 0xc06377cd in vm_pageout () at /usr/src/sys/vm/vm_pageout.c:1025
#8 0xc04e8d7b in fork_exit (callout=3D0xc0636a30 <vm_pageout>, arg=3D0x0,
frame=3D0xc7b6ad38) at /usr/src/sys/kern/kern_fork.c:783
#9 0xc0646ab0 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:2=
05
(kgdb) list *0xc056a350
0xc056a350 is in vput (/usr/src/sys/kern/vfs_subr.c:2195).
2190 error =3D 0;
2191
2192 if (vp->v_usecount > 1 || ((vp->v_iflag & VI_DOINGINACT) &&
2193 vp->v_usecount =3D=3D 1)) {
2194 VOP_UNLOCK(vp, 0, td);
2195 v_decr_usecount(vp);
2196 return;
2197 }
2198
2199 if (vp->v_usecount !=3D 1) {
(kgdb) list *0xc055e519
0xc055e519 is in vop_stdunlock (/usr/src/sys/kern/vfs_default.c:282).
277 {
278 struct vnode *vp =3D ap->a_vp;
279
280 return (lockmgr(vp->v_vnlock, ap->a_flags | =20
LK_RELEASE, VI_MTX(vp),
281 ap->a_td));
282 }
283
284 /* See above. */
285 int
286 vop_stdislocked(ap)
(kgdb) list *0xc04f5a67
0xc04f5a67 is in _lockmgr (/usr/src/sys/kern/kern_lock.c:418).
413 lkp->lk_lockholder !=3D LK_KERNPROC) {
414 panic("lockmgr: thread %p, not =20
%s %p unlocking",
415 thr, "exclusive lock holder",
416 lkp->lk_lockholder);
417 }
418 if (lkp->lk_lockholder !=3D LK_KERNPROC)
419 COUNT(td, -1);
420 if (lkp->lk_exclusivecount =3D=3D 1) {
421 lkp->lk_flags &=3D ~LK_HAVE_EXCL;
422 lkp->lk_lockholder =3D LK_NOPROC;
(kgdb) up 3
#3 0xc04f5a67 in _lockmgr (lkp=3D0xc129b6b8, flags=3D6, interlkp=3D0xc129b6=
e8,
td=3D0xc0fdf440, file=3D0x0, line=3D0) at /usr/src/sys/kern/kern_lock.c=
:414
414 panic("lockmgr: thread %p, not =20
%s %p unlocking",
(kgdb) frame lkp->lk_lockholder
#0 0x00000000 in ?? ()
----------------------------------------------------------------
cakebox.homeunix.net - all the machine one needs..
More information about the freebsd-i386
mailing list