VPP is built with follow command: *make build VPP_EXTRA_CMAKE_ARGS="-DVPP_ENABLE_SANITIZE_ADDR=ON" * I run vpp on Microsoft hyper-v vm with Ubuntu20.04, use a vmbus adapter as NIC. It seems if I run vpp with follow *startup.conf* , it will ALWAYS failed cause of asan error: starup.conf unix { nodaemon interactive nosyslog log /tmp/vpp-running.log cli-no-banner cli-no-pager } tcp { mtu 1500 cleanup-time 5000 } udp { mtu 9000 } ethernet { default-mtu 1500 } heapsize 2g buffers { buffers-per-numa 65536 default data-size 2048 } cpu { thread-prefix nat44 main-core 0 corelist-workers 1 } session { enable } dpdk { log-level notice log-level lib.eal:notice no-tx-checksum-offload dev 397d3090-ba26-4317-ab85-45bcffd9aee1 { name eth0 num-rx-queues 1 num-tx-queues 1 rss { ipv4-tcp ipv4-udp ipv4 } } } plugins { plugin default {enable} } * * 397d3090-ba26-4317-ab85-45bcffd9aee1 is id of vmbus adapter With asan error like below: For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from./bin/vpp... (gdb) r -c /tmp/startup.conf Starting program: /root/source/vpp/build-root/install-vpp_debug-native/vpp/bin/vpp -c /tmp/startup.conf [Thread debugging using libthread_db enabled] Using host libthread_db library " /lib/x86_64-linux-gnu/libthread_db.so.1 ". perfmon [warn ]: skipping source 'intel-uncore' - intel_uncore_init: no uncore units found [New Thread 0x7ffb65d2e700 (LWP 10214)] [New Thread 0x7ffb64ffc700 (LWP 10215)] =================================================================
Thread 3 "nat44_wk_0" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7ffb64ffc700 (LWP 10215)] __asan::FakeStack::AddrIsInFakeStack ( this =0x0, ptr =140717725490360, frame_beg=frame_beg@entry =0x7ffb64ffab48, frame_end=frame_end@entry =0x7ffb64ffab50) at../../../../src/libsanitizer/asan/asan_fake_stack.cc :116 116 ../../../../src/libsanitizer/asan/asan_fake_stack.cc: No such file or directory. (gdb) bt #0 __asan::FakeStack::AddrIsInFakeStack ( this =0x0, ptr =140717725490360, frame_beg=frame_beg@entry =0x7ffb64ffab48, frame_end=frame_end@entry =0x7ffb64ffab50) at../../../../src/libsanitizer/asan/asan_fake_stack.cc :116 #1 0x00007ffff76a9ef5 in __asan::FakeStack::AddrIsInFakeStack ( addr =, this =) at../../../../src/libsanitizer/asan/asan_fake_stack.h :134 #2 __asan::ThreadStackContainsAddress ( tctx_base =, addr =) at../../../../src/libsanitizer/asan/asan_thread.cc :389 #3 0x00007ffff76c485a in __sanitizer::ThreadRegistry::FindThreadContextLocked ( this =0x7ffff772d720 <__asan::thread_registry_placeholder>, cb=cb@entry =0x7ffff76a9e50 <__asan::ThreadStackContainsAddress(__sanitizer::ThreadContextBase*, void*)>, arg=arg@entry =0x7ffb660a9cb8) at../../../../src/libsanitizer/sanitizer_common/sanitizer_thread_registry.cc :196 #4 0x00007ffff76ab34e in __asan::FindThreadByStackAddress ( addr=addr@entry =140717725490360) at../../../../src/libsanitizer/asan/asan_thread.cc :435 #5 0x00007ffff75bbf6a in __asan::GetStackAddressInformation ( addr=addr@entry =140717725490360, access_size=access_size@entry =8, descr=descr@entry =0x7ffb64ffb0c0) at../../../../src/libsanitizer/asan/asan_descriptions.cc :195 #6 0x00007ffff75bd3c9 in __asan::AddressDescription::AddressDescription ( shouldLockThreadRegistry =false, access_size =8, addr =140717725490360, this =0x7ffb64ffb0b8) at../../../../src/libsanitizer/asan/asan_descriptions.cc :454 #7 __asan::AddressDescription::AddressDescription ( this =0x7ffb64ffb0b8, addr =140717725490360, access_size =8, shouldLockThreadRegistry =) at../../../../src/libsanitizer/asan/asan_descriptions.cc :438 #8 0x00007ffff75bfe95 in __asan::ErrorGeneric::ErrorGeneric ( this =0x7ffb64ffacb0, tid =, pc_ =140737317535885, bp_ =140717707999520, sp_ =140717707999504, addr =140717725490360, is_write_ =false, access_size_ =8) at../../../../src/libsanitizer/asan/asan_errors.h :31 #9 0x00007ffff76a4f4e in __asan::ReportGenericError ( pc =140737317535885, bp=bp@entry =140717707999520, sp=sp@entry =140717707999504, addr =140717725490360, is_write=is_write@entry =false, access_size=access_size@entry =8, exp =0, fatal =true) at../../../../src/libsanitizer/asan/asan_report.cc :459 #10 0x00007ffff76a5deb in __asan::__asan_report_load8 ( addr =) at../../../../src/libsanitizer/asan/asan_rtl.cc :119 #11 0x00007ffff5d1808d in vlib_node_increment_counter ( vm =0x7fff76fb8200, node_index =400, counter_index =0, increment =0) at /root/source/vpp/src/vlib/node_funcs.h :1345 #12 0x00007ffff5d30ac8 in session_queue_node_fn ( vm =0x7fff76fb8200, node =0x7fff75663380, frame =0x0) at /root/source/vpp/src/vnet/session/session_node.c :2033 #13 0x00007ffff49cfa92 in dispatch_node ( vm =0x7fff76fb8200, node =0x7fff75663380, type =VLIB_NODE_TYPE_INPUT, dispatch_state =VLIB_NODE_STATE_POLLING, frame =0x0, last_time_stamp =7560712379574) at /root/source/vpp/src/vlib/main.c :960 #14 0x00007ffff49d3a47 in vlib_main_or_worker_loop ( vm =0x7fff76fb8200, is_main =0) at /root/source/vpp/src/vlib/main.c :1557 #15 0x00007ffff49d4ced in vlib_worker_loop ( vm =0x7fff76fb8200) at /root/source/vpp/src/vlib/main.c :1722 #16 0x00007ffff4a3ca5c in vlib_worker_thread_fn ( arg =0x7fff733ad740) at /root/source/vpp/src/vlib/threads.c :1598 #17 0x00007ffff4a32aa1 in vlib_worker_thread_bootstrap_fn ( arg =0x7fff733ad740) at /root/source/vpp/src/vlib/threads.c :418 #18 0x00007ffff4866609 in start_thread ( arg =) at pthread_create.c :477 #19 0x00007ffff4462133 in clone () at../sysdeps/unix/sysv/linux/x86_64/clone.S :95 (gdb) I test that, if I do not enable *session* module in startup.conf, but just enble it after vpp start success by cli: *session enable* , then everything goes well.
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#21994): https://lists.fd.io/g/vpp-dev/message/21994 Mute This Topic: https://lists.fd.io/mt/94254287/21656 Mute #vpp-dev:https://lists.fd.io/g/vpp-dev/mutehashtag/vpp-dev Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/1480452/21656/631435203/xyzzy [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-