Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Sep 2012 14:53:58 +0200
From:      Florian Smeets <flo@smeets.im>
To:        FreeBSD FS <freebsd-fs@freebsd.org>
Subject:   panic: _sx_xlock_hard: recursed on non-recursive sx zfsvfs->z_hold_mtx[i] @ ...cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c:1407
Message-ID:  <505DB4E6.8030407@smeets.im>

next in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enigDB4E30752B92537383E0FAEF
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Hi,

I hit the above mentioned panic quite frequently on recent versions of
head (r240806). This happens when building packages in the ports
tinderbox which uses nullfs and zfs extensively. Kib had a look at it
and suspects that his recent nullfs changes expose a bug in zfs.

The backtrace is as follows:

#0  doadump (textdump=3D1) at
/usr/home/flo/dev/checkouts/svn-src/sys/kern/kern_shutdown.c:266
#1  0xffffffff804c6a64 in kern_reboot (howto=3D260) at
/usr/home/flo/dev/checkouts/svn-src/sys/kern/kern_shutdown.c:449
#2  0xffffffff804c648a in panic (fmt=3D0x0) at
/usr/home/flo/dev/checkouts/svn-src/sys/kern/kern_shutdown.c:637
#3  0xffffffff804ce6e5 in _sx_xlock_hard (sx=3DVariable "sx" is not avail=
able.
) at /usr/home/flo/dev/checkouts/svn-src/sys/kern/kern_sx.c:523
#4  0xffffffff804ce77e in _sx_xlock (sx=3DVariable "sx" is not available.=

) at sx.h:152
#5  0xffffffff80e17533 in zfs_zinactive (zp=3D0xfffffe011951ec80) at
/usr/home/flo/dev/checkouts/svn-src/sys/modules/zfs/../../cddl/contrib/op=
ensolaris/uts/common/fs/zfs/zfs_znode.c:1407
#6  0xffffffff80e45366 in zfs_inactive (vp=3D0xfffffe019bdfad90,
cr=3DVariable "cr" is not available.
) at
/usr/home/flo/dev/checkouts/svn-src/sys/modules/zfs/../../cddl/contrib/op=
ensolaris/uts/common/fs/zfs/zfs_vnops.c:4590
#7  0xffffffff80e4552a in zfs_freebsd_inactive (ap=3DVariable "ap" is not=

available.
) at
/usr/home/flo/dev/checkouts/svn-src/sys/modules/zfs/../../cddl/contrib/op=
ensolaris/uts/common/fs/zfs/zfs_vnops.c:6102
#8  0xffffffff8070aae7 in VOP_INACTIVE_APV (vop=3D0xffffffff80eb5fe0,
a=3D0xffffff89092d3d20) at vnode_if.c:1863
#9  0xffffffff8055e3b7 in vinactive (vp=3D0xfffffe019bdfad90,
td=3D0xfffffe0017bad900) at vnode_if.h:807
#10 0xffffffff80562526 in vputx (vp=3D0xfffffe019bdfad90, func=3D2) at
/usr/home/flo/dev/checkouts/svn-src/sys/kern/vfs_subr.c:2290
#11 0xffffffff80d8a5f0 in null_reclaim (ap=3DVariable "ap" is not availab=
le.
) at
/usr/home/flo/dev/checkouts/svn-src/sys/modules/nullfs/../../fs/nullfs/nu=
ll_vnops.c:706
#12 0xffffffff8070a9d7 in VOP_RECLAIM_APV (vop=3D0xffffffff80d8b180,
a=3D0xffffff89092d3e60) at vnode_if.c:1926
#13 0xffffffff8055f64d in vgonel (vp=3D0xfffffe019bdb73e0) at vnode_if.h:=
830
#14 0xffffffff80561815 in vnlru_free (count=3D1) at
/usr/home/flo/dev/checkouts/svn-src/sys/kern/vfs_subr.c:931
#15 0xffffffff80561b1f in getnewvnode (tag=3D0xffffffff80eae0f3 "zfs",
mp=3D0xfffffe0010dc3cc0, vops=3D0xffffffff80eb5fe0, vpp=3D0xffffff89092d3=
f88)
    at /usr/home/flo/dev/checkouts/svn-src/sys/kern/vfs_subr.c:953
#16 0xffffffff80e168b5 in zfs_znode_cache_constructor
(buf=3D0xfffffe019b437af0, arg=3DVariable "arg" is not available.
)
    at
/usr/home/flo/dev/checkouts/svn-src/sys/modules/zfs/../../cddl/contrib/op=
ensolaris/uts/common/fs/zfs/zfs_znode.c:135
#17 0xffffffff80e189cc in zfs_znode_alloc (zfsvfs=3D0xfffffe0010de4000,
db=3D0xfffffe048c138000, blksz=3D0, obj_type=3DDMU_OT_SA, hdl=3D0xfffffe0=
19b441cd0)
    at
/usr/home/flo/dev/checkouts/svn-src/sys/modules/zfs/../../cddl/contrib/op=
ensolaris/uts/common/fs/zfs/zfs_znode.c:663
#18 0xffffffff80e19b65 in zfs_mknode (dzp=3D0xfffffe00b84dd7d0,
vap=3D0xffffff89092d4740, tx=3D0xfffffe0303916600, cr=3D0xfffffe000c668e0=
0,
flag=3D0, zpp=3D0xffffff89092d46a0, acl_ids=3D0xffffff89092d4670)
    at
/usr/home/flo/dev/checkouts/svn-src/sys/modules/zfs/../../cddl/contrib/op=
ensolaris/uts/common/fs/zfs/zfs_znode.c:1012
#19 0xffffffff80e46d6f in zfs_freebsd_create (ap=3DVariable "ap" is not
available.
) at
/usr/home/flo/dev/checkouts/svn-src/sys/modules/zfs/../../cddl/contrib/op=
ensolaris/uts/common/fs/zfs/zfs_vnops.c:1657
#20 0xffffffff8070cef1 in VOP_CREATE_APV (vop=3D0xffffffff80eb5fe0,
a=3D0xffffff89092d47f0) at vnode_if.c:250
#21 0xffffffff8056f569 in vn_open_cred (ndp=3D0xffffff89092d4880,
flagp=3D0xffffff89092d487c, cmode=3DVariable "cmode" is not available.
) at vnode_if.h:109
#22 0xffffffff80569236 in kern_openat (td=3D0xfffffe0017bad900, fd=3D-100=
,
path=3D0x801c2b300 <Address 0x801c2b300 out of bounds>, pathseg=3DVariabl=
e
"pathseg" is not available.
)
    at /usr/home/flo/dev/checkouts/svn-src/sys/kern/vfs_syscalls.c:1134
#23 0xffffffff806b8329 in amd64_syscall (td=3D0xfffffe0017bad900,
traced=3D0) at subr_syscall.c:135
#24 0xffffffff806a2eb7 in Xfast_syscall () at
/usr/home/flo/dev/checkouts/svn-src/sys/amd64/amd64/exception.S:387
#25 0x00000008017702ec in ?? ()
Previous frame inner to this frame (corrupt stack?)

I have the vmcore and kernel symbols, so if someone wants to know more I
should be able to provide further data.

Florian


--------------enigDB4E30752B92537383E0FAEF
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iEYEARECAAYFAlBdtOcACgkQapo8P8lCvwmDrQCg4X40ttRVkbrjx/cbKmNv+oHY
sGQAoK8mpzOUgJYVlTaCZLLGneRlMfBe
=ZGUd
-----END PGP SIGNATURE-----

--------------enigDB4E30752B92537383E0FAEF--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?505DB4E6.8030407>