Re: kernel panic. pppoe

From: sekes <gexlie_at_gmail.com>
Date: Fri, 2 Jun 2006 23:45:19 +0400
THANK YOU GOD!

I don't really how but it really works :)
I'm still getting this after netgraph module loads:
WARNING: attempt to net_add_domain(netgraph) after domainfinalize()

but the kernel is not panic anymore.

I will test my box with leaving ppp turned on during all the night, and then
tell you results if everything will be bad

On 6/1/06, John Baldwin <jhb_at_freebsd.org> wrote:
>
> On Monday 29 May 2006 09:10, Max Laier wrote:
> > On Monday 29 May 2006 11:05, sekes wrote:
> > > Cause my message has been lost in threads i repost it again here.
> > >
> > >
> http://lists.freebsd.org/pipermail/freebsd-current/2006-May/062955.html
> > > Sorry for annoying :-)
> > >
> > > Strange panic occurs in the kernel every time i'm trying to make PPPoE
> > > connection
> > > This problem is very important to me because since all that time it
> > > presents in the kernel i am not able to establish any succesfull
> internet
> > > sessions longer than on 10-15 minutes:(
> > >
> > > panic: mutex Giant not owned at /usr/src/sys/net/if.c:2209
> > > cpuid = 0
> > > KDB: enter: panic
> > > [thread pid 11 tid 100005 ]
> > > Stopped at      kdb_enter+0x2b: nop
> > > db>
> > > db>
> > > db>
> > > db> bt
> > > Tracing pid 11 tid 100005 td 0xc28916c0
> > > kdb_enter(3230725374) at kdb_enter+43
> > > panic(3230722033,3230813051,3230769714,2209,3264851968) at panic+295
> > > _mtx_assert(3231693000,1,3230769714,2209) at _mtx_assert+102
> > > if_start(3264851968) at if_start+38
> > > ether_output_frame(3264851968,3265936896,3265938176,0,3270958224) at
> > > ether_output_frame+384
> > > ng_ether_rcvdata(3270304512,3270958224,1717,3231718100,0) at
> > > ng_ether_rcvdata+308
> > > ng_apply_item(0,3265938176,5,0,0) at ng_apply_item+278
> > > ng_snd_item(3270958224,0,3270958224,3266710848,3270315648) at
> > > ng_snd_item+230
> > > pppoe_ticker(3270315648,3270304384,0,0,3227049343) at pppoe_ticker+229
> > > ng_apply_item(1,622,2,1,0) at ng_apply_item+495
> > > ng_snd_item(3270958272,0,3548757204,3228176966,3270958272) at
> > > ng_snd_item+230
> > > ng_callout_trampoline(3270958272) at ng_callout_trampoline+13
> > > softclock(0) at softclock+518
> > > ithread_execute_handlers(3263761156,3263960576) at
> > > ithread_execute_handlers+234
> > > ithread_loop(3263596944,3548757304) at ithread_loop+103
> > > fork_exit(3228039632,3263596944,3548757304) at fork_exit+164
> > > fork_trampoline() at fork_trampoline+8
> > > --- trap 1, eip = 0, esp = 3548757356, ebp = 0 ---
> >
> > Looks like you have a NIC that still requires the Giant lock around the
> > network stack and you found a callpath that does not pick it up.  As a
> > workaround you can try to disable the mpsafe networking (
> debug.mpsafenet=0),
> > be sure to tell us if that helps and examine "ifp" in the if_start frame
> if
> > possible.
>
> From the dmesg from his first post in the URL mpsafenet is already set to
> 0.
> I bet this netgraph callout is marked MPSAFE and needs to use
> NET_LOCK_GIANT().  I'm not sure if it should be invoking a driver's
> if_start() routine from a callout btw.  You can try this patch:
>
> Index: ng_base.c
> ===================================================================
> RCS file: /usr/cvs/src/sys/netgraph/ng_base.c,v
> retrieving revision 1.122
> diff -c -r1.122 ng_base.c
> *** ng_base.c   12 Jan 2006 22:41:32 -0000      1.122
> --- ng_base.c   1 Jun 2006 18:38:07 -0000
> ***************
> *** 3581,3587 ****
> --- 3581,3589 ----
>   {
>         item_p item = arg;
>
> +       NET_LOCK_GIANT();
>         ng_snd_item(item, 0);
> +       NET_UNLOCK_GIANT();
>   }
>
>
>
> --
> John Baldwin
>
Received on Fri Jun 02 2006 - 17:51:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:56 UTC