From owner-freebsd-bugs@freebsd.org Fri Nov 1 17:42:50 2019 Return-Path: Delivered-To: freebsd-bugs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 015E817CEDB for ; Fri, 1 Nov 2019 17:42:50 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mailman.nyi.freebsd.org (mailman.nyi.freebsd.org [IPv6:2610:1c1:1:606c::50:13]) by mx1.freebsd.org (Postfix) with ESMTP id 474Tzs6Cfzz4Y9T for ; Fri, 1 Nov 2019 17:42:49 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: by mailman.nyi.freebsd.org (Postfix) id D532B17CEDA; Fri, 1 Nov 2019 17:42:49 +0000 (UTC) Delivered-To: bugs@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id D4F9517CED9 for ; Fri, 1 Nov 2019 17:42:49 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 474Tzs5DvTz4Y9S for ; Fri, 1 Nov 2019 17:42:49 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 987CBEA8B for ; Fri, 1 Nov 2019 17:42:49 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id xA1HgnL5045752 for ; Fri, 1 Nov 2019 17:42:49 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id xA1Hgnm7045751 for bugs@FreeBSD.org; Fri, 1 Nov 2019 17:42:49 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 241646] netgraph/ng_bridge kernel panic after r353030 Date: Fri, 01 Nov 2019 17:42:49 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Base System X-Bugzilla-Component: kern X-Bugzilla-Version: CURRENT X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Many People X-Bugzilla-Who: aleksandr.fedorov@itglobal.com X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Nov 2019 17:42:50 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D241646 Bug ID: 241646 Summary: netgraph/ng_bridge kernel panic after r353030 Product: Base System Version: CURRENT Hardware: Any OS: Any Status: New Severity: Affects Many People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: aleksandr.fedorov@itglobal.com I observe the following kernel panic after r353030: Reading symbols from /boot/kernel/kernel... Reading symbols from /usr/lib/debug//boot/kernel/kernel.debug... Unread portion of the kernel message buffer: panic: ng_bridge_timeout: links: 1 !=3D 0 cpuid =3D 0 time =3D 1572351202 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe007184d= 890 vpanic() at vpanic+0x17e/frame 0xfffffe007184d8f0 panic() at panic+0x43/frame 0xfffffe007184d950 ng_bridge_timeout() at ng_bridge_timeout+0x1e1/frame 0xfffffe007184d990 ng_apply_item() at ng_apply_item+0xee/frame 0xfffffe007184da10 ng_snd_item() at ng_snd_item+0x2b0/frame 0xfffffe007184da50 ng_callout_trampoline() at ng_callout_trampoline+0x3f/frame 0xfffffe007184d= a70 softclock_call_cc() at softclock_call_cc+0x14b/frame 0xfffffe007184db20 softclock() at softclock+0x7c/frame 0xfffffe007184db50 ithread_loop() at ithread_loop+0x1c6/frame 0xfffffe007184dbb0 fork_exit() at fork_exit+0x80/frame 0xfffffe007184dbf0 fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe007184dbf0 --- trap 0, rip =3D 0, rsp =3D 0, rbp =3D 0 --- Uptime: 1h6m40s Dumping 5780 out of 65374 MB:..1%..11%..21%..31%..41%..51%..61%..71%..81%..= 91% __curthread () at /afedorov/vstack-develop-freebsd/sys/amd64/include/pcpu_aux.h:55 55 /afedorov/vstack-develop-freebsd/sys/amd64/include/pcpu_aux.h: No s= uch file or directory. (kgdb) #0 __curthread () at /afedorov/vstack-develop-freebsd/sys/amd64/include/pcpu_aux.h:55 #1 doadump (textdump=3D1) at /afedorov/vstack-develop-freebsd/sys/kern/kern_shutdown.c:392 #2 0xffffffff80bc0750 in kern_reboot (howto=3D260) at /afedorov/vstack-develop-freebsd/sys/kern/kern_shutdown.c:479 #3 0xffffffff80bc0ba6 in vpanic (fmt=3D, ap=3D) at /afedorov/vstack-develop-freebsd/sys/kern/kern_shutdown.c:908 #4 0xffffffff80bc0903 in panic (fmt=3D) at /afedorov/vstack-develop-freebsd/sys/kern/kern_shutdown.c:835 #5 0xffffffff837481e1 in ng_bridge_timeout (node=3D0xfffff80023a7ac00,=20 hook=3D, arg1=3D, arg2=3D) at /afedorov/vstack-develop-freebsd/sys/netgraph/ng_bridge.c:1021 #6 0xffffffff82e6b80e in ng_apply_item (node=3D0xfffff80023a7ac00,=20 item=3D0xfffff8024fbf3c00, rw=3D) at /afedorov/vstack-develop-freebsd/sys/netgraph/ng_base.c:2474 #7 0xffffffff82e6b520 in ng_snd_item (item=3D0xfffff8024fbf3c00, flags=3D0) at /afedorov/vstack-develop-freebsd/sys/netgraph/ng_base.c:2320 #8 0xffffffff82e6d8ef in ng_callout_trampoline (arg=3D) at /afedorov/vstack-develop-freebsd/sys/netgraph/ng_base.c:3774 #9 0xffffffff80bdb1fb in softclock_call_cc (c=3D,=20 cc=3D0xffffffff81db4e80 , direct=3D) at /afedorov/vstack-develop-freebsd/sys/kern/kern_timeout.c:740 #10 0xffffffff80bdb5ac in softclock (arg=3D0xffffffff81db4e80 ) at /afedorov/vstack-develop-freebsd/sys/kern/kern_timeout.c:878 Panic occurs at https://svnweb.freebsd.org/base/head/sys/netgraph/ng_bridge.c?revision=3D35= 3030&view=3Dmarkup#l1021 The ng_bridge_timeout () function calls NG_NODE_FOREACH_HOOK (node, ng_bridge_unmute, &counter, ret). But the ng_bridge_unmute () function does not change the value of the 'coun= ter' variable. So, KASSERT () is triggered. The ng_bridge_unmute () function seems to have bugs. -------------------------------- static int ng_bridge_unmute(hook_p hook, void *arg) { link_p link =3D NG_HOOK_PRIVATE(hook); node_p node =3D NG_HOOK_NODE(hook); priv_p priv =3D NG_NODE_PRIVATE(node); int *counter =3D arg; <<<< Get the int pointer!!! if (link->loopCount !=3D 0) { link->loopCount--; if (link->loopCount =3D=3D 0 && priv->conf.debugLevel >=3D = 2) { log(LOG_INFO, "ng_bridge: %s:" " restoring looped back %s\n", ng_bridge_nodename(node), NG_HOOK_NAME(hook)); } } counter++; <<<<< Increase address of local ponter return (1); } ---------------------------------- As a workaround, I used the following patch: diff --git a/sys/netgraph/ng_bridge.c b/sys/netgraph/ng_bridge.c index cd649f0db1ce..44cb1330ee35 100644 --- a/sys/netgraph/ng_bridge.c +++ b/sys/netgraph/ng_bridge.c @@ -977,7 +977,8 @@ ng_bridge_unmute(hook_p hook, void *arg) ng_bridge_nodename(node), NG_HOOK_NAME(hook)); } } - counter++; + + (*counter)++; return (1); } But it seems to me that the 'counter' variable is not needed at all, like KASSERT (). --=20 You are receiving this mail because: You are the assignee for the bug.=