-
Bug
-
Resolution: Unresolved
-
Medium
-
None
-
20.09
-
None
-
vpp# show inter addr
eio-1 (up):
5.5.5.2/24
eio-2 (up):
6.6.6.2/24 table 2config cli:
vpp# set interface ip address eio-1 5.5.5.2/24
vpp# set interface ip table eio-2 2
vpp# set interface ip address eio-2 6.6.6.2/24
vpp# ip route add 6.6.6.0/24 table 0 via 0.0.0.0 eio-2
vpp# ip route add 7.7.7.0/24 table 0 via 6.6.6.2vpp# show inter addr eio-1 (up): 5.5.5.2/24 eio-2 (up): 6.6.6.2/24 table 2 config cli: vpp# set interface ip address eio-1 5.5.5.2/24 vpp# set interface ip table eio-2 2 vpp# set interface ip address eio-2 6.6.6.2/24 vpp# ip route add 6.6.6.0/24 table 0 via 0.0.0.0 eio-2 vpp# ip route add 7.7.7.0/24 table 0 via 6.6.6.2
1. The route configuration is as follows:
vrf 0:
6.6.6.0/24 fib:0 index:20 locks:2
src:CLI refs:1 flags:attached,import,
index:23 locks:2 flags:shared, uPRF-list:23 len:1 itfs:[2, ]
index:23 pl-index:23 ipv4 weight=1 attached: oper-flags:resolved,
eio-2
forwarding: unicast-ip4-chain
[@0]: dpo-load-balance: [proto:ip4 index:21 buckets:1 uRPF:23 to:[0:0]]
[0] [@4]: ipv4-glean: eio-2
6.6.6.2/32 fib:0 index:21 locks:4
src:attached_export refs:1 flags:connected,exclusive,local,
index:25 locks:2 flags:local,exclusive, uPRF-list:25 len:0 itfs:[]
index:25 pl-index:25 ipv4 weight=1 receive: oper-flags:resolved, cfg-flags:exclusive,local,
[@0]: dpo-receive
src:recursive-resolution cover:-1 refs:1
forwarding: unicast-ip4-chain
[@0]: dpo-load-balance: [proto:ip4 index:22 buckets:1 uRPF:25 to:[0:0]]
[0] [@2]: dpo-receive
2.Problem description:
* When deleting import fib entry (6.6.6.0/24) , it will del the attached_export src of fib entry 6.6.6.2/32. Then the fib entry 6.6.6.2/32 will reactive the src RR, which will look up its cover. And it will find the fib entry (6.6.6.0/24) as RR's cover, which causes coredump, as the path_list of the fib entry * (6.6.6.0/24) was already cleared.
4.Possible solution which needs examine:
delete the hash (fib->fib_entry_by_dst_address) of import fib entry (6.6.6.0/24) before deleting the attached_export src of the fib entry 6.6.6.2/32
3.coredump:
** received signal SIGSEGV, PC 0x7f60f6471ca9, faulting address 0x7f90b664dea8======Core Dump start!=======
======Core Dump at : 20201231 14:18:15.208599
#0#: [/lib64/libvlib.so.0(unix_dump_stack+0x5c) [0x7f60f683b47c]]
Addr2Line /lib64/libvlib.so.0 0x7c47c
0x000000000007c47c : unix_dump_stack at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vlib/unix/main.c:287
#1#: [/lib64/libvlib.so.0(+0x7c5e0) [0x7f60f683b5e0]]
Addr2Line /lib64/libvlib.so.0 0x7c5e0
0x000000000007c5e0 : unix_signal_handler at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vlib/unix/main.c:356
#2#: [/lib64/libpthread.so.0(+0xf5f0) [0x7f60f4ddb5f0]]
Addr2Line /lib64/libpthread.so.0 0xf5f0
0x000000000000f5f0 : __restore_rt at sigaction.c:?
#3#: [/lib64/libvnet.so.0(fib_path_list_recursive_loop_detect+0x29) [0x7f60f6471ca9]]
Addr2Line /lib64/libvnet.so.0 0x477ca9
0x0000000000477ca9 : fib_path_list_recursive_loop_detect at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/fib/fib_path_list.c:1182
#4#: [/lib64/libvnet.so.0(+0x472e1d) [0x7f60f646ce1d]]
Addr2Line /lib64/libvnet.so.0 0x472e1d
0x0000000000472e1d : fib_entry_src_rr_use_covers_pl at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/fib/fib_entry_src_rr.c:98
#5#: [/lib64/libvnet.so.0(+0x472f7b) [0x7f60f646cf7b]]
Addr2Line /lib64/libvnet.so.0 0x472f7b
0x0000000000472f7b : fib_entry_src_rr_activate at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/fib/fib_entry_src_rr.c:158
#6#: [/lib64/libvnet.so.0(fib_entry_src_action_activate+0x65) [0x7f60f646c705]]
Addr2Line /lib64/libvnet.so.0 0x472705
0x0000000000472705 : fib_entry_src_action_activate at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/fib/fib_entry_src.c:667
#7#: [/lib64/libvnet.so.0(fib_entry_special_remove+0x71) [0x7f60f646a951]]
Addr2Line /lib64/libvnet.so.0 0x470951
0x0000000000470951 : fib_entry_special_remove at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/fib/fib_entry.c:1091
#8#: [/lib64/libvnet.so.0(+0x466e64) [0x7f60f6460e64]]
Addr2Line /lib64/libvnet.so.0 0x466e64
0x0000000000466e64 : fib_table_entry_delete_i at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/fib/fib_table.c:811
#9#: [/lib64/libvnet.so.0(fib_attached_export_purge+0x92) [0x7f60f6477de2]]
Addr2Line /lib64/libvnet.so.0 0x47dde2
0x000000000047dde2 : fib_attached_export_purge at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/fib/fib_attached_export.c:346 (discriminator 2)
#10#: [/lib64/libvnet.so.0(+0x46febd) [0x7f60f6469ebd]]
Addr2Line /lib64/libvnet.so.0 0x46febd
0x000000000046febd : fib_entry_post_flag_update_actions at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/fib/fib_entry.c:636
#11#: [/lib64/libvnet.so.0(fib_entry_path_remove+0xbc) [0x7f60f646a8bc]]
Addr2Line /lib64/libvnet.so.0 0x4708bc
0x00000000004708bc : fib_entry_path_remove at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/fib/fib_entry.c:982
#12#: [/lib64/libvnet.so.0(fib_table_entry_path_remove2+0x11e) [0x7f60f6461a2e]]
Addr2Line /lib64/libvnet.so.0 0x467a2e
0x0000000000467a2e : fib_table_entry_path_remove2 at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/fib/fib_table.c:639
#13#: [/lib64/libvnet.so.0(add_del_src_route_t_handler+0x1ea) [0x7f60f622307a]]
Addr2Line /lib64/libvnet.so.0 0x22907a
0x000000000022907a : os_get_thread_index at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/ip/ip_api.c:1293 (inlined by) clib_mem_get_per_cpu_heap at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vppinfra/mem.h:57 (inlined by) clib_mem_free at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vppinfra/mem.h:178 (inlined by) add_del_src_route_t_handler at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/ip/ip_api.c:1296
#14#: [/lib64/libvnet.so.0(ip6_add_del_src_route_t_handler+0x26c) [0x7f60f622404c]]
Addr2Line /lib64/libvnet.so.0 0x22a04c
0x000000000022a04c : ip6_add_del_src_route_t_handler at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/ip/ip_api.c:1715
#15#: [/lib64/libvnet.so.0(ip6_add_del_adapter_route+0x26d) [0x7f60f62284cd]]
Addr2Line /lib64/libvnet.so.0 0x22e4cd
0x000000000022e4cd : ip6_add_del_adapter_route at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/ip/ip_api.c:3173
#16#: [/lib64/libvnet.so.0(ip6_add_del_adapter_route_t_handler+0xfe) [0x7f60f62286de]]
Addr2Line /lib64/libvnet.so.0 0x22e6de
0x000000000022e6de : ip6_add_del_adapter_route_t_handler at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/ip/ip_api.c:3224
#17#: [/lib64/libvnet.so.0(vl_api_ip_add_del_src_route_t_handler+0x7d) [0x7f60f622a92d]]
Addr2Line /lib64/libvnet.so.0 0x23092d
0x000000000023092d : vl_api_ip_add_del_src_route_t_handler at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vnet/ip/ip_api.c:3679
#18#: [/lib64/libvlibmemory.so.0(vl_msg_api_handler_with_vm_node+0x63) [0x7f60f6aa4083]]
Addr2Line /lib64/libvlibmemory.so.0 0x47083
0x0000000000047083 : vl_msg_api_handler_with_vm_node at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vlibapi/api_shared.c:503
#19#: [/lib64/libvlibmemory.so.0(+0x54473) [0x7f60f6ab1473]]
Addr2Line /lib64/libvlibmemory.so.0 0x54473
0x0000000000054473 : clib_cpu_time_now at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vppinfra/time.h:76 (inlined by) clib_time_now at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vppinfra/time.h:204 (inlined by) vlib_time_now at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vlib/main.h:199 (inlined by) memclnt_process at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vlibmemory/memory_vlib.c:557
#20#: [/lib64/libvlib.so.0(+0x2d126) [0x7f60f67ec126]]
Addr2Line /lib64/libvlib.so.0 0x2d126
0x000000000002d126 : vlib_process_bootstrap at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vlib/main.c:1318
#21#: [/lib64/libvppinfra.so.0(+0x28948) [0x7f60f551a948]]
Addr2Line /lib64/libvppinfra.so.0 0x28948
0x0000000000028948 : clib_calljmp at /home/wangj/hnfs/code/frame/vpp-17.07/extras/rpm/vpp-17.07/build-data/../src/vppinfra/longjmp.S:113