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 #3422

Open
vvalderrv opened this issue Feb 2, 2025 · 0 comments
Open

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

vvalderrv opened this issue Feb 2, 2025 · 0 comments

Comments

@vvalderrv
Copy link
Contributor

Description

**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

Assignee

hu jihui

Reporter

hu jihui

Comments

No comments.

Original issue: https://jira.fd.io/browse/VPP-1960

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