NetBSD Problem Report #45635

From njoly@lanfeust.sis.pasteur.fr  Sun Nov 20 22:12:41 2011
Return-Path: <njoly@lanfeust.sis.pasteur.fr>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id AC4A663D6F9
	for <gnats-bugs@gnats.NetBSD.org>; Sun, 20 Nov 2011 22:12:41 +0000 (UTC)
Message-Id: <20111120221228.5CB74DC9BD@lanfeust.sis.pasteur.fr>
Date: Sun, 20 Nov 2011 23:12:28 +0100 (CET)
From: njoly@pasteur.fr
Reply-To: njoly@pasteur.fr
To: gnats-bugs@gnats.NetBSD.org
Subject: KASSERT "fli->fli_trans_cnt == 0" failed
X-Send-Pr-Version: 3.95

>Number:         45635
>Category:       kern
>Synopsis:       KASSERT "fli->fli_trans_cnt == 0" failed
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Nov 20 22:15:00 +0000 2011
>Closed-Date:    Mon Nov 21 23:26:43 +0000 2011
>Last-Modified:  Mon Nov 21 23:26:43 +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:/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:

>Release-Note:

>Audit-Trail:
From: "Juergen Hannken-Illjes" <hannken@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/45635 CVS commit: src/sys/fs/msdosfs
Date: Mon, 21 Nov 2011 10:46:57 +0000

 Module Name:	src
 Committed By:	hannken
 Date:		Mon Nov 21 10:46:57 UTC 2011

 Modified Files:
 	src/sys/fs/msdosfs: msdosfs_vnops.c

 Log Message:
 Add missing fstrans_done().

 Should fix PR #45635 (KASSERT "fli->fli_trans_cnt == 0" failed)


 To generate a diff of this commit:
 cvs rdiff -u -r1.78 -r1.79 src/sys/fs/msdosfs/msdosfs_vnops.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Nicolas Joly <njoly@pasteur.fr>
To: gnats-bugs@NetBSD.org
Cc: 
Subject: Re: PR/45635 CVS commit: src/sys/fs/msdosfs
Date: Mon, 21 Nov 2011 22:46:17 +0100

 On Mon, Nov 21, 2011 at 10:50:04AM +0000, Juergen Hannken-Illjes wrote:
 > The following reply was made to PR kern/45635; it has been noted by GNATS.
 > 
 > From: "Juergen Hannken-Illjes" <hannken@netbsd.org>
 > To: gnats-bugs@gnats.NetBSD.org
 > Cc: 
 > Subject: PR/45635 CVS commit: src/sys/fs/msdosfs
 > Date: Mon, 21 Nov 2011 10:46:57 +0000
 > 
 >  Module Name:	src
 >  Committed By:	hannken
 >  Date:		Mon Nov 21 10:46:57 UTC 2011
 >  
 >  Modified Files:
 >  	src/sys/fs/msdosfs: msdosfs_vnops.c
 >  
 >  Log Message:
 >  Add missing fstrans_done().
 >  
 >  Should fix PR #45635 (KASSERT "fli->fli_trans_cnt == 0" failed)

 Confirmed fixed. Thanks a lot.

 -- 
 Nicolas Joly

 Projects and Developments in Bioinformatics
 Institut Pasteur, Paris.

State-Changed-From-To: open->closed
State-Changed-By: wiz@NetBSD.org
State-Changed-When: Mon, 21 Nov 2011 23:26:43 +0000
State-Changed-Why:
Confirmed fixed, thanks!


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.