dhcpcd-discuss

Re: [RFC]Routes are stored as a linked list

Donald Sharp

Mon Mar 04 02:02:52 2019

sharpd@janelle:~/dhcpcd$ ps -ef | grep dhcpcd
root     28135     1 26 01:49 ?        00:03:22 /home/sharpd/dhcpcd/src/dhcpcd
sharpd   28262 27679  0 02:02 pts/3    00:00:00 grep dhcpcd
sharpd@janelle:~/dhcpcd$

After 1 million routes installed/removed

donald

On Sun, Mar 3, 2019 at 8:51 PM Donald Sharp <sharpd@xxxxxxxxxxxxxxxxxxx> wrote:
>
> ok I actually looked at the crash and something was not being rebuilt
> right since the decode and following the code in the debugger made no
> sense.  I did a make clean and reran:
>
> (gdb) r
> Starting program: /home/sharpd/dhcpcd/src/dhcpcd
> main: control_open: Connection refused
> main: mkdir `/var/db/dhcpcd': No such file or directory
> [Detaching after vfork from child process 28127]
> script_runreason: /libexec/dhcpcd-run-hooks: No such file or directory
> [Detaching after vfork from child process 28128]
> script_runreason: /libexec/dhcpcd-run-hooks: No such file or directory
> [Detaching after vfork from child process 28129]
> script_runreason: /libexec/dhcpcd-run-hooks: No such file or directory
> [Detaching after vfork from child process 28130]
> script_runreason: /libexec/dhcpcd-run-hooks: No such file or directory
> [Detaching after vfork from child process 28131]
> script_runreason: /libexec/dhcpcd-run-hooks: No such file or directory
> [Detaching after vfork from child process 28132]
> script_runreason: /libexec/dhcpcd-run-hooks: No such file or directory
> /var/db/dhcpcd/duid: No such file or directory
> DUID 00:03:00:01:2a:6e:64:8a:fe:b6
> dummy0: IAID 64:8a:fe:b6
> eth0: IAID 93:8f:10:e9
> docker0: waiting for carrier
> dummy0: soliciting a DHCP lease
> eth0: soliciting an IPv6 router
> eth0: soliciting a DHCP lease
> dummy0: soliciting an IPv6 router
> eth0: Router Advertisement from fe80::cad7:19ff:fe0a:fdfd
> ipv6_readsecret: /var/db/dhcpcd/secret: No such file or directory
> ipv6_newaddr: No such file or directory
> eth0: adding default route via fe80::cad7:19ff:fe0a:fdfd
> [Detaching after vfork from child process 28133]
> script_runreason: /libexec/dhcpcd-run-hooks: No such file or directory
> eth0: soliciting a DHCPv6 lease
> eth0: offered 192.168.201.137 from 192.168.201.1 `ecosystem.home.cisco.com'
> eth0: probing address 192.168.201.137/24
> eth0: leased 192.168.201.137 for 86400 seconds
> dhcp_bind: No such file or directory
> eth0: adding route to 192.168.201.0/24
> eth0: adding default route via 192.168.201.1
> [Detaching after vfork from child process 28134]
> script_runreason: /libexec/dhcpcd-run-hooks: No such file or directory
> [Detaching after fork from child process 28135]
> forked to background, child pid 28135
> [Inferior 1 (process 28124) exited normally]
> (gdb)
>
> I'm going to install/delete a bunch of routes now.
>
>
> donald
>
> On Sun, Mar 3, 2019 at 8:29 PM Donald Sharp <sharpd@xxxxxxxxxxxxxxxxxxx> wrote:
> >
> > (gdb) bt
> > #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
> > #1  0x0000ffffbf57d8e8 in __GI_abort () at abort.c:79
> > #2  0x0000ffffbf588f08 in __assert_fail_base (
> >     fmt=0xffffbf682f18 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
> >     assertion=assertion@entry=0xaaaaaaadf9c8 "rt->rt_ifp != NULL",
> > file=file@entry=0xaaaaaaadf8e8 "route.c",
> >     line=line@entry=345, function=function@entry=0xaaaaaaadf8b8
> > <__PRETTY_FUNCTION__.8824> "rt_recvrt")
> >     at assert.c:92
> > #3  0x0000ffffbf588f70 in __GI___assert_fail
> > (assertion=assertion@entry=0xaaaaaaadf9c8 "rt->rt_ifp != NULL",
> >     file=file@entry=0xaaaaaaadf8e8 "route.c", line=line@entry=345,
> >     function=function@entry=0xaaaaaaadf8b8 <__PRETTY_FUNCTION__.8824>
> > "rt_recvrt") at assert.c:101
> > #4  0x0000aaaaaaabdc48 in rt_recvrt (cmd=cmd@entry=1,
> > rt=rt@entry=0xffffffffad60) at route.c:370
> > #5  0x0000aaaaaaac28d0 in _if_initrt (ctx=<optimized out>,
> > ifp=<optimized out>, nlm=<optimized out>)
> >     at if-linux.c:1294
> > #6  0x0000aaaaaaac3064 in get_netlink (ctx=ctx@entry=0xfffffffff308,
> > iov=iov@entry=0xffffffffaf18,
> >     ifp=ifp@entry=0x0, fd=fd@entry=9, flags=flags@entry=0,
> >     callback=callback@entry=0xaaaaaaac2888 <_if_initrt>) at if-linux.c:389
> > #7  0x0000aaaaaaac3248 in send_netlink (ctx=ctx@entry=0xfffffffff308,
> > ifp=ifp@entry=0x0,
> >     protocol=protocol@entry=0, hdr=hdr@entry=0xffffffffef90,
> >     callback=callback@entry=0xaaaaaaac2888 <_if_initrt>) at if-linux.c:857
> > #8  0x0000aaaaaaac3bd8 in if_initrt (ctx=0xfffffffff308,
> > af=af@entry=10) at if-linux.c:1311
> > #9  0x0000aaaaaaacfde8 in ipv6_start (ifp=0xaaaaaab17020) at ipv6.c:1650
> > #10 0x0000aaaaaaab3874 in dhcpcd_startinterface (arg=0xaaaaaab17020)
> > at dhcpcd.c:970
> > #11 0x0000aaaaaaab5af0 in eloop_start (eloop=0xaaaaaab169c0,
> > signals=0xfffffffff408) at eloop.c:901
> > #12 0x0000aaaaaaab09dc in main (argc=<optimized out>,
> > argv=0xfffffffff6a8) at dhcpcd.c:2102
> > (gdb)
> >
> > donald
> >
> > On Sun, Mar 3, 2019 at 8:19 PM Roy Marples <roy@xxxxxxxxxxxx> wrote:
> > >
> > > On 04/03/2019 01:07, Donald Sharp wrote:
> > > > Program received signal SIGSEGV, Segmentation fault.
> > > > 0x0000aaaaaaabdb04 in rt_recvrt (cmd=cmd@entry=1,
> > > > rt=rt@entry=0xffffffffad60) at route.c:345
> > > > 345 ctx = rt->rt_ifp->ctx;
> > > > (gdb)
> > > >
> > > > (gdb) p rt->rt_ifp
> > > > $1 = (struct interface *) 0x0
> > >
> > > Hmmm, that should never be NULL.
> > > I've sprinkled some more asserts to trap this.
> > > Can provide a backtrace from them please?
> > >
> > > Roy

Follow-Ups:
Re: [RFC]Routes are stored as a linked listRoy Marples
References:
[RFC]Routes are stored as a linked listDonald Sharp
Re: [RFC]Routes are stored as a linked listRoy Marples
Re: [RFC]Routes are stored as a linked listDonald Sharp
Re: [RFC]Routes are stored as a linked listRoy Marples
Re: [RFC]Routes are stored as a linked listRoy Marples
Re: [RFC]Routes are stored as a linked listDonald Sharp
Re: [RFC]Routes are stored as a linked listRoy Marples
Re: [RFC]Routes are stored as a linked listDonald Sharp
Re: [RFC]Routes are stored as a linked listDonald Sharp
Archive administrator: postmaster@marples.name