Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 May 2009 00:48:28 +0400
From:      Chagin Dmitry <dchagin@freebsd.org>
To:        Robert Watson <rwatson@freebsd.org>
Cc:        current@freebsd.org
Subject:   Re: Panic: witness_warn (r191682; shared rw udpinp (udpinp)...netinet6/udp6_usrreq.c:360)
Message-ID:  <20090430204828.GA6551@dchagin.static.corbina.ru>
In-Reply-To: <alpine.BSF.2.00.0904302026460.8997@fledge.watson.org>
References:  <20090430155408.GX1387@albert.catwhisker.org> <alpine.BSF.2.00.0904302026460.8997@fledge.watson.org>

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

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

On Thu, Apr 30, 2009 at 08:27:48PM +0100, Robert Watson wrote:
>=20
> On Thu, 30 Apr 2009, David Wolfskill wrote:
>=20
> > Build machine crashed on boot of r191682:
> >
> > ...
> > GEOM_LABEL: Label ufsid/48fa940b4445475f removed.
> > fxp0: link state changed to UP
> > suspending ithread with the following locks held:
> > shared rw udpinp (udpinp) r =3D 0 (0xc5ac4f3c) locked @ /usr/src/sys/ne=
tinet6/udp6_usrreq.c:360
> > panic: witness_warn
> > cpuid =3D 1
> > KDB: enter: panic
> > [thread pid 12 tid 100008 ]
> > Stopped at      kdb_enter+0x3a: movl    $0,kdb_why
> > db>
> >
> > I started to paste the output of "show witness" in here, but it got to =
be=20
> > sufficiently lengthy that I thought it better to save it for private ma=
il or=20
> > a follow-up if it's really wanted.
>=20
> This falls into the category of "unlikely software bugs" -- is there any=
=20
> chance this machine is overheating or has memory problems?  "show alllock=
s"=20
> would be helpful on general principle, though.
>=20

hi Robert,
look at patch bellow (even not tested, only to show a problem):

diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c
index 5393740..f8ac3f2 100644
--- a/sys/netinet6/udp6_usrreq.c
+++ b/sys/netinet6/udp6_usrreq.c
@@ -357,7 +357,6 @@ udp6_input(struct mbuf **mp, int *offp, int proto)
 			UDPSTAT_INC(udps_noportmcast);
 			goto badheadlocked;
 		}
-		INP_RLOCK(last);
 		INP_INFO_RUNLOCK(&V_udbinfo);
 		if (last->inp_ppcb !=3D NULL) {
 			/*


David, can you test this patch?
thnx!
--=20
Have fun!
chd

--DocE+STaALJfprDB
Content-Type: application/pgp-signature
Content-Disposition: inline

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

iEYEARECAAYFAkn6DpsACgkQ0t2Tb3OO/O1sdwCgs5nHmV0ciGgyRE3vD2Qx6+/X
mPgAnA0zuy+0IomsfuGeny2TWxV/ZXJb
=Abzn
-----END PGP SIGNATURE-----

--DocE+STaALJfprDB--



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