Re: [RFC]Routes are stored as a linked list
Donald Sharp
Mon Mar 04 01:50:59 2019
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
Archive administrator: postmaster@marples.name