Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Feb 2013 09:32:56 +0200
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Alfred Perlstein <alfred@ixsystems.com>
Cc:        Xin Li <delphij@delphij.net>, fs@freebsd.org
Subject:   Re: Advisory lock crashes.
Message-ID:  <20130219073256.GV2598@kib.kiev.ua>
In-Reply-To: <512324F2.4060707@ixsystems.com>
References:  <512324F2.4060707@ixsystems.com>

next in thread | previous in thread | raw e-mail | index | archive | help

--sr8SBrQ3fbgntwtR
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Feb 18, 2013 at 11:08:34PM -0800, Alfred Perlstein wrote:
> Hello Konstantin & Doug,
>=20
> We're getting a few crashes in what looks to be kern_lockf.c:
>=20
> fault address here is 0x360 which appears to mean that the "sx" owner=20
> thread is NULL
What is the version of FreeBSD ?
What is the filesystem owning the file which was advlocked ?
Show the line number for lf_advlockasync+0x5d7.

No, I never saw nothing similar in last 3 years.
>=20
> db>  bt
> Tracing pid 5099 tid 101614 td 0xfffffe005d54e8c0
> _sx_xlock_hard() at _sx_xlock_hard+0xb3
> lf_advlockasync() at lf_advlockasync+0x5d7
> lf_advlock() at lf_advlock+0x47
> vop_stdadvlock() at vop_stdadvlock+0xb3
> VOP_ADVLOCK_APV() at VOP_ADVLOCK_APV+0x4a
> closef() at closef+0x352
> kern_close() at kern_close+0x172
> amd64_syscall() at amd64_syscall+0x58a
> Xfast_syscall() at Xfast_syscall+0xf7
> --- syscall (6, FreeBSD ELF64, sys_close), rip =3D 0x8011651fc, rsp =3D 0=
x7fffffbfdd58, rbp =3D 0x807c3d6c0 ---
>=20
> (kgdb) list *(_sx_xlock_hard+0xb3)
> 0xffffffff806242c3 is in _sx_xlock_hard=20
> (/usr/home/jpaetzel/9.0.6-RELEASE-p1/FreeBSD/src/sys/kern/kern_sx.c:514).
> 509                     x =3D sx->sx_lock;
> 510                     if ((sx->lock_object.lo_flags & SX_NOADAPTIVE)=20
> =3D=3D 0) {
> 511                             if ((x & SX_LOCK_SHARED) =3D=3D 0) {
> 512                                     x =3D SX_OWNER(x);
> 513                                     owner =3D (struct thread *)x;
> 514                                     if (TD_IS_RUNNING(owner)) {
> 515                                             if=20
> (LOCK_LOG_TEST(&sx->lock_object, 0))
> 516 CTR3(KTR_LOCK,
> 517                                                 "%s: spinning on %p=
=20
> held by %p",
> 518 __func__, sx, owner);
>=20
>=20
> Another panic here, which we have less information is attached as an imag=
e.
>=20
> We're looking at using some INVARIANTS and WITNESS kernels, but was=20
> wondering if y'all had any other suggestions to use please?
>=20
> thank you,
> -Alfred



--sr8SBrQ3fbgntwtR
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.19 (FreeBSD)

iQIcBAEBAgAGBQJRIyqnAAoJEJDCuSvBvK1B0egP/A9aHJw0KZcC+gz05cmIDwyd
3A4I4+wCOdvBEJbJOU08sYJdbWrNPCuMzAaovTLQ8P7a/IO667p6/UHpK4UqtLhX
5F3euYJ8F7Rac+AQ321txEQAGN4dQaFcUezaekU7H6kX0CN5n0d0JJyd/GwMDNK6
764Y8pKm3AWBXTw2qVWKbXjE+FH5kdq9sxiGq8y6noCSXMJY5kbA1XrlQ5f3EvrP
aHzs4uL42XBjIPVbFwyV7Z4KNUWN5RwSlqoQlHpbW9jJVaSpPge+LpMDihft4LED
gR3fzsFh0Q0s+a9we1TGggnyQp8ukffqmYmES56I1gOEiu14z1cUGsBZyJYEjm5y
DPmIc/MJhnmXTbSZgDw5EWas3keXt4AwPi+pcGaaRPlpyxZ6jPApxe4XGm3Q8060
eEkoKLvvvBRzPPwgy9zc2MRheN0RtipW+58ZHBmJAnFvLJOgGl/YiSFcGTJK1M2R
X19kWAQfTVqkq1SpGTakfvED1Rg2lBwXNzsrWSqq28KcMYK1+PnvGaNptr+ApUXg
+gHgr1FWw10ka3yzMPUz2CvDtFUnIMz1/VWoAl8+KMZqjvxUc04pH/N8M/mz7XnZ
I/dpEmdD7Lctiw0+UNo9pbs1369St01DzFiGkbXnDOPJva5PNFGBkweth3ENnOZk
p9UK4wA+oEqR0mBnJBz2
=pOEM
-----END PGP SIGNATURE-----

--sr8SBrQ3fbgntwtR--



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