Date: Thu, 9 Dec 2004 12:15:24 +0200 From: Ruslan Ermilov <ru@freebsd.org> To: Max Laier <max@love2party.net> Cc: Steve Kargl <sgk@troutmask.apl.washington.edu> Subject: Re: protocol timer running before protocol is fully initialized (again) (was re: panic: mtx_lock() of spin mutex ...) Message-ID: <20041209101524.GC62331@ip.net.ua> In-Reply-To: <200412090411.42258.max@love2party.net> References: <Pine.NEB.3.96L.1041209023008.44319C-100000@fledge.watson.org> <200412090411.42258.max@love2party.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--0eh6TmSyL6TZE2Uz Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Max, On Thu, Dec 09, 2004 at 04:11:26AM +0100, Max Laier wrote: > On Thursday 09 December 2004 03:31, Robert Watson wrote: > > On Wed, 8 Dec 2004, Steve Kargl wrote: > > > panic: mtx_lock() of spin mutex (null) @ sys/netinet/frag6.c:682 > > > cpuid =3D 0 > > > kdb_backtrace+0x37 > > > panic+0x1d1 > > > _mtx_lock_flags+0x72 > > > frag6_slowtimo+0x26 > > > pfslowtimo+0x5a > > > softclock+0x1c0 > > > ithread_loop+0x179 > > > fork_exit+0xe9 > > > fork_trampoline+0xe > > > > > > This is FreeBSD/amd64 from today's sources of about 30 minutes ago. > > > > > >From the instant interpretation unit: it looks like this is another > > > > example of a protocl's timeout firing before the protocol is properly > > initialized, as the mutex appears to be zero'd due to being in BSS. >=20 > Here is a lazy fix: > http://people.freebsd.org/~mlaier/uipc_domain.c.lazy.diff >=20 > Should help for (almost) sure. This fixes all domains that are initialize= d in=20 > SI_SUB_PROTO_DOMAIN, those that are initialized later on (netgraph e.g.) = can=20 > still trigger this prime example why it's bad to hook something in before= =20 > initializing it properly. Unfortunately our code and API force us to do s= o at=20 > the moment :-\ >=20 > Please tell me if the patch (apply to src/sys/kern/uipc_domain.c) helps. >=20 I've got the same panic early on boot, but in ip_input(), on i386. Your patch helps. Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --0eh6TmSyL6TZE2Uz Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQFBuCW8qRfpzJluFF4RAhgFAJ96SsxXyyuSwLbnvfPPp2Z8JYOdKwCgjI+S +DCfDmYsUbxqYl6SjtgF3Qg= =Gda9 -----END PGP SIGNATURE----- --0eh6TmSyL6TZE2Uz--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041209101524.GC62331>