Date: Sun, 06 May 2001 12:40:56 +0100 From: Brian Somers <brian@Awfulhak.org> To: Ian West <ian@apdata.com.au> Cc: freebsd-net@FreeBSD.ORG, brian@Awfulhak.org Subject: Re: Netgraph/fxp/pppoe causing system panic in 4.3 stable. Message-ID: <200105061140.f46BeuB54870@hak.lan.Awfulhak.org> In-Reply-To: Message from Ian West <ian@apdata.com.au> of "Sun, 06 May 2001 18:27:28 %2B0930." <20010506182728.L1899@rose.niw.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
PPPoE now brings the interface IFF_UP before using it, but this isn't the right solution (someone could manually down it again). fxp should just drop data if it's not up. > I have a reproducible kernel panic in 4.3 stable caused (sort of) by > netgraph, or maybe by fxp0 in conjunction with pppoe. It is caused by > setting up and attempting to open a pppoe connection over an fxp > interface, due to fxp_start being called before fxp device has been > opened. (This only occurs if the fxp interface has not been configured > in any way since since boot.) > > Maybe if ethernet if has not been opened, and is down, it should be brought up > by opening it for pppoe similar to ifconfig bringing it up when an ip > address is assigned ? > > Causing the fault is as simple as running user land ppp, configuring 'set line > pppoe:fxp0' and then trying to open the link. > > Backtrace is as follows. > #0 0xc0289b06 in fxp_start (ifp=0xc0cbea00) at ../../pci/if_fxp.c:1083 > #1 0xc01e4de4 in ether_output_frame (ifp=0xc0cbea00, m=0xc09d3d00) at ../../net/if_ethersubr.c:399 > #2 0xc01fac2c in ng_ether_rcv_lower (node=0xc0cd3100, m=0xc09d3d00, meta=0x0) at ../../netgraph/ng_ether.c:629 > #3 0xc01fab55 in ng_ether_rcvdata (hook=0xc0e0bf40, m=0xc09d3d00, meta=0x0) at ../../netgraph/ng_ether.c:595 > #4 0xc01f8401 in ng_send_data (hook=0xc0e0bfc0, m=0xc09d3d00, meta=0x0) at ../../netgraph/ng_base.c:1648 > #5 0xc01fc6e9 in sendpacket (sp=0xc0e0f840) at ../../netgraph/ng_pppoe.c:1451 > #6 0xc01fb99e in pppoe_start (sp=0xc0e0f840) at ../../netgraph/ng_pppoe.c:754 > #7 0xc01fb824 in ng_pppoe_rcvmsg (node=0xc0da8ac0, msg=0xc0e0f800, retaddr=0xc0e0bf00 "[7]:", rptr=0xc643fe28) > at ../../netgraph/ng_pppoe.c:660 > #8 0xc01f7925 in ng_send_msg (here=0xc0d607c0, msg=0xc0e0f800, address=0xc0cd4650 ".:tun0", rptr=0xc643fe28) > at ../../netgraph/ng_base.c:1180 > #9 0xc01fc954 in ngc_send (so=0xc5d5dc00, flags=0, m=0xc09e1f00, addr=0xc0cd4620, control=0x0, p=0xc5f44700) > at ../../netgraph/ng_socket.c:242 > #10 0xc01bffcb in sosend (so=0xc5d5dc00, addr=0xc0cd4620, uio=0xc643fed0, top=0xc09e1f00, control=0x0, flags=0, p=0xc5f44700) > at ../../kern/uipc_socket.c:611 > #11 0xc01c377f in sendit (p=0xc5f44700, s=2, mp=0xc643ff10, flags=0) at ../../kern/uipc_syscalls.c:583 > #12 0xc01c3882 in sendto (p=0xc5f44700, uap=0xc643ff80) at ../../kern/uipc_syscalls.c:636 > #13 0xc03340ad in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = -1077941491, tf_esi = -1077941498, tf_ebp = -1077940984, > tf_isp = -968622124, tf_ebx = 672834760, tf_edx = -1077941500, tf_ecx = -1077941500, tf_eax = 133, tf_trapno = 7, tf_err = 2, > tf_eip = 673075808, tf_cs = 31, tf_eflags = 518, tf_esp = -1077941588, tf_ss = 47}) at ../../i386/i386/trap.c:1150 > > Program received signal SIGSEGV, Segmentation fault. > 0xc0289b06 in fxp_start (ifp=0xc0cbea00) at ../../pci/if_fxp.c:1083 > 1083 txp = sc->cbl_last->next; > > (kgdb) print sc > $1 = (struct fxp_softc *) 0xc0cbea00 > (kgdb) print sc->cbl_last > $2 = (struct fxp_cb_tx *) 0x0 -- Brian <brian@Awfulhak.org> <brian@[uk.]FreeBSD.org> <http://www.Awfulhak.org> <brian@[uk.]OpenBSD.org> Don't _EVER_ lose your sense of humour ! To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200105061140.f46BeuB54870>