NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/45635: KASSERT "fli->fli_trans_cnt == 0" failed
>Number: 45635
>Category: kern
>Synopsis: KASSERT "fli->fli_trans_cnt == 0" failed
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Nov 20 22:15:00 +0000 2011
>Originator: Nicolas Joly
>Release: NetBSD 5.99.56
>Organization:
Institut Pasteur
>Environment:
System: NetBSD lanfeust.sis.pasteur.fr 5.99.56 NetBSD 5.99.56 (LANFEUST) #13:
Fri Nov 18 22:27:54 CET 2011
njoly%lanfeust.sis.pasteur.fr@localhost:/local/src/NetBSD/obj.amd64/sys/arch/amd64/compile/LANFEUST
amd64
Architecture: x86_64
Machine: amd64
>Description:
Running cat(1) on a directory from a mounted msdos file system result in a
reproductible KASSERT.
njoly@petaure [~]> mount -vv | grep windows
/dev/wd0f on /mount/windows/D type msdos (local, fsid: 0x5/0x764f, reads: sync
1 async 0, writes: sync 0 async 0, [msdos: uid=0, gid=0, mask=0755,
dirmask=0755, flags=0x20000012<longname,mntversioned,fatmirror>])
petaure [~]> cat /mount/windows/D >/dev/null
[...KASSERT...]
panic: kernel diagnostic assertion "fli->fli_trans_cnt == 0" failed: file
"/local/src/NetBSD/src/sys/kern/vfs_trans.c", line 111
cpu0: Begin traceback...
kern_assert() at netbsd:kern_assert+0x48
fstrans_lwp_dtor() at netbsd:fstrans_lwp_dtor+0x6e
specificdata_fini() at netbsd:specificdata_fini+0x69
exit1() at netbsd:exit1+0x1d5
sys_exit() at netbsd:sys_exit+0x3e
syscall() at netbsd:syscall+0xac
cpu0: End traceback...
(gdb) bt
#0 0xffffffff8052af51 in cpu_reboot (howto=260, bootstr=<optimized out>)
at /local/src/NetBSD/src/sys/arch/amd64/amd64/machdep.c:753
#1 0xffffffff8070a857 in vpanic (
fmt=0xffffffff80ace7d8 "kernel %sassertion \"%s\" failed: file \"%s\", line
%d ", ap=0xffff80004adf9a90) at /local/src/NetBSD/src/sys/kern/subr_prf.c:308
#2 0xffffffff80877168 in kern_assert (fmt=<unavailable>)
at /local/src/NetBSD/src/sys/lib/libkern/kern_assert.c:50
#3 0xffffffff8080bce8 in fstrans_lwp_dtor (arg=<optimized out>)
at /local/src/NetBSD/src/sys/kern/vfs_trans.c:111
#4 0xffffffff8070c0ad in specificdata_fini (sd=0xffff80004700fc00,
ref=<optimized out>)
at /local/src/NetBSD/src/sys/kern/subr_specificdata.c:297
#5 0xffffffff804b0b6d in exit1 (l=0xffff80004ad352e0, rv=<optimized out>)
at /local/src/NetBSD/src/sys/kern/kern_exit.c:409
#6 0xffffffff804b136f in sys_exit (l=0xffff80004ad352e0,
uap=0xffff80004adf9c80, retval=<optimized out>)
at /local/src/NetBSD/src/sys/kern/kern_exit.c:184
#7 0xffffffff807246cc in sy_call (rval=0xffff80004adf9c30,
uap=0xffff80004adf9c80, l=0xffff80004ad352e0, sy=0xffffffff80e14b70)
at /local/src/NetBSD/src/sys/sys/syscallvar.h:61
#8 syscall (frame=0xffff80004adf9c80)
at /local/src/NetBSD/src/sys/arch/x86/x86/syscall.c:161
#9 0xffffffff801006a8 in Xsyscall ()
#10 0x0000000000000000 in ?? ()
(gdb) frame 3
#3 0xffffffff8080bce8 in fstrans_lwp_dtor (arg=<optimized out>)
at /local/src/NetBSD/src/sys/kern/vfs_trans.c:111
111 KASSERT(fli->fli_trans_cnt == 0);
(gdb) p *fli
$1 = {fli_succ = 0x0, fli_mount = 0xffff800049259000, fli_trans_cnt = 1,
fli_cow_cnt = 0, fli_lock_type = FSTRANS_SHARED}
>How-To-Repeat:
mount a msdos filesystem and use cat(1) on a directory.
>Fix:
Home |
Main Index |
Thread Index |
Old Index