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

Crash during ip6 route add/del with traffic

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Highest Highest
    • None
    • None
    • None
    • None

      (gdb) bt
      #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
      #1 0x00007fdfe0b16801 in __GI_abort () at abort.c:79
      #2 0x0000564c45de83ee in os_panic () at /home/pml/vpp/vpp_new/src/vpp/vnet/main.c:366
      #3 0x00007fdfe0ef9940 in debugger () at /home/pml/vpp/vpp_new/src/vppinfra/error.c:84
      #4 0x00007fdfe0ef9d15 in _clib_error (how_to_die=2, function_name=0x0, line_number=0, fmt=0x7fdfe26a6740 "%s:%d (%s) assertion `%s' fails") at /home/pml/vpp/vpp_new/src/vppinfra/error.c:143
      #5 0x00007fdfe1a81ba6 in ip6_fib_table_fwding_lookup (fib_index=0, dst=0x1002725d66) at /home/pml/vpp/vpp_new/src/vnet/fib/ip6_fib.h:100
      #6 0x00007fdfe1a82751 in ip6_lookup_inline (vm=0x7fdfa2bbf680, node=0x7fdfa3c07e40, frame=0x7fdfa39b3e00) at /home/pml/vpp/vpp_new/src/vnet/ip/ip6_forward.h:238
      #7 0x00007fdfe1a8502b in ip6_lookup_node_fn_avx2 (vm=0x7fdfa2bbf680, node=0x7fdfa3c07e40, frame=0x7fdfa39b3e00) at /home/pml/vpp/vpp_new/src/vnet/ip/ip6_forward.c:725
      #8 0x00007fdfe145abbb in dispatch_node (vm=0x7fdfa2bbf680, node=0x7fdfa3c07e40, type=VLIB_NODE_TYPE_INTERNAL, dispatch_state=VLIB_NODE_STATE_POLLING, frame=0x7fdfa39b3e00, last_time_stamp=2587675900683492)
      at /home/pml/vpp/vpp_new/src/vlib/main.c:1238
      #9 0x00007fdfe145b37c in dispatch_pending_node (vm=0x7fdfa2bbf680, pending_frame_index=2, last_time_stamp=2587675900683492) at /home/pml/vpp/vpp_new/src/vlib/main.c:1406
      #10 0x00007fdfe145d01a in vlib_main_or_worker_loop (vm=0x7fdfa2bbf680, is_main=0) at /home/pml/vpp/vpp_new/src/vlib/main.c:1865
      #11 0x00007fdfe145da71 in vlib_worker_loop (vm=0x7fdfa2bbf680) at /home/pml/vpp/vpp_new/src/vlib/main.c:1999
      #12 0x00007fdfe149d13b in vlib_worker_thread_fn (arg=0x7fdf9fdec800) at /home/pml/vpp/vpp_new/src/vlib/threads.c:1799
      #13 0x00007fdfe0f18334 in clib_calljmp () at /home/pml/vpp/vpp_new/src/vppinfra/longjmp.S:123
      #14 0x00007fde27ffece0 in ?? ()
      #15 0x00007fdfe1497363 in vlib_worker_thread_bootstrap_fn (arg=0x7fdf9fdec800) at /home/pml/vpp/vpp_new/src/vlib/threads.c:588
      Backtrace stopped: previous frame inner to this frame (corrupt stack?)

      I read the code and found that the vector 'prefix_lengths_in_search_order' is modified in funtion ip6_fib_table_fwding_dpo_update when ip6 route is configured in main thread but accessed by function ip6_fib_table_fwding_lookup when ip6 packets are forwarding in worker thread without lock to proctect it . It may be the reason to the crash.

            Unassigned Unassigned
            nranns Neale Ranns
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: