Bug #118214 LifecycleTest.Simple_AllFunctions crashes under AddressSanitizer
Submitted: 16 May 11:07 Modified: 18 May 16:35
Reporter: Laurynas Biveinis (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Router Severity:S3 (Non-critical)
Version:9.3.0 OS:MacOS (15.5)
Assigned to: CPU Architecture:ARM

[16 May 11:07] Laurynas Biveinis
Description:
Server built with -DCMAKE_BUILD_TYPE=Debug -DWITH_DEBUG=ON -DMYSQL_MAINTAINER_MODE=ON -DWITH_SYSTEM_LIBS=ON -DWITH_NDBCLUSTER_STORAGE_ENGINE=OFF -DCMAKE_CXX_FLAGS=-g -DCMAKE_CXX_FLAGS_DEBUG=-g -DCMAKE_CXX_FLAGS_RELEASE=-O2 -DNDEBUG -g -DWITH_ASAN=ON -DWITH_ASAN_SCOPE=ON -DWITH_UBSAN=ON

$ runtime_output_directory/routertest_harness_loader_lifecycle
...
[ RUN      ] LifecycleTest.Simple_AllFunctions
AddressSanitizer:DEADLYSIGNAL
=================================================================
==41074==ERROR: AddressSanitizer: SEGV on unknown address 0x0001017bc160 (pc 0x0001029faf98 bp 0x00016f388610 sp 0x00016f387560 T0)
==41074==The signal is caused by a READ memory access.
    #0 0x0001029faf98 in __asan_register_globals+0x5e0 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x12f98)
    #1 0x000102a23b84 in __asan::AsanApplyToGlobals(void (*)(__asan_global*, unsigned long), void const*)+0x7c (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x3bb84)
    #2 0x0001029fa99c in __asan_register_image_globals+0x34 (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x1299c)
    #3 0x000101b14bf4 in asan.module_ctor+0x18 (routertestplugin_lifecycle.so:arm64+0x14bf4)
    #4 0x0001825feef8 in invocation function for block in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0x1b8 (dyld:arm64e+0xfffffffffff56ef8)
    #5 0x00018263b860  (<unknown module>)
    #6 0x00018265b588  (<unknown module>)
    #7 0x000182658314  (<unknown module>)
    #8 0x000182659a54  (<unknown module>)
    #9 0x00018263b330  (<unknown module>)
    #10 0x0001825fecb0 in dyld4::Loader::findAndRunAllInitializers(dyld4::RuntimeState&) const+0xac (dyld:arm64e+0xfffffffffff56cb0)
    #11 0x00018260666c  (<unknown module>)
    #12 0x0001825ff45c in dyld4::Loader::runInitializersBottomUp(dyld4::RuntimeState&, dyld3::Array<dyld4::Loader const*>&, dyld3::Array<dyld4::Loader const*>&) const+0x130 (dyld:arm64e+0xfffffffffff5745c)
    #13 0x000182603bec  (<unknown module>)
    #14 0x0001825ff778 in dyld4::Loader::runInitializersBottomUpPlusUpwardLinks(dyld4::RuntimeState&) const+0x2c8 (dyld:arm64e+0xfffffffffff57778)
    #15 0x000182623100  (<unknown module>)
    #16 0x000182617f58  (<unknown module>)
    #17 0x000182617a3c  (<unknown module>)
    #18 0x000102a159b0 in dlopen+0x1bc (libclang_rt.asan_osx_dynamic.dylib:arm64e+0x2d9b0)
    #19 0x000101c32a98 in mysql_harness::DynamicLoader::load(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) const dynamic_loader.cc:143
    #20 0x000101be0528 in mysql_harness::Loader::PluginInfo::PluginInfo(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) loader.cc:375
    #21 0x000101be15f8 in mysql_harness::Loader::load_from(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) loader.cc:450
    #22 0x000101be540c in mysql_harness::Loader::load(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) loader.cc:525
    #23 0x000101be6bec in mysql_harness::Loader::load_all() loader.cc:633
    #24 0x000100ab9ac8 in TestLoader::load_all(int) test_loader_lifecycle.cc:188
    #25 0x000100a762a4 in LifecycleTest::init_test(std::__1::basic_istream<char, std::__1::char_traits<char>>&, int) test_loader_lifecycle.cc:292
    #26 0x000100a78c08 in LifecycleTest_Simple_AllFunctions_Test::TestBody() test_loader_lifecycle.cc:487
    #27 0x000100bb38b0 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2648
    #28 0x000100bb34e8 in testing::Test::Run() gtest.cc:2687
    #29 0x000100bb5ae4 in testing::TestInfo::Run() gtest.cc:2836
    #30 0x000100bb91d8 in testing::TestSuite::Run() gtest.cc:3015
    #31 0x000100bd95ec in testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5920
    #32 0x000100bd80c8 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2648
    #33 0x000100bd7c94 in testing::UnitTest::Run() gtest.cc:5484
    #34 0x000100aa43c8 in main test_loader_lifecycle.cc:2305
    #35 0x0001825e2b94 in start+0x17b8 (dyld:arm64e+0xfffffffffff3ab94)

==41074==Register values:
 x[0] = 0x0000000101b28540   x[1] = 0x00000000000000a0   x[2] = 0x0000000000000000   x[3] = 0x0000007020384818
 x[4] = 0x000000016eb94000   x[5] = 0x000000000000001e   x[6] = 0x000000016eb94000   x[7] = 0x0000000000000001
 x[8] = 0x00000001017bc160   x[9] = 0x0000000101b284c0  x[10] = 0x0000000101b28260  x[11] = 0x00000000203650ab
x[12] = 0x0000000000000000  x[13] = 0x0000000000000000  x[14] = 0x0000000000000000  x[15] = 0x0000000000000013
x[16] = 0x00000001829bbf80  x[17] = 0x0000000102a8c508  x[18] = 0x0000000000000000  x[19] = 0x0000000101b2e910
x[20] = 0x0000000000000038  x[21] = 0x000000010177d5d0  x[22] = 0x0000000000000006  x[23] = 0x0000000103474de0
x[24] = 0x0000000102aa15d8  x[25] = 0x0000000102aa1000  x[26] = 0x0000000102aa1000  x[27] = 0x00000001034754e8
x[28] = 0x0000000101b2ea90     fp = 0x000000016f388610     lr = 0x00000001029faf58     sp = 0x000000016f387560
AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (routertestplugin_lifecycle.so:arm64+0x14bf4) in asan.module_ctor+0x18
AddressSanitizer: nested bug in the same thread, aborting.

How to repeat:
See above
[18 May 16:35] MySQL Verification Team
Hello Laurynas,

Thank you for the report and feedback.

regards,
Umesh