Hi Ben, Thank you very much for the response and useful information. Regards, Sudhir
On Tue, Mar 15, 2022 at 11:02 PM Benoit Ganne (bganne) <bga...@cisco.com> wrote: > Hi Sudhir, > > Yes Asan is pretty picky about compiler version (probably issue 1), how > you link your plugins (issue 3 is ASan complaining about your private > plugin librtbvpp.so redefining an already defined global symbol, issue 2 > might be linked to that too). > Anyway, using GCC, LD_PRELOAD and ASAN_OPTIONS are valid workarounds 😊 > Regarding not detecting leaks, this is something we do not support > unfortunately: only memory violations (use-after-free etc) should be > detected. > > Best > ben > > > -----Original Message----- > > From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Sudhir CR > via > > lists.fd.io > > Sent: mardi 15 mars 2022 06:49 > > To: Sudhir CR <sud...@rtbrick.com> > > Cc: Benoit Ganne (bganne) <bga...@cisco.com>; vpp-dev@lists.fd.io > > Subject: Re: [vpp-dev] VPP 2110 with AddressSanitizer enabled > > > > Hi Ben, > > > > I tried to run ASAN on vpp version 21.10 in debug mode.But It's not > > working for me. > > > > > > Issue 1: > > I compiled vpp code with below build command (with clang) > > sudo make rebuild VPP_EXTRA_CMAKE_ARGS=-DVPP_ENABLE_SANITIZE_ADDR=ON > > After compilation starting vpp is failing with below error > > sed: symbol lookup error: /home/supervisor/libvpp/build-root/install- > > vpp_debug-native/vpp/lib/libvppinfra.so.1.0.1: undefined symbol: > > __asan_option_detect_stack_use_after_return > > > > > > Issue 2: > > since compiling with clang is not working i tried compiling with GCC. i > > used below command for compilation > > > > > > sudo make rebuild VPP_EXTRA_CMAKE_ARGS=-DVPP_ENABLE_SANITIZE_ADDR=ON > > CC=gcc-8 > > > > > > with this vpp startup is failing with below error > > ==908==ASan runtime does not come first in initial library list; you > > should either link runtime to your application or manually preload it > with > > LD_PRELOAD. > > I resolved above issue with below configuration > > LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/8/libasan.so > > export LD_PRELOAD > > Issue 3: > > once issue 2 is resolved vpp crashed with below backtrace > > ``` > > Thread 1 (Thread 0x7ffff7fce400 (LWP 678)): > > #0 __GI_raise (sig=sig@entry=6) at > ../sysdeps/unix/sysv/linux/raise.c:51 > > #1 0x00007ffff75917f1 in __GI_abort () at abort.c:79 > > #2 0x00007fffe99f39ce in ?? () from /usr/lib/x86_64-linux- > > gnu/libasan.so.5 > > #3 0x00007fffe99fc088 in ?? () from /usr/lib/x86_64-linux- > > gnu/libasan.so.5 > > #4 0x00007fffe99d3a39 in ?? () from /usr/lib/x86_64-linux- > > gnu/libasan.so.5 > > #5 0x00007fffe99e1ee9 in ?? () from /usr/lib/x86_64-linux- > > gnu/libasan.so.5 > > #6 0x00007ffff7de38d3 in call_init (env=0x7fffffffe308, > > argv=0x7fffffffe2e8, argc=3, l=<optimized out>) at dl-init.c:72 > > #7 _dl_init (main_map=main_map@entry=0x5555583cf670, argc=3, > > argv=0x7fffffffe2e8, env=0x7fffffffe308) at dl-init.c:119 > > #8 0x00007ffff7de839f in dl_open_worker (a=a@entry=0x7fffffffcf40) at > dl- > > open.c:522 > > #9 0x00007ffff76b816f in __GI__dl_catch_exception > > (exception=0x7fffffffcf20, operate=0x7ffff7de7f60 <dl_open_worker>, > > args=0x7fffffffcf40) > > at dl-error-skeleton.c:196 > > #10 0x00007ffff7de796a in _dl_open (file=0x7fffffffd1b0 > > "/usr/local/lib/librtbvpp.so", mode=-2147483391, > > caller_dlopen=0x7ffff794b73d <cmd_open_plugin+86>, nsid=<optimized > > out>, argc=3, argv=<optimized out>, env=0x7fffffffe308) at dl-open.c:605 > > #11 0x00007ffff70c9f96 in dlopen_doit (a=a@entry=0x7fffffffd170) at > > dlopen.c:66 > > #12 0x00007ffff76b816f in __GI__dl_catch_exception > > (exception=exception@entry=0x7fffffffd110, operate=0x7ffff70c9f40 > > <dlopen_doit>, > > args=0x7fffffffd170) at dl-error-skeleton.c:196 > > #13 0x00007ffff76b81ff in __GI__dl_catch_error (objname=0x55555779df30, > > errstring=0x55555779df38, mallocedp=0x55555779df28, operate=<optimized > > out>, > > args=<optimized out>) at dl-error-skeleton.c:215 > > #14 0x00007ffff70ca745 in _dlerror_run > > (operate=operate@entry=0x7ffff70c9f40 <dlopen_doit>, > > args=args@entry=0x7fffffffd170) at dlerror.c:162 > > #15 0x00007ffff70ca051 in __dlopen (file=file@entry=0x7fffffffd1b0 > > "/usr/local/lib/librtbvpp.so", mode=mode@entry=257) at dlopen.c:87 > > ``` > > I resolved this issue by exporting below ASAN options > > export ASAN_OPTIONS=verify_asan_link_order=0:detect_odr_violation=0 > > Once issue 3 is resolved vpp is up but it's not catching/reporting any > > memory leaks > > (I induced one leak in our code to verify the same). > > we are starting our fib process (vpp) by executing below script > > supervisor@dev1_sudhir>srv2:~ $ cat fib.sh > > LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/8/libasan.so > > export LD_PRELOAD > > export ASAN_OPTIONS=verify_asan_link_order=0:detect_odr_violation=0 > > sudo -E gdb --args bd -i /etc/rtbrick/bd/config/fibd.json > > > > ./fib.sh > > > > Can you please let me know if you find any issue in the procedure i > > followed or > > any pointers to solve the issue i am facing. > > > > Thanks and Regards, > > Sudhir > > > > On Thu, Feb 24, 2022 at 6:39 PM Sudhir CR via lists.fd.io > > <http://lists.fd.io> <sudhir=rtbrick....@lists.fd.io > > <mailto:rtbrick....@lists.fd.io> > wrote: > > > > > > Hi Ben, > > Thanks for the update. > > > > Regards, > > Sudhir > > > > On Thu, Feb 24, 2022 at 6:37 PM Benoit Ganne (bganne) > > <bga...@cisco.com <mailto:bga...@cisco.com> > wrote: > > > > > > Hi Sudhir, > > > > I am working on a few bugfixes for ASan. > > Right now, I'd recommend to use ASan in debug builds only, > > there are several issues that need to be fixed in release mode. > > > > Best > > 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 Sudhir > CR > > via > > > lists.fd.io <http://lists.fd.io> > > > Sent: jeudi 24 février 2022 14:03 > > > To: vpp-dev@lists.fd.io <mailto:vpp-dev@lists.fd.io> > > > Subject: [vpp-dev] VPP 2110 with AddressSanitizer enabled > > > > > > Hi Team, > > > > > > > > > We compiled vpp code with AddressSanitizer enabled. We > used > > the below > > > command to compile code. > > > > > > > > > sudo make rebuild-release VPP_EXTRA_CMAKE_ARGS=- > > > DVPP_ENABLE_SANITIZE_ADDR=ON > > > > > > > > > > > > we are starting vpp with below command > > > > > > > > > sudo ./vpp -c /etc/vpp/startup.conf > > > > > > > > > > > > But vpp startup is failed with below AddressSanitizer > error > > > > > > > > > AddressSanitizer:DEADLYSIGNAL > > > > > ================================================================= > > > ==1442028==ERROR: AddressSanitizer: SEGV on unknown > address > > 0x0200255e3b3e > > > (pc 0x7fe59ae338f7 bp 0x7ffc128b1c40 sp 0x7ffc128b1480 > T0) > > > ==1442028==The signal is caused by a READ memory access. > > > #0 0x7fe59ae338f6 in sanitizer_unpoison_push__ > > > > > /home/supervisor/development/libvpp/src/vppinfra/sanitizer.h:54:17 > > > #1 0x7fe59ae338f6 in hash_memory64 > > > > > /home/supervisor/development/libvpp/src/vppinfra/hash.c:157:15 > > > #2 0x7fe59ae338f6 in hash_memory > > > > > /home/supervisor/development/libvpp/src/vppinfra/hash.c:280:10 > > > #3 0x7fe59ae34b4e in key_sum > > > /home/supervisor/development/libvpp/src/vppinfra/hash.c > > > #4 0x7fe59ae34b4e in lookup.llvm.8926505759877686271 > > > > > /home/supervisor/development/libvpp/src/vppinfra/hash.c:557:7 > > > #5 0x7fe59aeb203f in _hash_set3 > > > > > /home/supervisor/development/libvpp/src/vppinfra/hash.c:848:10 > > > #6 0x7fe59c4edc8e in config_one_plugin > > > > > /home/supervisor/development/libvpp/src/vlib/unix/plugin.c:710:3 > > > #7 0x7fe59c4edc8e in vlib_plugin_config > > > > > /home/supervisor/development/libvpp/src/vlib/unix/plugin.c:775:12 > > > #8 0x7fe59c49c3f6 in vlib_unix_main > > > > > /home/supervisor/development/libvpp/src/vlib/unix/main.c:764:12 > > > #9 0x55a040ce2e40 in main > > > > > /home/supervisor/development/libvpp/src/vpp/vnet/main.c:344:14 > > > #10 0x7fe59a29ebf6 in __libc_start_main /build/glibc- > > S9d2JN/glibc- > > > 2.27/csu/../csu/libc-start.c:310 > > > #11 0x55a040c41479 in _start > > > > (/home/supervisor/development/libvpp/build-root/install-vpp- > > > native/vpp/bin/vpp+0x41479) > > > > > > AddressSanitizer can not provide additional info. > > > SUMMARY: AddressSanitizer: SEGV > > > > > /home/supervisor/development/libvpp/src/vppinfra/sanitizer.h:54:17 in > > > sanitizer_unpoison_push__ > > > ==1442028==ABORTING > > > Aborted > > > > > > > > > > > > contents of startup.conf looks like below > > > > > > > > > > > > unix { > > > nodaemon > > > log /var/log/vpp/vpp.log > > > full-coredump > > > cli-listen localhost:5003 > > > runtime-dir /shm/run/vpp/ > > > } > > > > > > api-trace { > > > on > > > } > > > > > > cpu { > > > main-core 2 > > > corelist-workers 3,4 > > > } > > > > > > heapsize 600M > > > > > > statseg { > > > size 150M > > > } > > > plugin_path /usr/local/lib/vpp_plugins/ > > > plugins { > > > plugin rtbrick_bcm_plugin.so { disable } > > > plugin dpdk_plugin.so { disable } > > > } > > > > > > > > > > > > Please let me know any suggestions on how to resolve this > > Error. > > > > > > > > > Thanks in Advance, > > > > > > Sudhir > > > > > > > > > NOTICE TO RECIPIENT This e-mail message and any > attachments > > are > > > confidential and may be privileged. If you received this > e- > > mail in error, > > > any review, use, dissemination, distribution, or copying > of > > this e-mail is > > > strictly prohibited. Please notify us immediately of the > > error by return > > > e-mail and please delete this message from your system. > For > > more > > > information about Rtbrick, please visit us at > > www.rtbrick.com <http://www.rtbrick.com> > > > <http://www.rtbrick.com> > > > > > > > > NOTICE TO RECIPIENT This e-mail message and any attachments are > > confidential and may be privileged. If you received this e-mail in error, > > any review, use, dissemination, distribution, or copying of this e-mail > is > > strictly prohibited. Please notify us immediately of the error by return > > e-mail and please delete this message from your system. For more > > information about Rtbrick, please visit us at www.rtbrick.com > > <http://www.rtbrick.com> > > > > > > > > > > > > NOTICE TO RECIPIENT This e-mail message and any attachments are > > confidential and may be privileged. If you received this e-mail in error, > > any review, use, dissemination, distribution, or copying of this e-mail > is > > strictly prohibited. Please notify us immediately of the error by return > > e-mail and please delete this message from your system. For more > > information about Rtbrick, please visit us at www.rtbrick.com > > <http://www.rtbrick.com> > -- NOTICE TO RECIPIENT This e-mail message and any attachments are confidential and may be privileged. If you received this e-mail in error, any review, use, dissemination, distribution, or copying of this e-mail is strictly prohibited. Please notify us immediately of the error by return e-mail and please delete this message from your system. For more information about Rtbrick, please visit us at www.rtbrick.com <http://www.rtbrick.com>
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#21031): https://lists.fd.io/g/vpp-dev/message/21031 Mute This Topic: https://lists.fd.io/mt/89364107/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-