Crash on reconfigure with kernel table
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
On Tue, Feb 06, 2018 at 08:50:52PM +0100, Toke Høiland-Jørgensen wrote:
While testing the babel sadr patch, I ran into this crash on reconfigure of the kernel protocol:
Hi Likely it is reconfiguration of table tab1 (changing net type) that does not work. You could try to rename it during net type change. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
Ondrej Zajicek <santiago@crfreenet.org> writes:
On Tue, Feb 06, 2018 at 08:50:52PM +0100, Toke Høiland-Jørgensen wrote:
While testing the babel sadr patch, I ran into this crash on reconfigure of the kernel protocol:
Hi
Likely it is reconfiguration of table tab1 (changing net type) that does not work. You could try to rename it during net type change.
Sure, it works fine if I rename the table, or just switch the protocol to a different one. But, erm, it shouldn't crash even if I don't, should it? In the worst case it should refuse the reconfigure... Feels like it's a pretty natural thing to decide "I want ipv6 sadr routes now, let's just change every instance of 'ipv6' to 'ipv6 sadr'" and expect it to work :) -Toke
On Wed, Feb 07, 2018 at 09:22:49AM +0100, Toke Høiland-Jørgensen wrote:
Ondrej Zajicek <santiago@crfreenet.org> writes:
On Tue, Feb 06, 2018 at 08:50:52PM +0100, Toke Høiland-Jørgensen wrote:
While testing the babel sadr patch, I ran into this crash on reconfigure of the kernel protocol:
Hi
Likely it is reconfiguration of table tab1 (changing net type) that does not work. You could try to rename it during net type change.
Sure, it works fine if I rename the table, or just switch the protocol to a different one. But, erm, it shouldn't crash even if I don't, should it? In the worst case it should refuse the reconfigure...
Of course, i just meant to distinguish between 'crash due to reconfiguration of kernel protocol' and 'crash due to reconfiguration of table'. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
Ondrej Zajicek <santiago@crfreenet.org> writes:
On Wed, Feb 07, 2018 at 09:22:49AM +0100, Toke Høiland-Jørgensen wrote:
Ondrej Zajicek <santiago@crfreenet.org> writes:
On Tue, Feb 06, 2018 at 08:50:52PM +0100, Toke Høiland-Jørgensen wrote:
While testing the babel sadr patch, I ran into this crash on reconfigure of the kernel protocol:
Hi
Likely it is reconfiguration of table tab1 (changing net type) that does not work. You could try to rename it during net type change.
Sure, it works fine if I rename the table, or just switch the protocol to a different one. But, erm, it shouldn't crash even if I don't, should it? In the worst case it should refuse the reconfigure...
Of course, i just meant to distinguish between 'crash due to reconfiguration of kernel protocol' and 'crash due to reconfiguration of table'.
Ah, right; well I just assumed it was related to the kernel protocol since the crash came from there :) -Toke
participants (2)
-
Ondrej Zajicek -
Toke Høiland-Jørgensen