Bug #113710 | Spec/HttpClientSecureTest.ensure/default_client_cipher_succeeds ASan error | ||
---|---|---|---|
Submitted: | 22 Jan 12:29 | Modified: | 17 Oct 13:26 |
Reporter: | Laurynas Biveinis (OCA) | Email Updates: | |
Status: | Verified | Impact on me: | |
Category: | MySQL Router | Severity: | S3 (Non-critical) |
Version: | 8.0.37, 8.4.1, 9.0.0 | OS: | MacOS (12.4.1) |
Assigned to: | CPU Architecture: | Any |
[22 Jan 12:29]
Laurynas Biveinis
[22 Jan 12:31]
Laurynas Biveinis
Same error on ./runtime_output_directory/routertest_component_rest_api_enable ... [ RUN ] TestRestApiEnable.ensure_rest_works_on_custom_port AddressSanitizer:DEADLYSIGNAL ================================================================= ==80732==ERROR: AddressSanitizer: BUS on unknown address (pc 0x000105b39b78 bp 0x00016bcd4ec0 sp 0x00016bcd4ea0 T0) ==80732==The signal is caused by a WRITE memory access. ==80732==Hint: this fault was caused by a dereference of a high value address (see register values below). Disassemble the provided pc to learn which register was used. #0 0x105b39b78 in SSL_CTX_free+0x20 (libssl.3.dylib:arm64+0x11b78) #1 0x105b38b74 in SSL_free+0x68 (libssl.3.dylib:arm64+0x10b74) #2 0x1052561cc in bufferevent_openssl_new_impl+0x134 (libevent_openssl-2.1.7.dylib:arm64+0x21cc) #3 0x1053c4224 in HttpsClientConnection::HttpsClientConnection(IOContext&, TlsClientContext&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned short) http_client.cc:211 #4 0x1053c3610 in std::__1::__unique_if<HttpsClientConnection>::__unique_single std::__1::make_unique[abi:v160006]<HttpsClientConnection, IOContext&, TlsClientContext&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned short&>(IOContext&, TlsClientContext&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, unsigned short&) unique_ptr.h:686 #5 0x1053c3218 in HttpsClient::make_connection() http_client.cc:92 #6 0x1053c1f88 in HttpClient::make_request_sync(HttpRequest*, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) http_client.cc:73 #7 0x1053cf2b4 in RestClient::request_sync(int, 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&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) rest_client.cc:58 #8 0x1043d3c68 in request_json(RestClient&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, int, rapidjson::GenericDocument<rapidjson::UTF8<char>, rapidjson::CrtAllocator, rapidjson::CrtAllocator>&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&) rest_api_testutils.cc:85 #9 0x104137954 in TestRestApiEnable::assert_rest_works(unsigned short) test_rest_api_enable.cc:287 #10 0x104136db8 in TestRestApiEnable_ensure_rest_works_on_custom_port_Test::TestBody() test_rest_api_enable.cc:587 #11 0x10449711c in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) gtest.cc:2635 #12 0x104496d34 in testing::Test::Run() gtest.cc:2674 #13 0x10449963c in testing::TestInfo::Run() gtest.cc:2853 #14 0x10449ccec in testing::TestSuite::Run() gtest.cc:3012 #15 0x1044bd98c in testing::internal::UnitTestImpl::RunAllTests() gtest.cc:5870 #16 0x1044bc9bc in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) gtest.cc:2635 #17 0x1044bc568 in testing::UnitTest::Run() gtest.cc:5444 #18 0x1041566dc in main test_rest_api_enable.cc:1094 #19 0x185d350dc (<unknown module>) ==80732==Register values: x[0] = 0x00000001058bd830 x[1] = 0x0000000108fa3cd0 x[2] = 0x000000000000019c x[3] = 0x0000000108dfc3e0 x[4] = 0x00000101000001c0 x[5] = 0x0000000000000100 x[6] = 0x0000010100000180 x[7] = 0x0000000000000000 x[8] = 0x00000001058bd8d4 x[9] = 0x00000000ffffffff x[10] = 0x0000000000000101 x[11] = 0x0000000000000000 x[12] = 0x0000000000000000 x[13] = 0x0000000000000001 x[14] = 0x0000000100000000 x[15] = 0x00000001000000c0 x[16] = 0x00000001082332e8 x[17] = 0x00000001082840b8 x[18] = 0x0000000000000000 x[19] = 0x00000001058bd830 x[20] = 0x0000000000000000 x[21] = 0x0000000000000001 x[22] = 0x000000010c200100 x[23] = 0x0000000000000005 x[24] = 0x00000000ffffffff x[25] = 0x000000010b900080 x[26] = 0x0000000108caeac0 x[27] = 0x0000007000020000 x[28] = 0x000000016bcd50a0 fp = 0x000000016bcd4ec0 lr = 0x0000000105b38b78 sp = 0x000000016bcd4ea0 AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: BUS (libssl.3.dylib:arm64+0x11b78) in SSL_CTX_free+0x20 ==80732==ABORTING
[24 Jan 6:00]
MySQL Verification Team
Hello Laurynas, Thank you for the report and feedback! I'm able to reproduce only on Mac(M1, MacOSX14.1.2) and no issues observed on x86*. regards, Umesh
[8 May 13:24]
Laurynas Biveinis
Same on 8.0.37
[8 May 13:25]
Laurynas Biveinis
No ASan error on 8.4.0, but the sanitizer output is not clean with a UBSan error: [ RUN ] Spec/HttpServerPlainTest.ensure/bind_address_ipv4_any_404 /Users/laurynas/vilniusdb/mysql-8.4.0/extra/libcno/libcno-208939f540957a35b337dacdd5c5e34d51821bd2/cno/common.h:150:16: runtime error: applying zero offset to null pointer SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /Users/laurynas/vilniusdb/mysql-8.4.0/extra/libcno/libcno-208939f540957a35b337dacdd5c5e34d51821bd2/cno/common.h:150:16 in
[4 Jul 8:43]
Laurynas Biveinis
No changes in 8.0.38 / 8.4.1 from their previous versions (ASan error in 8.0; UBSan in 8.4) 9.0.0 fails with the same UBSan error as 8.4
[17 Oct 13:26]
Laurynas Biveinis
Did not see any instances so far under 8.0.40 / 8.4.3 / 9.1.0