Bug #118175 UBSan error at x/protocol/stream/decompression_input_stream.h
Submitted: 13 May 6:53 Modified: 13 May 7:44
Reporter: Laurynas Biveinis (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Document Store: X Plugin Severity:S3 (Non-critical)
Version:8.0.42 OS:MacOS (15.4.1)
Assigned to: CPU Architecture:ARM

[13 May 6:53] Laurynas Biveinis
Description:
CMake flags:
-DCMAKE_BUILD_TYPE=Debug -DWITH_DEBUG=ON -DMYSQL_MAINTAINER_MODE=ON -DWITH_SYSTEM_LIBS=ON -DWITH_NDBCLUSTER_STORAGE_ENGINE=OFF -DDOWNLOAD_BOOST=ON -DWITH_BOOST=path -DCMAKE_CXX_FLAGS=-g -DCMAKE_CXX_FLAGS_DEBUG=-g -DCMAKE_CXX_FLAGS_RELEASE=-g -O2 -DNDEBUG -DWITH_ASAN=ON -DWITH_ASAN_SCOPE=ON -DWITH_UBSAN=ON -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm@14/bin/clang -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm@14/bin/clang++ -DCMAKE_AR=/opt/homebrew/opt/llvm@14/bin/llvm-ar
...
The following error is seen under many X tests, for example
$ ./mtr x.compression_client
...
 50%] x.compression_client                      [ fail ]
        Test ended at 2025-05-13 09:48:14

CURRENT_TEST: x.compression_client
--- /Users/laurynas/vilniusdb/mysql-8.0.42/mysql-test/suite/x/r/compression_client.result	2025-04-16 10:05:31
+++ /Users/laurynas/vilniusdb/mysql-8.0.42/_build-llvm-14-debug-san/mysql-test/var/log/compression_client.reject	2025-05-13 09:48:14
@@ -39,6 +39,12 @@
   sql_state: "HY000"
 }

+/Users/laurynas/vilniusdb/mysql-8.0.42/plugin/x/protocol/stream/decompression_input_stream.h:107:22: runtime error: member call on address 0x000109360610 which does not point to an object of type 'google::protobuf::io::ZeroCopyInputStream'
+0x000109360610: note: object is of type 'google::protobuf::io::ArrayInputStream'
+ 00 00 00 00  a0 8d 8b 06 01 00 00 00  d0 5c e1 09 01 00 00 00  4e 00 00 00 4e 00 00 00  00 00 00 00
+              ^~~~~~~~~~~~~~~~~~~~~~~
+              vptr for 'google::protobuf::io::ArrayInputStream'
+SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /Users/laurynas/vilniusdb/mysql-8.0.42/plugin/x/protocol/stream/decompression_input_stream.h:107:22 in
 First query
 First query
 0 rows affected
... a lot more ...

How to repeat:
See above
[13 May 7:20] Laurynas Biveinis
Same on:
x.compression_client_mixed_caps
x.compression_level_deflate_adjustment
x.compression_level_deflate_client
x.compression_level_deflate_server
x.compression_level_lz4_adjustment
x.compression_level_lz4_client
x.compression_level_lz4_server
x.compression_level_zstd_adjustment
x.compression_level_zstd_client
x.compression_level_zstd_server
x.compression_limit_message_count
x.compression_multiple_changes
x.compression_server
[13 May 7:37] MySQL Verification Team
Hello Laurynas,

Thank you for the report and feedback.

regards,
Umesh
[13 May 7:44] Laurynas Biveinis
Same on:
x.flow_compression_resultset_crud_document
x.flow_compression_resultset_crud_table
x.flow_compression_resultset_cursors
x.flow_compression_resultset_prepexecute_crud_document
x.flow_compression_resultset_prepexecute_crud_table
x.flow_compression_resultset_prepexecute_sql
x.flow_compression_resultset_prepexecute_stored_procedures
x.flow_compression_resultset_stmtexecute_sql
x.flow_compression_style_group
x.flow_compression_style_multiple
x.flow_compression_style_single
x.message_compressed_empty
x.mysqlxtest_mode_compression
x.session_reset
x.status_variables_compression_client
x.status_variables_compression_server