Re: ifconfig dumps core and gdb uses an undefined symbol
Date: Wed, 14 Jun 2023 10:05:31 UTC
> On 14 Jun 2023, at 10:53, Gary Jennejohn <garyj@gmx.de> wrote: > > On Wed, 14 Jun 2023 09:01:35 +0000 > Gary Jennejohn <garyj@gmx.de <mailto:garyj@gmx.de>> wrote: > >> On Wed, 14 Jun 2023 09:09:04 +0100 >> Alexander Chernikov <melifaro@FreeBSD.org> wrote: >> >>>> On 14 Jun 2023, at 08:59, Gary Jennejohn <garyj@gmx.de> wrote: >>> Hi Gary, >>>> >>>> So, now I have a new problem with current. >>>> >>>> I just now updated my current sources and ran buildworld and buildkernel, >>>> since Gleb fixed the WITHOUT_PF problem. >>>> >>>> After installing the new world and kernel I see that ifconfig is dumping >>>> a core, apparently when it tries to show lo0, since re0 is correctly >>>> shown: >>>> >>>> ifconfig >>>> re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 4088 options=82098<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE> >>>> ether redacted >>>> inet 192.168.178.XXX netmask 0xffffff00 broadcast 192.168.178.255 >>>> Segmentation fault (core dumped) >>> Could you please try to narrow down the crashing command? e.g. >>> Ifconfig lo0 >>> Ifconfig lo0 net >>> Ifconfig lo0 inet6 >>> Could you try to rebuild ifconfig w/o netlink (e.g. set WITHOUT_NETLINK=yes in the make.conf & make -C sbin/ifconfig clean all install) and see if the new binary works? >>> >> >> I already have WITHOUT_NETLINK=yes in my /etc/src.conf. >> >> I didn't install ifconfig. I simply started it from the build directory. >> >> ifconfig lo0 shows the settings for lo0 and then dumps core. >> > > After your most recent changes "ifconfig re0" and "ifconfg lo0" don't > result in any errors. But "ifconfig" alone still results in a core > dump, which per gdb is happening in the strlcpy() call at in_status_tunnel() > in af_inet.c. Indeed. diff --git a/sbin/ifconfig/ifconfig.c b/sbin/ifconfig/ifconfig.c index d30d3e1909ae..6a80ad5763b2 100644 --- a/sbin/ifconfig/ifconfig.c +++ b/sbin/ifconfig/ifconfig.c @@ -822,6 +822,7 @@ list_interfaces_ioctl(if_ctx *ctx) continue; if (!group_member(ifa->ifa_name, args->matchgroup, args->nogroup)) continue; + ctx->ifname = cp; /* * Are we just listing the interfaces? */ Does this one fix the crash? > > -- > Gary Jennejohn