Crash on reconfigure with kernel table

Toke Høiland-Jørgensen toke at toke.dk
Tue Feb 6 20:50:52 CET 2018


While testing the babel sadr patch, I ran into this crash on reconfigure
of the kernel protocol:

Basically, start with this config:

router id 62.168.0.1;
debug protocols all;

protocol device {}

ipv6 sadr table tab1;

protocol kernel {
  ipv6 sadr {
    table tab1;
    export all;
    import all;
  };
  learn yes;
}


Then change it to this (removing sadr from both table type and the
protocol spec):

router id 62.168.0.1;
debug protocols all;

protocol device {}

ipv6 table tab1;

protocol kernel {
  ipv6 {
    table tab1;
    export all;
    import all;
  };
  learn yes;
}


And issue a 'configure' in birdc. This gives the following:


bird: kernel1: Scanning routing table
bird: Assertion 'f->addr_type == a->type' failed at nest/rt-fib.c:227

Program received signal SIGABRT, Aborted.
0x00007ffff75bb860 in raise () from /usr/lib/libc.so.6
(gdb) bt
#0  0x00007ffff75bb860 in raise () from /usr/lib/libc.so.6
#1  0x00007ffff75bcec9 in abort () from /usr/lib/libc.so.6
#2  0x000055555560a455 in bug (msg=0x55555561e0e0 "Assertion '%s' failed at %s:%d") at sysdep/unix/log.c:213
#3  0x00005555555a4da6 in fib_find (f=0x55555585fa60, a=0x55555586a0a8) at nest/rt-fib.c:227
#4  0x00005555555a5ae6 in fib_get (f=0x55555585fa60, a=0x55555586a0a8) at nest/rt-fib.c:278
#5  0x00005555556079d0 in net_get (tab=0x55555585fa50, addr=0x55555586a0a8) at ./nest/route.h:289
#6  0x0000555555608204 in krt_learn_scan (p=0x55555585f920, e=0x55555586c290) at sysdep/unix/krt.c:319
#7  0x0000555555608d12 in krt_got_route (p=0x55555585f920, e=0x55555586c290) at sysdep/unix/krt.c:640
#8  0x00005555555ffd59 in nl_announce_route (s=0x7fffffffe290) at sysdep/linux/netlink.c:1423
#9  0x00005555556004c7 in nl_parse_route (s=0x7fffffffe290, h=0x55555585fe08) at sysdep/linux/netlink.c:1584
#10 0x0000555555601013 in krt_do_scan (p=0x0) at sysdep/linux/netlink.c:1829
#11 0x0000555555609397 in krt_scan (t=0x555555869720) at sysdep/unix/krt.c:835
#12 0x0000555555593667 in timers_fire (loop=0x5555558506a0 <main_timeloop>) at lib/timer.c:235
#13 0x000055555560707e in io_loop () at sysdep/unix/io.c:2169
#14 0x000055555560c4d6 in main (argc=6, argv=0x7fffffffe4d8) at sysdep/unix/main.c:892


-Toke


More information about the Bird-users mailing list