NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: kern/43439: mount_null panic: lockdebug_wantlock: locking against myself



The following reply was made to PR kern/43439; it has been noted by GNATS.

From: matthew green <mrg%eterna.com.au@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
    netbsd-bugs%netbsd.org@localhost
Subject: re: kern/43439: mount_null panic: lockdebug_wantlock: locking against 
myself
Date: Wed, 09 Jun 2010 15:28:31 +1000

 > lock address : 0xffff80004ba43ab0 type     :     sleep/adaptive
 > initialized  : 0xffffffff805c72af
 > shared holds :                  0 exclusive:                  1
 > shares wanted:                  0 exclusive:                  1
 > current cpu  :                  1 last held:                  1
 > current lwp  : 0xffff80004b8b0800 last held: 0xffff80004b8b0800
 > last locked  : 0xffffffff805c4dc6 unlocked : 0xffffffff805c4e3c
 > owner/count  : 0xffff80004b8b0800 flags    : 0x0000000000000004
 
 these addresses work out to be:
 
 0xffffffff805c72af is in vnalloc (/usr/src/sys/kern/vfs_subr.c:723).
 718             if (mp != NULL) {
 719                     vp->v_mount = mp;
 720                     vp->v_type = VBAD;
 721                     vp->v_iflag = VI_MARKER;
 722             } else {
 723                     rw_init(&vp->v_lock.vl_lock);
 724             }
 725
 726             return vp;
 727     }
 
 0xffffffff805c4dc6 is in vlockmgr (/usr/src/sys/kern/vfs_subr.c:2945).
 2940                    }
 2941                    rw_enter(&vl->vl_lock, RW_READER);
 2942                    return 0;
 2943
 2944            case LK_EXCLUSIVE:
 2945                    if (rw_tryenter(&vl->vl_lock, RW_WRITER)) {
 2946                            return 0;
 2947                    }
 2948                    if ((vl->vl_canrecurse || (flags & LK_CANRECURSE) != 
0) &&
 2949                        rw_write_held(&vl->vl_lock)) {
 
 0xffffffff805c4e3c is in vlockmgr (/usr/src/sys/kern/vfs_subr.c:2965).
 2960                    if (vl->vl_recursecnt != 0) {
 2961                            KASSERT(rw_write_held(&vl->vl_lock));
 2962                            vl->vl_recursecnt--;
 2963                            return 0;
 2964                    }
 2965                    rw_exit(&vl->vl_lock);
 2966                    return 0;
 2967
 2968            default:
 2969                    panic("vlockmgr: flags %x", flags);
 


Home | Main Index | Thread Index | Old Index