panic, seems related to r234386

Sergey Kandaurov pluknet at gmail.com
Sun May 6 22:19:06 UTC 2012


On 7 May 2012 01:54, Doug Barton <dougb at 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  doadump (textdump=1) at /frontier/svn/head/sys/kern/kern_shutdown.c:268
> 268             if (textdump && textdump_pending) {
> (kgdb) #0  doadump (textdump=1) at
> /frontier/svn/head/sys/kern/kern_shutdown.c:268
> #1  0xffffffff80482999 in kern_reboot (howto=260)
>    at /frontier/svn/head/sys/kern/kern_shutdown.c:454
> #2  0xffffffff804823ca in panic (fmt=0x0)
>    at /frontier/svn/head/sys/kern/kern_shutdown.c:642
> #3  0xffffffff80471c25 in _mtx_lock_sleep (m=Variable "m" is not available.
> )
>    at /frontier/svn/head/sys/kern/kern_mutex.c:363
> #4  0xffffffff80471cb0 in _mtx_lock_flags (m=Variable "m" is not available.
> )
>    at /frontier/svn/head/sys/kern/kern_mutex.c:212
> #5  0xffffffff80517353 in __mnt_vnode_first_all (mvp=0xffffff819e9f0a58,
>    mp=0xfffffe00051dc310) at /frontier/svn/head/sys/kern/vfs_subr.c:4595
> #6  0xffffffff8042bdd5 in ext2_sync (mp=0xfffffe00051dc310, waitfor=2)
>    at /frontier/svn/head/sys/fs/ext2fs/ext2_vfsops.c:835
> #7  0xffffffff80521446 in sys_sync (td=Variable "td" is not available.
> )
>    at /frontier/svn/head/sys/kern/vfs_syscalls.c:150
> #8  0xffffffff806b1d52 in amd64_syscall (td=0xfffffe0005149480, traced=0)
>    at subr_syscall.c:135
> #9  0xffffffff8069d697 in Xfast_syscall ()
>    at /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
===================================================================
--- 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 == VNON) {

-- 
wbr,
pluknet


More information about the freebsd-current mailing list