Date: Mon, 13 Nov 2006 13:11:39 +0100 From: Fabian Keil <freebsd-listen@fabiankeil.de> To: freebsd-current@freebsd.org Subject: Re: sendfile data corruption Message-ID: <20061113131139.0c9e1dd1@localhost> In-Reply-To: <20061113111138.Q38359@fledge.watson.org> References: <200611021653.kA2GrRWx008044@repoman.freebsd.org> <455530E0.5090000@gmail.com> <4555B45D.6020800@freebsd.org> <4555BA65.4020603@gmail.com> <4557330D.3010009@freebsd.org> <20061112170013.78949e96@localhost> <20061112204812.011e06d1@localhost> <20061113111138.Q38359@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Sig_yjC0Xcd.wdXtT9eKDXXLJHp Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Robert Watson <rwatson@FreeBSD.org> wrote: >=20 > On Sun, 12 Nov 2006, Fabian Keil wrote: >=20 > > Fabian Keil <freebsd-listen@fabiankeil.de> wrote: > > > >> Andre Oppermann <andre@freebsd.org> wrote: > > > >>> Please try this patch: > >>> > >>> http://people.freebsd.org/~andre/sendfile_fix-20061112.diff > >>> > >>> It fixes apache 2.0.59 for me. > >> > >> For me too, but I'm still seeing problems with Gatling/0.8. > > > > I just had to reboot the system and noticed several LORs before > > the login prompt. Because of this one: > > > > lock order reversal: > > 1st 0xc070b6a8 Giant (sleep mutex) > > @ /usr/src/sys/kern/uipc_syscalls.c:1335 2nd 0xc27e5b10 inp (udpinp) > > @ /usr/src/sys/netinet/udp_usrreq.c:1120 3rd 0xc27e30e0 so_snd (sleep > > mutex) @ /usr/src/sys/kern/uipc_sockbuf.c:95 >=20 > This is the correct lock order, so there must be a new lock order > occuring earlier that gets added as the first order causing this one to > appear as the incorrect order. The following patch may help in making > the right lock order problem come to surface: >=20 > Index: subr_witness.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 > RCS file: /home/ncvs/src/sys/kern/subr_witness.c,v > retrieving revision 1.220 > diff -u -r1.220 subr_witness.c > --- subr_witness.c 11 Nov 2006 03:18:06 -0000 1.220 > +++ subr_witness.c 13 Nov 2006 11:14:15 -0000 > @@ -325,6 +325,7 @@ > /* > * UDP/IP > */ > + { "Giant", &lock_class_mtx_sleep }, > { "udp", &lock_class_mtx_sleep }, > { "udpinp", &lock_class_mtx_sleep }, > { "so_snd", &lock_class_mtx_sleep }, Thanks, but the LORs are already gone in: FreeBSD 7.0-CURRENT #22: Mon Nov 13 12:47:19 CET 2006 Fabian --=20 http://www.fabiankeil.de/ --Sig_yjC0Xcd.wdXtT9eKDXXLJHp Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQFFWGEEBYqIVf93VJ0RApFmAJ9pYUY0IcPcdqYUfGEFkYxWXgPZsQCfQJMI K4wAcbBdHyXVXLzH3lmOV6Y= =vNKr -----END PGP SIGNATURE----- --Sig_yjC0Xcd.wdXtT9eKDXXLJHp--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061113131139.0c9e1dd1>