Skip to content

[VPP-1881] Crash during ip6 route add/del with traffic #3344

Open
@vvalderrv

Description

@vvalderrv

Description

(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.

Assignee

Unassigned

Reporter

Neale Ranns

Comments

No comments.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions