Hi, The below crash is coming as we involved VPP TCP host stack.
Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffb527f9700 (LWP 2013)] 0x00007ffff71db5c1 in __asan::FakeStack::AddrIsInFakeStack(unsigned long, unsigned long*, unsigned long*) () from /lib64/libasan.so.5 (gdb) bt #0 0x00007ffff71db5c1 in __asan::FakeStack::AddrIsInFakeStack(unsigned long, unsigned long*, unsigned long*) () from /lib64/libasan.so.5 #1 0x00007ffff72c2a11 in __asan::ThreadStackContainsAddress(__sanitizer::ThreadContextBase*, void*) () from /lib64/libasan.so.5 #2 0x00007ffff72dcdc2 in __sanitizer::ThreadRegistry::FindThreadContextLocked(bool (*)(__sanitizer::ThreadContextBase*, void*), void*) () from /lib64/libasan.so.5 #3 0x00007ffff72c3e5a in __asan::FindThreadByStackAddress(unsigned long) () from /lib64/libasan.so.5 #4 0x00007ffff71d5fb6 in __asan::GetStackAddressInformation(unsigned long, unsigned long, __asan::StackAddressDescription*) () from /lib64/libasan.so.5 #5 0x00007ffff71d73f9 in __asan::AddressDescription::AddressDescription(unsigned long, unsigned long, bool) () from /lib64/libasan.so.5 #6 0x00007ffff71d9e51 in __asan::ErrorGeneric::ErrorGeneric(unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, bool, unsigned long) () from /lib64/libasan.so.5 #7 0x00007ffff72bdc2a in __asan::ReportGenericError(unsigned long, unsigned long, unsigned long, unsigned long, bool, unsigned long, unsigned int, bool) () from /lib64/libasan.so.5 #8 0x00007ffff72bf194 in __asan_report_load_n () from /lib64/libasan.so.5 #9 0x00007ffff3f45463 in clib_mask_compare_u16_x64 (v=2, a=0x7fff89fd6150, n_elts=2) at src/vppinfra/vector_funcs.h:24 #10 0x00007ffff3f4571e in clib_mask_compare_u16 (v=2, a=0x7fff89fd6150, mask=0x7ffb51fe2310, n_elts=2) at src/vppinfra/vector_funcs.h:79 #11 0x00007ffff3f45b81 in enqueue_one (vm=0x7fff7314ec40, node=0x7fff89fe1e00, used_elt_bmp=0x7ffb51fe2440, next_index=2, buffers=0x7fff7045a9e0, nexts=0x7fff89fd6150, n_buffers=2, n_left=2, tmp=0x7ffb51fe2480) at src/vlib/buffer_funcs.c:30 #12 0x00007ffff3f6bdae in vlib_buffer_enqueue_to_next_fn_skx (vm=0x7fff7314ec40, node=0x7fff89fe1e00, buffers=0x7fff7045a9e0, nexts=0x7fff89fd6150, count=2) at src/vlib/buffer_funcs.c:110 #13 0x00007ffff58cd2b6 in vlib_buffer_enqueue_to_next (vm=0x7fff7314ec40, node=0x7fff89fe1e00, buffers=0x7fff7045a9e0, nexts=0x7fff89fd6150, count=2) at src/vlib/buffer_node.h:344 #14 0x00007ffff58e4cf1 in session_flush_pending_tx_buffers (wrk=0x7fff8912b780, node=0x7fff89fe1e00) at src/vnet/session/session_node.c:1654 #15 0x00007ffff58e844f in session_queue_node_fn (vm=0x7fff7314ec40, node=0x7fff89fe1e00, frame=0x0) at src/vnet/session/session_node.c:1812 #16 0x00007ffff3e0402f in dispatch_node (vm=0x7fff7314ec40, node=0x7fff89fe1e00, type=VLIB_NODE_TYPE_INPUT, dispatch_state=VLIB_NODE_STATE_POLLING, frame=0x0, last_time_stamp=2463904994699296) at src/vlib/main.c:1024 #17 0x00007ffff3e132a2 in vlib_main_or_worker_loop (vm=0x7fff7314ec40, is_main=0) at src/vlib/main.c:2949 #18 0x00007ffff3e14ec6 in vlib_worker_loop (vm=0x7fff7314ec40) at src/vlib/main.c:3114 #19 0x00007ffff3eac7ff in vlib_worker_thread_fn (arg=0x7fff7050ef40) at src/vlib/threads.c:1560 #20 0x00007ffff34d9504 in clib_calljmp () at src/vppinfra/longjmp.S:123 #21 0x00007ffb527f8230 in ?? () #22 0x00007ffff3ea004f in vlib_worker_thread_bootstrap_fn (arg=0x7fff7050ef40) at src/vlib/threads.c:431 #23 0x00007fff6d41971b in eal_thread_loop () from /opt/opwv/integra/99.9/tools/vpp_2106_asan/bin/../lib/dpdk_plugin.so #24 0x00007ffff38abea5 in start_thread () from /lib64/libpthread.so.0 #25 0x00007ffff2e328cd in clone () from /lib64/libc.so.6 (gdb) :q On Mon, Sep 6, 2021 at 1:52 PM chetan bhasin <chetan.bhasin...@gmail.com> wrote: > Hi Ben, > > Thanks for the direction. Looks like it will fix both the issues as > mentioned above. I will update you with the results after applying the > patch. > > Is there any ASAN related patch inside the TCP host stack code. I will be > sharing the issue shortly with you. > > Thanks, > Chetan > > On Mon, Sep 6, 2021 at 1:22 PM Benoit Ganne (bganne) <bga...@cisco.com> > wrote: > >> It should be fixed in master by https://gerrit.fd.io/r/c/vpp/+/32643 >> >> ben >> >> > -----Original Message----- >> > From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of chetan >> bhasin >> > Sent: lundi 6 septembre 2021 09:36 >> > To: vpp-dev <vpp-dev@lists.fd.io> >> > Subject: [vpp-dev] VPP 2106 with Sanitizer enabled >> > >> > Hi >> > >> > >> > We are facing two errors with vpp2106 and Address Sanitizer enabled. >> > >> > make V=1 -j4 build VPP_EXTRA_CMAKE_ARGS=-DVPP_ENABLE_SANITIZE_ADDR=ON >> > >> > >> > Work-around - After adding the two api’s string_key_sum and >> > strnlen_s_inline to ASAN suppression, vpp2106 comes up fine. >> > >> > >> > Error 1: >> > ---------- >> > Program received signal SIGSEGV, Segmentation fault. >> > 0x00007ffff71db5c1 in __asan::FakeStack::AddrIsInFakeStack(unsigned >> long, >> > unsigned long*, unsigned long*) () >> > from /lib64/libasan.so.5 >> > (gdb) bt >> > #0 0x00007ffff71db5c1 in __asan::FakeStack::AddrIsInFakeStack(unsigned >> > long, unsigned long*, unsigned long*) () >> > from /lib64/libasan.so.5 >> > #1 0x00007ffff72c2a11 in >> > __asan::ThreadStackContainsAddress(__sanitizer::ThreadContextBase*, >> void*) >> > () >> > from /lib64/libasan.so.5 >> > #2 0x00007ffff72dcdc2 in >> > __sanitizer::ThreadRegistry::FindThreadContextLocked(bool >> > (*)(__sanitizer::ThreadContextBase*, void*), void*) () from >> > /lib64/libasan.so.5 >> > #3 0x00007ffff72c3e5a in __asan::FindThreadByStackAddress(unsigned >> long) >> > () from /lib64/libasan.so.5 >> > #4 0x00007ffff71d5fb6 in __asan::GetStackAddressInformation(unsigned >> > long, unsigned long, __asan::StackAddressDescription*) () from >> > /lib64/libasan.so.5 >> > #5 0x00007ffff71d73f9 in >> > __asan::AddressDescription::AddressDescription(unsigned long, unsigned >> > long, bool) () >> > from /lib64/libasan.so.5 >> > #6 0x00007ffff71d9e51 in __asan::ErrorGeneric::ErrorGeneric(unsigned >> int, >> > unsigned long, unsigned long, unsigned long, unsigned long, bool, >> unsigned >> > long) () from /lib64/libasan.so.5 >> > #7 0x00007ffff72bdc2a in __asan::ReportGenericError(unsigned long, >> > unsigned long, unsigned long, unsigned long, bool, unsigned long, >> unsigned >> > int, bool) () from /lib64/libasan.so.5 >> > #8 0x00007ffff720ef9c in __interceptor_strlen.part.0 () from >> > /lib64/libasan.so.5 >> > #9 0x00007ffff34ce2ec in string_key_sum (h=0x7fff6ff6e970, >> > key=140735097062688) >> > at src/vppinfra/hash.c:947 >> > #10 0x00007ffff34caf15 in key_sum (h=0x7fff6ff6e970, >> key=140735097062688) >> > at src/vppinfra/hash.c:333 >> > #11 0x00007ffff34cbf76 in lookup (v=0x7fff6ff6e9b8, key=140735097062688, >> > op=GET, new_value=0x0, old_value=0x0) >> > at src/vppinfra/hash.c:557 >> > #12 0x00007ffff34cc59d in _hash_get_pair (v=0x7fff6ff6e9b8, >> > key=140735097062688) >> > at src/vppinfra/hash.c:653 >> > #13 0x000000000042e885 in lookup_hash_index (name=0x7fff7177c520 >> > "/mem/stat segment") >> > at src/vpp/stats/stat_segment.c:69 >> > #14 0x0000000000431790 in stat_segment_new_entry (name=0x7fff7177c520 >> > "/mem/stat segment", >> > t=STAT_DIR_TYPE_COUNTER_VECTOR_SIMPLE) >> > at src/vpp/stats/stat_segment.c:402 >> > #15 0x00000000004401fb in vlib_stats_register_mem_heap >> > (heap=0x7ffb67e00000) >> > at src/vpp/stats/stat_segment_provider.c:96 >> > #16 0x00000000004327fa in vlib_map_stat_segment_init () >> > at src/vpp/stats/stat_segment.c:493 >> > ---Type <return> to continue, or q <return> to quit--- >> > #17 0x00007ffff3e15d19 in vlib_main (vm=0x7fff6eeff680, >> > input=0x7fff6a0a9f70) >> > at src/vlib/main.c:3272 >> > #18 0x00007ffff3f0d924 in thread0 (arg=140735054608000) >> > at src/vlib/unix/main.c:671 >> > #19 0x00007ffff34d9504 in clib_calljmp () >> > at src/vppinfra/longjmp.S:123 >> > #20 0x00007fffffffc940 in ?? () >> > #21 0x00007ffff3f0e67e in vlib_unix_main (argc=282, argv=0x61d00001a480) >> > at src/vlib/unix/main.c:751 >> > #22 0x000000000040b482 in main (argc=282, argv=0x61d00001a480) >> > at src/vpp/vnet/main.c:336 >> > (gdb) q >> > >> > >> > >> > >> > Error 2: >> > ----------- >> > Program received signal SIGSEGV, Segmentation fault. >> > 0x00007ffff71db5c1 in __asan::FakeStack::AddrIsInFakeStack(unsigned >> long, >> > unsigned long*, unsigned long*) () >> > from /lib64/libasan.so.5 >> > (gdb) bt >> > #0 0x00007ffff71db5c1 in __asan::FakeStack::AddrIsInFakeStack(unsigned >> > long, unsigned long*, unsigned long*) () >> > from /lib64/libasan.so.5 >> > #1 0x00007ffff72c2a11 in >> > __asan::ThreadStackContainsAddress(__sanitizer::ThreadContextBase*, >> void*) >> > () >> > from /lib64/libasan.so.5 >> > #2 0x00007ffff72dcdc2 in >> > __sanitizer::ThreadRegistry::FindThreadContextLocked(bool >> > (*)(__sanitizer::ThreadContextBase*, void*), void*) () from >> > /lib64/libasan.so.5 >> > #3 0x00007ffff72c3e5a in __asan::FindThreadByStackAddress(unsigned >> long) >> > () from /lib64/libasan.so.5 >> > #4 0x00007ffff71d5fb6 in __asan::GetStackAddressInformation(unsigned >> > long, unsigned long, __asan::StackAddressDescription*) () from >> > /lib64/libasan.so.5 >> > #5 0x00007ffff71d73f9 in >> > __asan::AddressDescription::AddressDescription(unsigned long, unsigned >> > long, bool) () >> > from /lib64/libasan.so.5 >> > #6 0x00007ffff71d9e51 in __asan::ErrorGeneric::ErrorGeneric(unsigned >> int, >> > unsigned long, unsigned long, unsigned long, unsigned long, bool, >> unsigned >> > long) () from /lib64/libasan.so.5 >> > #7 0x00007ffff72bdc2a in __asan::ReportGenericError(unsigned long, >> > unsigned long, unsigned long, unsigned long, bool, unsigned long, >> unsigned >> > int, bool) () from /lib64/libasan.so.5 >> > #8 0x00007ffff721252c in __interceptor_strnlen.part.0 () from >> > /lib64/libasan.so.5 >> > #9 0x00007ffff3595a0c in strnlen_s_inline (s=0x7fff7177c520 "/mem/stat >> > segment", maxsize=128) >> > at src/vppinfra/string.h:800 >> > #10 0x00007ffff3595f63 in strcpy_s_inline (dest=0x7fff6a0a9ab0 "", >> > dmax=128, src=0x7fff7177c520 "/mem/stat segment") >> > at src/vppinfra/string.h:960 >> > #11 0x00007ffff3597e1c in strcpy_s (dest=0x7fff6a0a9ab0 "", dmax=128, >> > src=0x7fff7177c520 "/mem/stat segment") >> > at src/vppinfra/string.c:274 >> > #12 0x0000000000431820 in stat_segment_new_entry (name=0x7fff7177c520 >> > "/mem/stat segment", >> > t=STAT_DIR_TYPE_COUNTER_VECTOR_SIMPLE) >> > at src/vpp/stats/stat_segment.c:408 >> > #13 0x00000000004401fb in vlib_stats_register_mem_heap >> > (heap=0x7ffb67e00000) >> > at src/vpp/stats/stat_segment_provider.c:96 >> > #14 0x00000000004327fa in vlib_map_stat_segment_init () >> > at src/vpp/stats/stat_segment.c:493 >> > #15 0x00007ffff3e15d19 in vlib_main (vm=0x7fff6eeff680, >> > input=0x7fff6a0a9f70) >> > at src/vlib/main.c:3272 >> > #16 0x00007ffff3f0d924 in thread0 (arg=140735054608000) >> > at src/vlib/unix/main.c:671 >> > ---Type <return> to continue, or q <return> to quit--- >> > #17 0x00007ffff34d9504 in clib_calljmp () >> > at src/vppinfra/longjmp.S:123 >> > #18 0x00007fffffffc940 in ?? () >> > #19 0x00007ffff3f0e67e in vlib_unix_main (argc=282, argv=0x61d00001a480) >> > at src/vlib/unix/main.c:751 >> > #20 0x000000000040b482 in main (argc=282, argv=0x61d00001a480) >> > at src/vpp/vnet/main.c:336 >> > (gdb) >> > >> > >> > Thanks, >> > Chetan >> >>
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#20079): https://lists.fd.io/g/vpp-dev/message/20079 Mute This Topic: https://lists.fd.io/mt/85407456/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-