Thanks a ton Ben! On Mon, Sep 6, 2021 at 6:10 PM Benoit Ganne (bganne) <bga...@cisco.com> wrote:
> Yes we are aware of it, still working on the correct fix though. > In the meantime you can try to apply https://gerrit.fd.io/r/c/vpp/+/32765 > which should workaround that for now. > > Best > ben > > > -----Original Message----- > > From: chetan bhasin <chetan.bhasin...@gmail.com> > > Sent: lundi 6 septembre 2021 14:21 > > To: Benoit Ganne (bganne) <bga...@cisco.com> > > Cc: vpp-dev <vpp-dev@lists.fd.io> > > Subject: Re: [vpp-dev] VPP 2106 with Sanitizer enabled > > > > 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 > > <mailto: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 <mailto: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 <mailto:vpp-dev@lists.fd.io> > > <vpp-dev@lists.fd.io <mailto: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 <mailto:vpp- > > d...@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 (#20084): https://lists.fd.io/g/vpp-dev/message/20084 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] -=-=-=-=-=-=-=-=-=-=-=-