Date: Tue, 7 Dec 2004 15:39:40 +0100 From: Max Laier <max@love2party.net> To: freebsd-current@freebsd.org Cc: Robert Watson <rwatson@freebsd.org> Subject: Re: Protocol timer running before protocol init (Re: current panic igmp related ?) Message-ID: <200412071539.50647.max@love2party.net> In-Reply-To: <200412071425.47840.max@love2party.net> References: <Pine.NEB.3.96L.1041207124807.99587I-100000@fledge.watson.org> <200412071425.47840.max@love2party.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart1123259.71DLjs6cSq Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Tuesday 07 December 2004 14:25, Max Laier wrote: > On Tuesday 07 December 2004 13:50, Robert Watson wrote: > > On Tue, 7 Dec 2004, Poul-Henning Kamp wrote: > > > Timecounters tick every 1.000 msec > > > panic: mtx_lock() of spin mutex (null) @ ../../../netinet/igmp.c:431 > > > cpuid =3D 0 > > > KDB: enter: panic > > > [thread pid 37 tid 100013 ] > > > Stopped at kdb_enter+0x2c: leave > > > db> trace > > > Tracing pid 37 tid 100013 td 0xc3485480 > > > kdb_enter(c06d85e0,100,c3485480,1af,c06e0fec) at kdb_enter+0x2c > > > panic(c06d7ac5,0,c06e0fec,1af,c0713fc4) at panic+0x17f > > > _mtx_lock_flags(c0738740,0,c06e0fec,1af,e4c97cc8) at > > > _mtx_lock_flags+0x82 igmp_slowtimo(e,0,e4c97cf4,c050683a,0) at > > > igmp_slowtimo+0x19 > > > pfslowtimo(0,27,0,2,2) at pfslowtimo+0x66 > > > softclock(0,0,0,c34d07e0,0) at softclock+0x10a > > > ithread_loop(c34cf100,e4c97d48,c34cf100,c04e9200,0) at > > > ithread_loop+0x18e fork_exit(c04e9200,c34cf100,e4c97d48) at > > > fork_exit+0x7e > > > fork_trampoline() at fork_trampoline+0x8 > > > --- trap 0x1, eip =3D 0, esp =3D 0xe4c97d7c, ebp =3D 0 --- > > > > igmp_mtx looks to be uninitialized here (BSS memory). This suggests th= at > > igmp_slowtimo is being called before igmp_init(), which strikes me as > > somewhat odd. There's recently been some rerrangement of the domain > > initialization code to correct potentially related problems, but perhaps > > things aren't quite there yet. CC'ing Max on general principle. :-) > > That's not mine. Didn't touch the protosw parts ;) > > Still, the attached diff might help. It looks like we try to use Giant to > protect the pfslowtimo() array walking, thus we must make sure that we ho= ld > Giant long enough while we set things up. I hope protosw_init() and there= in > called pr_init()s are fine with Giant hold. It'd surprise me, if not. Actually, that will only help in the debug.mpsafenet=3D0 case. A better fix= is=20 to initialize first and hook into the array afterwards - not sure if that i= s=20 a safe thing to do for all protocols. =2D-=20 /"\ Best regards, | mlaier@freebsd.org \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier@EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News --nextPart1123259.71DLjs6cSq Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQBBtcC2XyyEoT62BG0RAhOxAJ44hE17qIurLkl723YITFGgQWtc4ACeJ5XM yEwDoXDh3tB3mIrmIpCg67Y= =bejD -----END PGP SIGNATURE----- --nextPart1123259.71DLjs6cSq--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412071539.50647.max>