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-1881] Crash during ip6 route add/del with traffic #110

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

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

vvalderrv opened this issue Jan 6, 2025 · 0 comments

Comments

@vvalderrv
Copy link
Contributor

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

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