Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 20 May 2008 20:50:04 GMT
From:      Alexander <freebsd@nagilum.org>
To:        freebsd-i386@FreeBSD.org
Subject:   Re: i386/123768: [panic] [vm] 7.0-STABLE locking issue on Soekris net4801 (sys/vm/vm_pageout.c)
Message-ID:  <200805202050.m4KKo4l5016731@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR i386/123768; it has been noted by GNATS.

From: Alexander <freebsd@nagilum.org>
To: bug-followup@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@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@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..



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200805202050.m4KKo4l5016731>