NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/41977: kernel diagnostic assertion "rw_lock_held(&wl->wl_rwlock)" failed
>Number: 41977
>Category: kern
>Synopsis: kernel diagnostic assertion "rw_lock_held(&wl->wl_rwlock)"
>failed
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Sep 02 12:05:00 +0000 2009
>Originator: Nicolas Joly
>Release: NetBSD 5.99.15
>Organization:
Institut Pasteur
>Environment:
System: NetBSD nicodeme.sis.pasteur.fr 5.99.15 NetBSD 5.99.15 (NICODEME) #1:
Tue Sep 1 12:04:53 CEST 2009
njoly%nicodeme.sis.pasteur.fr@localhost:/local/src/NetBSD/obj.amd64/sys/arch/amd64/compile/NICODEME
amd64
Architecture: x86_64
Machine: amd64
>Description:
Useing dd(1) to extract data from a cd-rom generate a diagnostic kernel panic
when exiting.
panic: kernel diagnostic assertion "rw_lock_held(&wl->wl_rwlock)" failed: file
"/local/src/NetBSD/src/sys/kern/vfs_wapbl.c", line 1539
The problem is hit when the cd-rom device is present on a ffs+log filesystem,
but not on tmpfs.
njoly@nicodeme [~]> df -G /dev
/ (/dev/wd0a ): 16384 block size 16384 frag size
5161119 total blocks 4986101 free blocks 4728046 available
1293803 total files 1297406 free files 0 filesys id
ffs fstype 0x2005000 flag 255 filename length
0 owner 0 syncwrites 291 asyncwrites
njoly@nicodeme [~]> mount -v | grep wd0a
/dev/wd0a on / type ffs (log, local, root file system, fsid: 0x0/0x78b, reads:
sync 6616 async 0, writes: sync 0 async 303)
It is highly reproductible with the following commands :
njoly@nicodeme [~]> dd if=/dev/cd0d of=/dev/null count=10
10+0 records in
10+0 records out
5120 bytes transferred in 2.826 secs (1811 bytes/sec)
[...PANIC...]
njoly@nicodeme [~]> dd if=/dev/cd0d of=/dev/null
^C20988+0 records in
20988+0 records out
10745856 bytes transferred in 5.246 secs (2048390 bytes/sec)
[...PANIC...]
root@nicodeme [/var/crash]# gdb netbsd.9.gdb
GNU gdb 6.5
(gdb) target kvm netbsd.9.core
#0 0xffffffff804be0e8 in cpu_reboot (howto=260, bootstr=<value optimized out>)
at /local/src/NetBSD/src/sys/arch/amd64/amd64/machdep.c:698
698 dumpsys();
(gdb) bt
#0 0xffffffff804be0e8 in cpu_reboot (howto=260, bootstr=<value optimized out>)
at /local/src/NetBSD/src/sys/arch/amd64/amd64/machdep.c:698
#1 0xffffffff80660294 in panic (
fmt=0xffffffff80af6778 <Address 0xffffffff80af6778 out of bounds>)
at /local/src/NetBSD/src/sys/kern/subr_prf.c:296
#2 0xffffffff8079d801 in __kernassert (t=0x0, f=0x0, l=0, e=0x0)
at /local/src/NetBSD/src/sys/lib/libkern/__assert.c:50
#3 0xffffffff80747af8 in wapbl_add_buf (wl=0xffff800007de9400,
bp=0xffff800007dc8e60)
at /local/src/NetBSD/src/sys/kern/vfs_wapbl.c:848
#4 0xffffffff80733059 in bdwrite (bp=0xffff800007dc8e60)
at /local/src/NetBSD/src/sys/kern/vfs_bio.c:917
#5 0xffffffff802a9c11 in ffs_update (vp=<value optimized out>,
acc=<value optimized out>, mod=<value optimized out>, updflags=5)
at /local/src/NetBSD/src/sys/ufs/ffs/ffs_inode.c:193
#6 0xffffffff802b320e in ffs_full_fsync (vp=0xffff80004e249ad8, flags=5)
at /local/src/NetBSD/src/sys/ufs/ffs/ffs_vnops.c:559
#7 0xffffffff802b32e4 in ffs_fsync (v=<value optimized out>)
at /local/src/NetBSD/src/sys/ufs/ffs/ffs_vnops.c:293
#8 0xffffffff80754e49 in VOP_FSYNC (vp=0xffff80004e249ad8, cred=0x0, flags=0,
offlo=0,
offhi=0) at /local/src/NetBSD/src/sys/kern/vnode_if.c:803
#9 0xffffffff8073d494 in vinvalbuf (vp=0xffff80004e249ad8, flags=<value
optimized out>,
cred=0xffff80004e943540, l=<value optimized out>, catch=false, slptimeo=0)
at /local/src/NetBSD/src/sys/kern/vfs_subr.c:899
#10 0xffffffff80645997 in spec_close (v=<value optimized out>)
at /local/src/NetBSD/src/sys/miscfs/specfs/spec_vnops.c:970
#11 0xffffffff8075537f in VOP_CLOSE (vp=0xffff80004e249ad8, fflag=0, cred=0x0)
at /local/src/NetBSD/src/sys/kern/vnode_if.c:313
#12 0xffffffff80746845 in vn_close (vp=0xffff80004e249ad8, flags=1,
cred=0xffff80004e943540) at /local/src/NetBSD/src/sys/kern/vfs_vnops.c:348
#13 0xffffffff804471f6 in closef (fp=0xffff80004e6e68c0)
at /local/src/NetBSD/src/sys/kern/kern_descrip.c:784
#14 0xffffffff80447e34 in fd_free ()
at /local/src/NetBSD/src/sys/kern/kern_descrip.c:1516
#15 0xffffffff8044f0c7 in exit1 (l=0xffff80004e88e000, rv=2)
at /local/src/NetBSD/src/sys/kern/kern_exit.c:276
#16 0xffffffff80467880 in sigexit (l=0xffff80004e88e000, signo=2)
at /local/src/NetBSD/src/sys/kern/kern_sig.c:2155
#17 0xffffffff80467af9 in postsig (signo=2)
at /local/src/NetBSD/src/sys/kern/kern_sig.c:1952
#18 0xffffffff804569c5 in lwp_userret (l=0xffff80004e88e000)
at /local/src/NetBSD/src/sys/kern/kern_lwp.c:1291
#19 0xffffffff80676a14 in syscall (frame=0xffff80004eaacc80)
at /local/src/NetBSD/src/sys/sys/userret.h:90
#20 0xffffffff80100608 in Xsyscall ()
>How-To-Repeat:
Run dd(1) on a cdrom device with a DIAGNOTIC kernel.
>Fix:
n/a
Home |
Main Index |
Thread Index |
Old Index