[MDEV-32680] [Draft] MSAN errors in Field_blob::cached / read_keys_and_merge_scans Created: 2023-11-04  Updated: 2023-11-26  Resolved: 2023-11-25

Status: Closed
Project: MariaDB Server
Component/s: Optimizer
Affects Version/s: 10.5, 10.6
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Unassigned
Resolution: Duplicate Votes: 0
Labels: None

Attachments: File swap2.test    
Issue Links:
Duplicate
duplicates MDEV-27569 Valgrind/MSAN errors in ha_partition:... Open

 Description   

Reproducible, needs cleaning.
Could be a duplicate of MDEV-27569 (or not).

swap2.test

10.6 b78b77e77db22321e2fa49afaea5564c083ca66a

==3018705==WARNING: MemorySanitizer: use-of-uninitialized-value
    #0 0x55cee3aaff99 in Field_blob::cached(bool*) /data/src/10.6-msan/sql/field.h:4590:9
    #1 0x55cee3aaff99 in ha_partition::swap_blobs(unsigned char*, Ordered_blob_storage**, bool) /data/src/10.6-msan/sql/ha_partition.cc:7231:29
    #2 0x55cee3a9feed in ha_partition::handle_ordered_next(unsigned char*, bool) /data/src/10.6-msan/sql/ha_partition.cc:8331:9
    #3 0x55cee3aabb08 in ha_partition::multi_range_read_next(void**) /data/src/10.6-msan/sql/ha_partition.cc:6900:14
    #4 0x55cee343f496 in QUICK_RANGE_SELECT::get_next() /data/src/10.6-msan/sql/opt_range.cc:12753:5
    #5 0x55cee34396f8 in read_keys_and_merge_scans(THD*, TABLE*, List<QUICK_RANGE_SELECT>, QUICK_RANGE_SELECT*, READ_RECORD*, bool, Bitmap<64u>*, Unique**) /data/src/10.6-msan/sql/opt_range.cc:12301:32
    #6 0x55cee343b714 in QUICK_INDEX_MERGE_SELECT::read_keys_and_merge() /data/src/10.6-msan/sql/opt_range.cc:12370:11
    #7 0x55cee33b0f64 in QUICK_INDEX_SORT_SELECT::reset() /data/src/10.6-msan/sql/opt_range.cc:1401:21
    #8 0x55cee21d2402 in join_init_read_record(st_join_table*) /data/src/10.6-msan/sql/sql_select.cc:22689:64
    #9 0x55cee213cb21 in sub_select(JOIN*, st_join_table*, bool) /data/src/10.6-msan/sql/sql_select.cc:21725:12
    #10 0x55cee21dd11d in do_select(JOIN*, Procedure*) /data/src/10.6-msan/sql/sql_select.cc:21258:14
    #11 0x55cee21dd11d in JOIN::exec_inner() /data/src/10.6-msan/sql/sql_select.cc:4834:50
    #12 0x55cee21d8c97 in JOIN::exec() /data/src/10.6-msan/sql/sql_select.cc:4612:3
    #13 0x55cee213fcc0 in mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*) /data/src/10.6-msan/sql/sql_select.cc:5091:9
    #14 0x55cee213e6d6 in handle_select(THD*, LEX*, select_result*, unsigned long) /data/src/10.6-msan/sql/sql_select.cc:559:10
    #15 0x55cee2073b3a in execute_sqlcom_select(THD*, TABLE_LIST*) /data/src/10.6-msan/sql/sql_parse.cc:6285:12
    #16 0x55cee204d7ee in mysql_execute_command(THD*, bool) /data/src/10.6-msan/sql/sql_parse.cc:3961:12
    #17 0x55cee203524a in mysql_parse(THD*, char*, unsigned int, Parser_state*) /data/src/10.6-msan/sql/sql_parse.cc:8050:18
    #18 0x55cee2029790 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /data/src/10.6-msan/sql/sql_parse.cc:1896:7
    #19 0x55cee2037640 in do_command(THD*, bool) /data/src/10.6-msan/sql/sql_parse.cc:1409:17
    #20 0x55cee2a38d0b in threadpool_process_request(THD*) /data/src/10.6-msan/sql/threadpool_common.cc:432:13
    #21 0x55cee2a38d0b in tp_callback(TP_connection*) /data/src/10.6-msan/sql/threadpool_common.cc:244:12
    #22 0x55cee3656bfe in worker_main(void*) /data/src/10.6-msan/sql/threadpool_generic.cc:1556:5
    #23 0x55cee3adf18a in pfs_spawn_thread /data/src/10.6-msan/storage/perfschema/pfs.cc:2201:3
    #24 0x7f6d86e97043 in start_thread nptl/./nptl/pthread_create.c:442:8
    #25 0x7f6d86f1761b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
 
  Uninitialized value was stored to memory at
    #0 0x55cee1b22a79 in __msan_memcpy (/mnt8t/src/10.6-msan/sql/mariadbd+0x793a79)
    #1 0x55cee3a9fe34 in ha_partition::handle_ordered_next(unsigned char*, bool) /data/src/10.6-msan/sql/ha_partition.cc:8327:7
 
  Uninitialized value was stored to memory at
    #0 0x55cee1b22a79 in __msan_memcpy (/mnt8t/src/10.6-msan/sql/mariadbd+0x793a79)
    #1 0x55cee4479e5a in row_sel_dequeue_cached_row_for_mysql(unsigned char*, row_prebuilt_t*) /data/src/10.6-msan/storage/innobase/row/row0sel.cc:3848:3
 
  Memory was marked as uninitialized
    #0 0x55cee1b2921e in __msan_allocated_memory (/mnt8t/src/10.6-msan/sql/mariadbd+0x79a21e)
    #1 0x55cee4484207 in row_sel_fetch_last_buf(row_prebuilt_t*) /data/src/10.6-msan/storage/innobase/row/row0sel.cc:3912:2
 
SUMMARY: MemorySanitizer: use-of-uninitialized-value /data/src/10.6-msan/sql/field.h:4590:9 in Field_blob::cached(bool*)
Exiting

Also reproducible on 10.6.15 (not a recent regression).



 Comments   
Comment by Elena Stepanova [ 2023-11-25 ]

The reduced test case was too similar to MDEV-27569, added it there instead.

Generated at Thu Feb 08 10:33:11 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.