From owner-svn-src-all@freebsd.org Fri Oct 18 22:20:16 2019 Return-Path: Delivered-To: svn-src-all@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 BA3DD15C1E7; Fri, 18 Oct 2019 22:20:16 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from smtp-out-so.shaw.ca (smtp-out-so.shaw.ca [64.59.136.137]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "Client", Issuer "CA" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 46w0pR4nBcz45kw; Fri, 18 Oct 2019 22:20:15 +0000 (UTC) (envelope-from cy.schubert@cschubert.com) Received: from spqr.komquats.com ([70.67.125.17]) by shaw.ca with ESMTPA id LabUieUrKIhW9LabViyg7S; Fri, 18 Oct 2019 16:20:14 -0600 X-Authority-Analysis: v=2.3 cv=FcFJO626 c=1 sm=1 tr=0 a=VFtTW3WuZNDh6VkGe7fA3g==:117 a=VFtTW3WuZNDh6VkGe7fA3g==:17 a=kj9zAlcOel0A:10 a=XobE76Q3jBoA:10 a=VxmjJ2MpAAAA:8 a=YxBL1-UpAAAA:8 a=iaTFZB6CAAAA:8 a=pGLkceISAAAA:8 a=6I5d2MoRAAAA:8 a=G0_B3m8xAAAA:8 a=Zsb42VTSfQbidNrpAy0A:9 a=jPecpB6AOpLXUzJM:21 a=CjuIK1q_8ugA:10 a=QCbNFyMtyp4A:10 a=7gXAzLPJhVmCkEl4_tsf:22 a=Ia-lj3WSrqcvXOmTRaiG:22 a=QWXrQ9iV8q7LKaLQ9lfw:22 a=IjZwj45LgO3ly-622nXo:22 a=gBgTPrObzSPeouD7eQ2s:22 Received: from slippy.cwsent.com (slippy [10.1.1.91]) by spqr.komquats.com (Postfix) with ESMTPS id 32AA455C; Fri, 18 Oct 2019 15:20:12 -0700 (PDT) Received: from slippy.cwsent.com (localhost [127.0.0.1]) by slippy.cwsent.com (8.15.2/8.15.2) with ESMTP id x9IMKCGg032873; Fri, 18 Oct 2019 15:20:12 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Received: from slippy (cy@localhost) by slippy.cwsent.com (8.15.2/8.15.2/Submit) with ESMTP id x9IMKBVn032870; Fri, 18 Oct 2019 15:20:11 -0700 (PDT) (envelope-from Cy.Schubert@cschubert.com) Message-Id: <201910182220.x9IMKBVn032870@slippy.cwsent.com> X-Authentication-Warning: slippy.cwsent.com: cy owned process doing -bs X-Mailer: exmh version 2.9.0 11/07/2018 with nmh-1.7.1 Reply-to: Cy Schubert From: Cy Schubert X-os: FreeBSD X-Sender: cy@cwsent.com X-URL: http://www.cschubert.com/ To: "Hartmann, O." cc: svn-src-head@freebsd.org, Gary Jennejohn , src-committers@freebsd.org, svn-src-all@freebsd.org, Conrad Meyer Subject: Re: svn commit: r353700 - in head: share/man/man4 sys/amd64/conf sys/conf sys/gdb sys/i386/conf sys/kern sys/net sys/sys In-reply-to: <201910182216.x9IMG7wO032486@slippy.cwsent.com> References: <201910172133.x9HLX1kl071044@repo.freebsd.org> <20191018122104.389ffb7a@hermann.fritz.box> <20191018140045.31d269b0@ernst.home> <20191018160935.7dda61c4@hermann.fritz.box> <201910181424.x9IEOC9q013885@slippy.cwsent.com> <20191018175406.0ff89bbc@hermann.fritz.box> <20191018183718.5e6b3d62@hermann.fritz.box> <201910182216.x9IMG7wO032486@slippy.cwsent.com> Comments: In-reply-to Cy Schubert message dated "Fri, 18 Oct 2019 15:16:07 -0700." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 18 Oct 2019 15:20:11 -0700 X-CMAE-Envelope: MS4wfOIUWkAcfuw5mG5HIlyEwa56Fpc5Cw9qByiTg8+0WCfRy500BJToEh0l515vu1jInV8u2WNl5g/CwlgJR3B20OCOH8UxnXmcxsDpMKfnWfXpIj7Y9hPQ yDnc6l4ktkFf2FzdP8mZXc5KBOUKIm7D8Z6hwZcRAUUswUFbe9MCwIkBPZeCzuplOFsGWMTlGAWdO/7jaq8oQ1LftlD4Ls2hHlbbteGs64RemCJSWunUdWwB L8anJItzR+ksWy3GenZ4/s09ZMTuGlKUneuel8r5CycXab3MIfNpEqqpV7uLocg0nL1WHurEju64dVtA5KCucg== X-Rspamd-Queue-Id: 46w0pR4nBcz45kw X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none; spf=none (mx1.freebsd.org: domain of cy.schubert@cschubert.com has no SPF policy when checking 64.59.136.137) smtp.mailfrom=cy.schubert@cschubert.com X-Spamd-Result: default: False [-3.87 / 15.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_COUNT_FIVE(0.00)[5]; HAS_REPLYTO(0.00)[Cy.Schubert@cschubert.com]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; MV_CASE(0.50)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[text/plain]; HAS_XAW(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; RCPT_COUNT_FIVE(0.00)[6]; REPLYTO_EQ_FROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[137.136.59.64.list.dnswl.org : 127.0.5.0]; R_SPF_NA(0.00)[]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:6327, ipnet:64.59.128.0/20, country:CA]; RCVD_TLS_LAST(0.00)[]; IP_SCORE(-2.27)[ip: (-5.83), ipnet: 64.59.128.0/20(-3.05), asn: 6327(-2.37), country: CA(-0.09)]; RECEIVED_SPAMHAUS_PBL(0.00)[17.125.67.70.khpj7ygk5idzvmvt5x4ziurxhy.zen.dq.spamhaus.net : 127.0.0.11] X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Oct 2019 22:20:16 -0000 In message <201910182216.x9IMG7wO032486@slippy.cwsent.com>, Cy Schubert writes: > In message <20191018183718.5e6b3d62@hermann.fritz.box>, "Hartmann, O." > writes: > > --Sig_/icZw9PmU7w9Aj=UqDZhZj.c > > Content-Type: text/plain; charset=US-ASCII > > Content-Transfer-Encoding: quoted-printable > > > > On Fri, 18 Oct 2019 09:26:51 -0700 > > Cy Schubert wrote: > > > > > On October 18, 2019 8:54:06 AM PDT, "Hartmann, O." > > > wrote: > > > >On Fri, 18 Oct 2019 07:24:12 -0700 > > > >Cy Schubert wrote: > > > > =20 > > > >> In message <20191018160935.7dda61c4@hermann.fritz.box>, "Hartmann, > > > >> O." writes: =20 > > > >> > --Sig_/QDD9BZgeMM6.TJkOIciNb32 > > > >> > Content-Type: text/plain; charset=3DUS-ASCII > > > >> > Content-Transfer-Encoding: quoted-printable > > > >> > > > > >> > On Fri, 18 Oct 2019 14:00:45 +0200 > > > >> > Gary Jennejohn wrote: > > > >> > =20 > > > >> > > On Fri, 18 Oct 2019 12:21:04 +0200 > > > >> > > "Hartmann, O." wrote: > > > >> > >=3D20 =20 > > > >> > > > On Thu, 17 Oct 2019 21:33:01 +0000 (UTC) > > > >> > > > Conrad Meyer wrote: > > > >> > > > =3D20 =20 > > > >> > > > > Author: cem > > > >> > > > > Date: Thu Oct 17 21:33:01 2019 > > > >> > > > > New Revision: 353700 > > > >> > > > > URL: https://svnweb.freebsd.org/changeset/base/353700 > > > >> > > > >=3D20 > > > >> > > > > Log: > > > >> > > > > Implement NetGDB(4) > > > >> > > > > =3D20 > > > >> > > > > NetGDB(4) is a component of a system using a panic-time > > > >> > > > > network stack to remotely debug crashed FreeBSD kernels > > > >> > > > > over the network, instead of traditional serial interfaces. > > > >> > > > > =3D20 > > > >> > > > > There are three pieces in the complete NetGDB system. > > > >> > > > > =3D20 > > > >> > > > > First, a dedicated proxy server must be running to accept > > > >> > > > > connections from both NetGDB and gdb(1), and pass > > > >> > > > > bidirectional traffic between the two protocols. > > > >> > > > > =3D20 > > > >> > > > > Second, the NetGDB client is activated much like ordinary > > > >> > > > > 'gdb' and similarly to 'netdump' in ddb(4) after a panic. > > > >> > > > > Like other debugnet(4) clients (netdump(4)), the network > > > >> > > > > interface on the route to the proxy server must be online > > > >> > > > > and support debugnet(4). =3D20 > > > >> > > > > Finally, the remote (k)gdb(1) uses 'target remote > > > >> > > > > :' (like any other TCP remote) to connect to > > > >> > > > > the proxy server.=3D20 > > > >> > > > > The NetGDB v1 protocol speaks the literal GDB remote > > > >> > > > > serial protocol, and uses a 1:1 relationship between GDB > > > >> > > > > packets and sequences of debugnet packets (fragmented by > > > >> > > > > MTU). There is no encryption utilized to keep debugging > > > >> > > > > sessions private, so this is only appropriate for local > > > >> > > > > segments or trusted networks. =3D20 > > > >> > > > > Submitted by: John Reimer > > > >> > > > > (earlier version) Discussed some with: emaste, markj > > > >> > > > > Relnotes: sure > > > >> > > > > Differential Revision: > > > >> > > > > https://reviews.freebsd.org/D21568 > > > >> > > > >=3D20 > > > >> > > > > Added: > > > >> > > > > head/share/man/man4/netgdb.4 (contents, props changed) > > > >> > > > > head/sys/gdb/netgdb.c (contents, props changed) > > > >> > > > > head/sys/gdb/netgdb.h (contents, props changed) > > > >> > > > > Modified: > > > >> > > > > head/share/man/man4/Makefile > > > >> > > > > head/share/man/man4/ddb.4 > > > >> > > > > head/sys/amd64/conf/GENERIC > > > >> > > > > head/sys/conf/NOTES > > > >> > > > > head/sys/conf/files > > > >> > > > > head/sys/conf/options > > > >> > > > > head/sys/gdb/gdb.h > > > >> > > > > head/sys/gdb/gdb_int.h > > > >> > > > > head/sys/gdb/gdb_main.c > > > >> > > > > head/sys/gdb/gdb_packet.c > > > >> > > > > head/sys/i386/conf/GENERIC > > > >> > > > > head/sys/kern/subr_kdb.c > > > >> > > > > head/sys/net/debugnet.c > > > >> > > > > head/sys/net/debugnet.h > > > >> > > > > head/sys/net/debugnet_inet.c > > > >> > > > > head/sys/net/debugnet_int.h > > > >> > > > > head/sys/sys/kdb.h > > > >> > > > > head/sys/sys/param.h > > > >> > > > >=3D20 > > > >> > > > > Modified: head/share/man/man4/Makefile > > > >> > > > > =20 > > > >=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D > > > >=20 > > > >> > > > > =20 > > > >> > =20 > > > >=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D > > > >=20 > > > >> > =20 > > > >=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D= > > =3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D3D=3D > > > >=20 > > > >> > =3D3D=3D3D=3D3D=3D3D=3D3D =20 > > > >> > > > > --- head/share/man/man4/Makefile Thu Oct 17 21:25:50 > > > >> > > > > 2019 (r353699) +++ head/share/man/man4/Makefile > > > >> > > > > Thu Oct 17 21:33:01 2019 (r353700) @@ -307,6 +307,7 > > > >> > > > > @@ MAN=3D3D aac.4 \ net80211.4 \ > > > >> > > > > netdump.4 \ > > > >> > > > > netfpga10g_nf10bmac.4 \ > > > >> > > > > + netgdb.4 \ > > > >> > > > > netgraph.4 \ > > > >> > > > > netintro.4 \ > > > >> > > > > netmap.4 \ > > > >> > > > > =3D20 =20 > > > >> > > > [...] > > > >> > > >=3D20 > > > >> > > >=3D20 > > > >> > > > Having "nooptions NETGDB # netgdb(4) client > > > >> > > > support" defined in my kernel config file, buildkernel fails > > > >> > > > with the error shown below. > > > >> > > >=3D20 > > > >> > > > [...] > > > >> > > > --- debugnet.o --- > > > >> > > > /usr/src/sys/net/debugnet.c:662:4: error: implicit > > > >> > > > declaration of function 'db_printf' is invalid in C99 > > > >> > > > [-Werror,-Wimplicit-function-declaration] db_printf("%s: > > > >> > > > Could not get route for that server.\n", ^ > > > >> > > > /usr/src/sys/net/debugnet.c:662:4: note: did you mean > > > >> > > > 'if_printf'? /usr/src/sys/net/if_var.h:679:5: note: > > > >> > > > 'if_printf' declared here int if_printf(struct ifnet *, > > > >> > > > const char *, ...) __printflike(2, 3); ^ 1 error generated. > > > >> > > > =3D20 =20 > > > >> > >=3D20 > > > >> > > And I also had to add "nooptions NETDUMP" to get the kernel to > > > >> > > compile and link. > > > >> > >=3D20 =20 > > > >> > > > > >> > I already had "nooptions NETDUMP" defined. =20 > > > >>=20 > > > >>=20 > > > >> This will fix it. > > > >>=20 > > > >> Index: sys/net/debugnet.c > > > >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > = > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > >> --- sys/net/debugnet.c (revision 353717) > > > >> +++ sys/net/debugnet.c (working copy) > > > >> @@ -659,8 +659,10 @@ > > > >> CURVNET_RESTORE(); > > > >> =20 > > > >> if (dest_rt =3D=3D NULL) { > > > >> +#ifdef DDB > > > >> db_printf("%s: Could not get route for > > > >> that server.\n", __func__); > > > >> +#endif > > > >> error =3D ENOENT; > > > >> goto cleanup; > > > >> } > > > >>=20 > > > >>=20 > > > >> =20 > > > > > > > >Doesn't work, either. > > > >The kernel config in question doesn't have any debugging features > > > >enabled, so nooptions DDB is alos part of the configuration. > > > >buildkernel still fails. =20 > > >=20 > > > Hmm. Fixed my firewall build. My non-test firewall kernel config has > > > the same nooption. > > >=20 > > > What other options/nooptions and patches are applied to your tree? > > >=20 > > >=20 > > > > I use the vanilla CURRENT tree without any extra pachtes. There are > > lots of other nooptions, especially for drivers I do not need and > > debugging is completely turned off. > > > > Having "nooptions DDB" commeted out fixes the build for me. > > Anticipating the correct portion of my config file, here are those > > nooptions I deem relevant. The nooptions are kept in a file added to > > GENERIC afterwards: > > > > [... sorry for the line wrap] > > nooptions DDB_CTF # Kernel ELF linker loads CTF > > data nooptions INCLUDE_CONFIG_FILE # Include this file in > > kernel #options RACCT # Resource accounting > > framework #options RACCT_DEFAULT_TO_DISABLED # Set > > kern.racct.enable=3D0 by default #options RCTL > > # Resource limits > > > > # Debugging support. Always need this: > > #options KDB # Enable kernel debugger > > support. #options KDB_TRACE # Print a stack trace > > for a panic. # For full debugger support use (turn off in stable > > branch): nooptions BUF_TRACKING # Track buffer history > > nooptions DDB # Support DDB. > > nooptions FULL_BUF_TRACKING # Track more buffer history > > nooptions GDB # Support remote GDB. > > nooptions DEADLKRES # Enable the deadlock resolver > > nooptions INVARIANTS # Enable calls of extra sanity > > checking nooptions INVARIANT_SUPPORT # Extra sanity checks > > of internal structures, required by INVARIANTS nooptions WITNESS > > # Enable checks to detect deadlocks and cycles nooptions > > WITNESS_SKIPSPIN # Don't run witness on spinlocks for > > speed nooptions MALLOC_DEBUG_MAXZONES # Separate malloc(9) > > zones nooptions VERBOSE_SYSINIT # Support debug.verbose_sysinit, > > off by default > > > > # Kernel Sanitizers > > #options COVERAGE # Generic kernel coverage. Used > > by KCOV #options KCOV # Kernel Coverage > > Sanitizer # Warning: KUBSAN can result in a kernel too large for loader > > to load #options KUBSAN # Kernel Undefined > > Behavior Sanitizer > > > > # Kernel dump features. > > #options EKCD # Support for encrypted kernel > > dumps #options GZIO # gzip-compressed kernel > > and user dumps #options ZSTDIO # > > zstd-compressed kernel and user dumps nooptions NETDUMP > > # netdump(4) client support nooptions NETGDB > > # netgdb(4) client support > > > > # Make an SMP-capable kernel by default > > #options SMP # Symmetric MultiProcessor > > Kernel #options EARLY_AP_STARTUP > > > > Similar (but not identical to) my non-test firewall config. > > Is the error with the patch the same? The reason I ask is that if DDB is > undefined, line 44, which includes ddb/ddb.h and defines db_printf() in > line 216 of that file, would solve your problem. The fact it doesn't > suggests one of two things: 1) The error now is not the same any more, OR > 2) The patch I provided wasn't applied. > > Anticipating, can you list the contents of /usr/obj/usr/src/amd64.amd64/sys/ > YOUR_KERNEL/opt_ddb.h, please? Don't use the pathname I provide above. Use > the actual pathname on your computer to find that file. Use the find > command if you have to. Update to r353742 or later instead. -- Cheers, Cy Schubert FreeBSD UNIX: Web: http://www.FreeBSD.org The need of the many outweighs the greed of the few.