Uploaded image for project: 'vpp'
  1. vpp
  2. VPP-1960

vpp crash when del export fib entry

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • None
    • 20.09
    • VNET
    • None

      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

            hu10239838 hu jihui
            hu10239838 hu jihui
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:

                Estimated:
                Original Estimate - 1 day, 2 hours
                1d 2h
                Remaining:
                Remaining Estimate - 1 day
                1d
                Logged:
                Time Spent - Not Specified Time Not Required
                Not Specified