From owner-freebsd-net Sun May 6 1:57:36 2001 Delivered-To: freebsd-net@freebsd.org Received: from rose.niw.com.au (app3022-2.gw.connect.com.au [203.63.119.4]) by hub.freebsd.org (Postfix) with ESMTP id C6EA737B424 for ; Sun, 6 May 2001 01:57:32 -0700 (PDT) (envelope-from ian@niw.com.au) Received: from localhost (localhost [127.0.0.1]) by rose.niw.com.au (Postfix) with ESMTP id 69E2D111319 for ; Sun, 6 May 2001 18:27:30 +0930 (CST) Received: by rose.niw.com.au (Postfix, from userid 1000) id 0A08B111318; Sun, 6 May 2001 18:27:28 +0930 (CST) Date: Sun, 6 May 2001 18:27:28 +0930 From: Ian West To: freebsd-net@freebsd.org Subject: Netgraph/fxp/pppoe causing system panic in 4.3 stable. Message-ID: <20010506182728.L1899@rose.niw.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i X-Virus-Scanned: by AMaViS perl-10 Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org 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 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message