From owner-freebsd-bugs@FreeBSD.ORG Tue Nov 17 09:00:13 2009 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6F4CF1065670 for ; Tue, 17 Nov 2009 09:00:13 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 31E5E8FC19 for ; Tue, 17 Nov 2009 09:00:13 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id nAH90BqX078157 for ; Tue, 17 Nov 2009 09:00:11 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id nAH90BFW078156; Tue, 17 Nov 2009 09:00:11 GMT (envelope-from gnats) Resent-Date: Tue, 17 Nov 2009 09:00:11 GMT Resent-Message-Id: <200911170900.nAH90BFW078156@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Dmitriy Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F0DE2106566B for ; Tue, 17 Nov 2009 08:57:22 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id DF0D28FC12 for ; Tue, 17 Nov 2009 08:57:22 +0000 (UTC) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id nAH8vMZe033726 for ; Tue, 17 Nov 2009 08:57:22 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id nAH8vMZo033716; Tue, 17 Nov 2009 08:57:22 GMT (envelope-from nobody) Message-Id: <200911170857.nAH8vMZo033716@www.freebsd.org> Date: Tue, 17 Nov 2009 08:57:22 GMT From: Dmitriy To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: kern/140634: destroying if_lagg interface with if_vlan members causing 100% usage by ifconfig X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Nov 2009 09:00:13 -0000 >Number: 140634 >Category: kern >Synopsis: destroying if_lagg interface with if_vlan members causing 100% usage by ifconfig >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Tue Nov 17 09:00:11 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Dmitriy >Release: 7.2-RELEASE >Organization: NetLine NSP >Environment: FreeBSD bras2.domain.ru 7.2-RELEASE FreeBSD 7.2-RELEASE #4: Sun Nov 15 03:53:05 YEKT 2009 dm@bras2.domain.ru:/mnt/sources/src-7.2/sys/i386/compile/BRAS2 i386 >Description: I use if_vlan over if_lagg over some if_em's. If i need to delete interfaces cloning by /etc/rc.d/netif clonedown i got 100% usage by "ifconfig lagg0 destroy" If delete vlan's from lagg0 first, "ifconfig lagg0 destroy" works properly. I build kernel with INVARIANTs and WITNESS and got panic: GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-marcel-freebsd"... Unread portion of the kernel message buffer: <5>lagg0: link state changed to DOWN <5>em1: link state changed to DOWN <5>vlan100: link state changed to DOWN <5>vlan8: link state changed to DOWN panic: if_delmulti: ifnet went away cpuid = 0 KDB: enter: panic Physical memory: 1012 MB Dumping 69 MB: 54 38 22 6 Reading symbols from /boot/kernel/coretemp.ko...Reading symbols from /boot/kernel/coretemp.ko.symbols...done. done. Loaded symbols for /boot/kernel/coretemp.ko Reading symbols from /boot/kernel/if_em_yandex_696.ko...Reading symbols from /boot/kernel/if_em_yandex_696.ko.symbols...done. done. Loaded symbols for /boot/kernel/if_em_yandex_696.ko Reading symbols from /boot/kernel/acpi.ko...Reading symbols from /boot/kernel/acpi.ko.symbols...done. done. Loaded symbols for /boot/kernel/acpi.ko #0 doadump () at pcpu.h:196 196 __asm __volatile("movl %%fs:0,%0" : "=r" (td)); (kgdb) bt #0 doadump () at pcpu.h:196 #1 0xc044c419 in db_fncall (dummy1=-1066288168, dummy2=0, dummy3=-1, dummy4=0xf9a7076c "") at ../../../ddb/db_command.c:516 #2 0xc044c9cf in db_command (last_cmdp=0xc0792c74, cmd_table=0x0, dopager=0) at ../../../ddb/db_command.c:413 #3 0xc044ca44 in db_command_script (command=0xc0793b8c "call doadump") at ../../../ddb/db_command.c:484 #4 0xc04502b0 in db_script_exec (scriptname=0xf9a70878 "kdb.enter.panic", warnifnotfound=Variable "warnifnotfound" is not available. ) at ../../../ddb/db_script.c:302 #5 0xc045038d in db_script_kdbenter (eventname=0xc072bdcd "panic") at ../../../ddb/db_script.c:324 #6 0xc044e298 in db_trap (type=3, code=0) at ../../../ddb/db_main.c:227 #7 0xc053fa56 in kdb_trap (type=3, code=0, tf=0xf9a709b0) at ../../../kern/subr_kdb.c:524 #8 0xc06e7e6f in trap (frame=0xf9a709b0) at ../../../i386/i386/trap.c:688 #9 0xc06cc78b in calltrap () at ../../../i386/i386/exception.s:159 #10 0xc053fbda in kdb_enter_why (why=0xc072bdcd "panic", msg=0xc072bdcd "panic") at cpufunc.h:60 #11 0xc05139c6 in panic (fmt=0xc0738ebf "%s: ifnet went away") at ../../../kern/kern_shutdown.c:557 #12 0xc05ac0b6 in if_delmulti (ifp=0xc47c7000, sa=0xf9a70a72) at ../../../net/if.c:2565 #13 0xc05b6960 in vlan_unconfig_locked (ifp=0xc45ea800) at ../../../net/if_vlan.c:1120 #14 0xc05b6e4f in vlan_ifdetach (arg=0x0, ifp=0xc47c7000) at ../../../net/if_vlan.c:497 #15 0xc05af87d in if_detach (ifp=0xc47c7000) at ../../../net/if.c:830 #16 0xc05b18fd in ether_ifdetach (ifp=0xc47c7000) at ../../../net/if_ethersubr.c:926 #17 0xc05b3982 in lagg_clone_destroy (ifp=0xc47c7000) at ../../../net/if_lagg.c:282 #18 0xc05b0a27 in ifc_simple_destroy (ifc=0xc07795c0, ifp=0xc47c7000) at ../../../net/if_clone.c:560 #19 0xc05b0d91 in if_clone_destroyif (ifc=0xc07795c0, ifp=0xc47c7000) at ../../../net/if_clone.c:218 #20 0xc05b136f in if_clone_destroy (name=0xc5d382a0 "lagg0") at ../../../net/if_clone.c:196 #21 0xc05affeb in ifioctl (so=0xc4899680, cmd=2149607801, data=0xc5d382a0 "lagg0", td=0xc47f2230) at ../../../net/if.c:1997 #22 0xc0557947 in soo_ioctl (fp=0xc5b54850, cmd=2149607801, data=0xc5d382a0, active_cred=0xc5b6c600, td=0xc47f2230) at ../../../kern/sys_socket.c:191 #23 0xc0551de3 in kern_ioctl (td=0xc47f2230, fd=3, com=2149607801, data=0xc5d382a0 "lagg0") at file.h:269 #24 0xc0551f44 in ioctl (td=0xc47f2230, uap=0xf9a70cfc) at ../../../kern/sys_generic.c:571 #25 0xc06e7643 in syscall (frame=0xf9a70d38) at ../../../i386/i386/trap.c:1090 #26 0xc06cc7f0 in Xint0x80_syscall () at ../../../i386/i386/exception.s:255 #27 0x00000033 in ?? () Previous frame inner to this frame (corrupt stack?) >How-To-Repeat: ifconfig lagg0 create ifconfig vlan100 create ifconfig vlan100 vlandev lagg0 vlan 100 ifconfig lagg0 destroy >Fix: maybe /etc/rc.d/netif script must delete all vlan members of existing if_lagg interfaces and then destroy if_lagg interfaces. >Release-Note: >Audit-Trail: >Unformatted: