Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 May 2012 02:19:05 +0400
From:      Sergey Kandaurov <pluknet@gmail.com>
To:        Doug Barton <dougb@freebsd.org>
Cc:        freebsd-current <freebsd-current@freebsd.org>, mckusick@freebsd.org
Subject:   Re: panic, seems related to r234386
Message-ID:  <CAE-mSOJBHPP4E_2Hme5nwf0fGfckyRBWeAe9=kodHMmS6eQy%2Bg@mail.gmail.com>
In-Reply-To: <4FA6F324.4080107@FreeBSD.org>
References:  <4FA6F324.4080107@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 7 May 2012 01:54, Doug Barton <dougb@freebsd.org> wrote:
> I got this with today's current, previous (working) kernel is r232719.
>
> panic: _mtx_lock_sleep: recursed on non-recursive mutex struct mount mtx
> @ /frontier/svn/head/sys/kern/vfs_subr.c:4595
>
> FWIW I'm using ufs2, ext2fs, and msdosfs on this system. The panic
> occurred right after loading the linux kernel module, but I'm not 100%
> sure that's related. Full core.txt.0 is in my home directory on freefall.
>
> #0 =A0doadump (textdump=3D1) at /frontier/svn/head/sys/kern/kern_shutdown=
.c:268
> 268 =A0 =A0 =A0 =A0 =A0 =A0 if (textdump && textdump_pending) {
> (kgdb) #0 =A0doadump (textdump=3D1) at
> /frontier/svn/head/sys/kern/kern_shutdown.c:268
> #1 =A00xffffffff80482999 in kern_reboot (howto=3D260)
> =A0 =A0at /frontier/svn/head/sys/kern/kern_shutdown.c:454
> #2 =A00xffffffff804823ca in panic (fmt=3D0x0)
> =A0 =A0at /frontier/svn/head/sys/kern/kern_shutdown.c:642
> #3 =A00xffffffff80471c25 in _mtx_lock_sleep (m=3DVariable "m" is not avai=
lable.
> )
> =A0 =A0at /frontier/svn/head/sys/kern/kern_mutex.c:363
> #4 =A00xffffffff80471cb0 in _mtx_lock_flags (m=3DVariable "m" is not avai=
lable.
> )
> =A0 =A0at /frontier/svn/head/sys/kern/kern_mutex.c:212
> #5 =A00xffffffff80517353 in __mnt_vnode_first_all (mvp=3D0xffffff819e9f0a=
58,
> =A0 =A0mp=3D0xfffffe00051dc310) at /frontier/svn/head/sys/kern/vfs_subr.c=
:4595
> #6 =A00xffffffff8042bdd5 in ext2_sync (mp=3D0xfffffe00051dc310, waitfor=
=3D2)
> =A0 =A0at /frontier/svn/head/sys/fs/ext2fs/ext2_vfsops.c:835
> #7 =A00xffffffff80521446 in sys_sync (td=3DVariable "td" is not available=
.
> )
> =A0 =A0at /frontier/svn/head/sys/kern/vfs_syscalls.c:150
> #8 =A00xffffffff806b1d52 in amd64_syscall (td=3D0xfffffe0005149480, trace=
d=3D0)
> =A0 =A0at subr_syscall.c:135
> #9 =A00xffffffff8069d697 in Xfast_syscall ()
> =A0 =A0at /frontier/svn/head/sys/amd64/amd64/exception.S:387
> #10 0x00000008008b061c in ?? ()
> Previous frame inner to this frame (corrupt stack?)
> (kgdb)
>

Please try this patch.

Index: fs/ext2fs/ext2_vfsops.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- fs/ext2fs/ext2_vfsops.c     (revision 235108)
+++ fs/ext2fs/ext2_vfsops.c     (working copy)
@@ -830,7 +830,6 @@
        /*
         * Write back each (modified) inode.
         */
-       MNT_ILOCK(mp);
 loop:
        MNT_VNODE_FOREACH_ALL(vp, mp, mvp) {
                if (vp->v_type =3D=3D VNON) {

--=20
wbr,
pluknet



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAE-mSOJBHPP4E_2Hme5nwf0fGfckyRBWeAe9=kodHMmS6eQy%2Bg>