Subject: Reader / writer lock error
To: None <current-users@netbsd.org>
From: Patrick Welche <prlw1@newn.cam.ac.uk>
List: current-users
Date: 12/18/2007 16:23:38
I'm still not keeping up with all the commits - with last Monday's kernel
(10th Dec) I got the following panic. regional-london readers may be
amused to know that the panic happened with mount /cdrom on a CD labeled
"Various Music" :-)

Cheers,

Patrick


Reader / writer lock error: lockdebug_alloc: already initialized

lock address : 0x00000000d0c95f04 type     :     sleep/adaptive
shared holds :                  0 exclusive:                  0
shares wanted:                  0 exclusive:                  0
current cpu  :                  0 last held:                  0
current lwp  : 0x00000000cd40a8c0 last held: 000000000000000000
last locked  : 000000000000000000 unlocked : 000000000000000000
initialized  : 0x00000000c03b5d00
owner/count  : 000000000000000000 flags    : 000000000000000000

Turnstile chain at 0xc062a520.
=> No active turnstile for this lock.

panic: LOCKDEBUG
Stopped in pid 213.1 (mountd) at        netbsd:breakpoint+0x1:  ret

 PID           PPID     PGRP        UID S   FLAGS LWPS          COMMAND    WAIT
>213              1      213          0 2       0    1           mountd

db{0}> bt
breakpoint(c053451a,cd4f5868,0,0,cd4f5868) at netbsd:breakpoint+0x1
panic(c0533760,c035d48c,c05333b4,c05333c4,d132b2c0) at netbsd:panic+0xd1
lockdebug_abort1(d132b2c0,c06349c0,c05333b4,c05333c4,1) at netbsd:lockdebug_abor
t1+0x6e
lockdebug_alloc(d0c95f04,c05eb808,c03b5d00,0,0) at netbsd:lockdebug_alloc+0x74
rw_init(d0c95f04,0,d0c95fdc,d0c95f00,0) at netbsd:rw_init+0x29
genfs_node_init(d3fde9ac,c0519134,80,0,cd40a8c0) at netbsd:genfs_node_init+0x20
cd9660_vget_internal(c35f8000,12000,0,cd4f59c8,0) at netbsd:cd9660_vget_internal
+0x1a4
cd9660_root(c35f8000,cd4f59c8,0,cd40a8c0,13daec0) at netbsd:cd9660_root+0x6d
lookup(cd4f5aa0,20002,400,cd4f5abc,cc083f00) at netbsd:lookup+0x6e7
namei(cd4f5aa0,2,0,c0356462,c0634a00) at netbsd:namei+0x37b
mountd_set_exports_list(cd4f5b4c,cd40a8c0,0,c03556ff,c0634a00) at netbsd:mountd_
set_exports_list+0x67
sys_nfssvc(cd40a8c0,cd4f5c34,cd4f5c2c,2,c03e3659) at netbsd:sys_nfssvc+0x37b
syscall(cd4f5c78,b3,ab,23,23) at netbsd:syscall+0x1d6
db{0}> show mount c35f8000
vnodecovered = 0xd6ed27a4 syncer = 0x0 data = 0xc3928080
fs_bshift 11 dev_bshift = 2048
flag = 1001<MNT_LOCAL,MNT_RDONLY>
iflag = 0
 lock type vfslock: SHARED (count 1)
statvfs cache:
        bsize = 2048
        frsize = 2048
        iosize = 2048
        blocks = 259661
        bfree = 0
        bavail = 0
        bresvd = 0
        files = 0
        ffree = 0
        favail = 0
        fresvd = 0
        f_fsidx = { 0x608, 0x1e5c8 }
        owner = 0
        namemax = 511
        flag = 0
        syncwrites = 0
        asyncwrites = 0
        syncreads = 0
        asyncreads = 0
        fstypename = cd9660
        mntonname = /cdrom
        mntfromname = /dev/cd1a
locked vnodes =
db{0}> c
syncing disks... 16 10 6 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 giving up
Printing vnodes for busy buffers
vnode @ 0xcd3b60c8, flags (4020<LOCKSWORK,ONWORKLST>)
        tag VT_UFS(1), type VBLK(3), usecount 118754, writecount 0, holdcount 626
        mount 0xc2eb5000, data 0xcd3b50a8
        tag VT_UFS, ino 86960, on dev 4, 16 flags 0x0, effnlink 1, nlink 1
        mode 060640, owner 0, group 5, size 0 not locked
giving up