sonic-swss-common icon indicating copy to clipboard operation
sonic-swss-common copied to clipboard

defaultvalueprovider_ut fails on address sanitizer

Open mint570 opened this issue 2 years ago • 1 comments

Enable address sanitizer in unit test. Test output:

[----------] 4 tests from DECORATOR [ RUN ] DECORATOR.ChoiceAndLeaflistDefaultValue AddressSanitizer:DEADLYSIGNAL

==13684==ERROR: AddressSanitizer: SEGV on unknown address 0x000000003232 (pc 0x7f6f2bbdead8 bp 0x7ffc8ec81c60 sp 0x7ffc8ec81408 T0) ==13684==The signal is caused by a READ memory access. #0 0x7f6f2bbdead8 (/lib/x86_64-linux-gnu/libc.so.6+0x172ad8) #1 0x562b574e620c in __interceptor_strlen.part.0 (/tmp/sonic/tests/.libs/tests_asan+0x52a20c) #2 0x7f6f2bedd057 in std::__cxx11::basic_string<char, std::char_traits, std::allocator >::basic_string(char const*, std::allocator const&) (/usr/lib/x86_64-linux-gnu/libstdc++.so.6+0x136057) #3 0x562b5795f135 in swss::JSon::buildJson[abi:cxx11](char const**) ../common/json.cpp:34 #4 0x562b57942c8b in swss::DefaultValueHelper::GetDefaultValueInfoForLeaflist(lys_node_leaflist*, std::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::less<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator > const, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > >) ../common/defaultvalueprovider.cpp:228 #5 0x562b579432a7 in swss::DefaultValueHelper::GetDefaultValueInfoabi:cxx11 ../common/defaultvalueprovider.cpp:264 #6 0x562b57943501 in swss::DefaultValueHelper::BuildTableDefaultValueMapping(lys_node*, std::map<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, int>, std::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::less<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator > const, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > >, std::less<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, int> >, std::allocator<std::pair<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, int> const, std::shared_ptr<std::map<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::less<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits, std::allocator > const, std::__cxx11::basic_string<char, std::char_traits, std::allocator > > > > > > > >&) ../common/defaultvalueprovider.cpp:293 #7 0x562b57943736 in swss::DefaultValueProvider::AppendTableInfoToMapping(lys_node*) ../common/defaultvalueprovider.cpp:306 #8 0x562b579454f1 in swss::DefaultValueProvider::LoadModule(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, ly_ctx*) ../common/defaultvalueprovider.cpp:487 #9 0x562b57944f46 in swss::DefaultValueProvider::Initialize(char const*) ../common/defaultvalueprovider.cpp:445 #10 0x562b577b5e0a in MockDefaultValueProvider::MockInitialize(char const*) /tmp/sonic/tests/defaultvalueprovider_ut.cpp:15 #11 0x562b577af783 in DECORATOR_ChoiceAndLeaflistDefaultValue_Test::TestBody() /tmp/sonic/tests/defaultvalueprovider_ut.cpp:22 #12 0x562b57a24ad6 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::)(), char const) (/tmp/sonic/tests/.libs/tests_asan+0xa68ad6) #13 0x562b57a1ab4d in testing::Test::Run() (/tmp/sonic/tests/.libs/tests_asan+0xa5eb4d) #14 0x562b57a1aca4 in testing::TestInfo::Run() (/tmp/sonic/tests/.libs/tests_asan+0xa5eca4) #15 0x562b57a1b138 in testing::TestSuite::Run() (/tmp/sonic/tests/.libs/tests_asan+0xa5f138) #16 0x562b57a1b781 in testing::internal::UnitTestImpl::RunAllTests() (/tmp/sonic/tests/.libs/tests_asan+0xa5f781) #17 0x562b57a25046 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::)(), char const) (/tmp/sonic/tests/.libs/tests_asan+0xa69046) #18 0x562b57a1ad67 in testing::UnitTest::Run() (/tmp/sonic/tests/.libs/tests_asan+0xa5ed67) #19 0x562b578b4e4f in RUN_ALL_TESTS() /usr/include/gtest/gtest.h:2486 #20 0x562b578b4921 in main /tmp/sonic/tests/main.cpp:83 #21 0x7f6f2ba8fd09 in __libc_start_main ../csu/libc-start.c:308 #22 0x562b574cd319 in _start (/tmp/sonic/tests/.libs/tests_asan+0x511319)

AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV (/lib/x86_64-linux-gnu/libc.so.6+0x172ad8) ==13684==ABORTING

mint570 avatar Feb 05 '23 04:02 mint570

@liuh-80

mint570 avatar Feb 05 '23 04:02 mint570