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) _at_ ../../../netinet/igmp.c:431 > > cpuid = 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 = 0, esp = 0xe4c97d7c, ebp = 0 --- > > igmp_mtx looks to be uninitialized here (BSS memory). This suggests that > 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 hold Giant long enough while we set things up. I hope protosw_init() and therein called pr_init()s are fine with Giant hold. It'd surprise me, if not. -- /"\ Best regards, | mlaier_at_freebsd.org \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier_at_EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:24 UTC