Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[VPP-1960] vpp crash when del export fib entry #668

Open
vvalderrv opened this issue Jan 7, 2025 · 0 comments
Open

[VPP-1960] vpp crash when del export fib entry #668

vvalderrv opened this issue Jan 7, 2025 · 0 comments

Comments

@vvalderrv
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant