Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-35620

UBSAN: runtime error: applying zero offset to null pointer in _ma_unique_hash, skip_trailing_space, my_hash_sort_mb_nopad_bin and my_strnncollsp_utf8mb4_bin

    XMLWordPrintable

Details

    Description

      SELECT DISTINCT user,authentication_string FROM mysql.user;
      

      Leads to:

      CS 10.5.28 142851f1205d98270b917a98e1bdd483e1b8af0e (Optimized, UBASAN, Clang)

      /test/10.5_opt_san/storage/maria/ma_unique.c:145:13: runtime error: applying zero offset to null pointer
          #0 0x55978ce467e2 in _ma_unique_hash /test/10.5_opt_san/storage/maria/ma_unique.c:145:13
          #1 0x55978cfe90c3 in maria_write /test/10.5_opt_san/storage/maria/ma_write.c:133:32
          #2 0x55978b5a0999 in handler::ha_write_tmp_row(unsigned char*) /test/10.5_opt_san/sql/sql_class.h:7319:3
          #3 0x55978b5fc26b in end_write(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:22787:32
          #4 0x55978b64b2bb in AGGR_OP::put_record(bool) /test/10.5_opt_san/sql/sql_select.cc:30158:30
          #5 0x55978b5425d7 in AGGR_OP::put_record() /test/10.5_opt_san/sql/sql_select.h:1087:48
          #6 0x55978b5425d7 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:21009:13
          #7 0x55978b606d5f in evaluate_join_record(JOIN*, st_join_table*, int) /test/10.5_opt_san/sql/sql_select.cc:21538:11
          #8 0x55978b602bb2 in sub_select(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:21308:9
          #9 0x55978b55c182 in do_select(JOIN*, Procedure*) /test/10.5_opt_san/sql/sql_select.cc:20825:14
          #10 0x55978b5576d4 in JOIN::exec_inner() /test/10.5_opt_san/sql/sql_select.cc:4661:50
          #11 0x55978b55499c in JOIN::exec() /test/10.5_opt_san/sql/sql_select.cc:4441:3
          #12 0x55978b4ba0c3 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*) /test/10.5_opt_san/sql/sql_select.cc:4918:9
          #13 0x55978b4b887d in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_opt_san/sql/sql_select.cc:449:10
          #14 0x55978b3cfc82 in execute_sqlcom_select(THD*, TABLE_LIST*) /test/10.5_opt_san/sql/sql_parse.cc:6437:12
          #15 0x55978b3b2aef in mysql_execute_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:4029:12
          #16 0x55978b37a168 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:8237:18
          #17 0x55978b36d160 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:1891:7
          #18 0x55978b37cba9 in do_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:1375:17
          #19 0x55978ba82f72 in do_handle_one_connection(CONNECT*, bool) /test/10.5_opt_san/sql/sql_connect.cc:1386:11
          #20 0x55978ba823d4 in handle_one_connection /test/10.5_opt_san/sql/sql_connect.cc:1298:5
          #21 0x55978ade310c in asan_thread_start(void*) asan_interceptors.cpp.o
          #22 0x14c9eb09ca93 in start_thread nptl/pthread_create.c:447:8
          #23 0x14c9eb129c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset /test/10.5_opt_san/storage/maria/ma_unique.c:145:13 
      /test/10.5_opt_san/strings/strings_def.h:83:25: runtime error: applying zero offset to null pointer
          #0 0x55978dec8778 in skip_trailing_space /test/10.5_opt_san/strings/strings_def.h:83:25
          #1 0x55978dec8778 in my_hash_sort_mb_bin /test/10.5_opt_san/strings/ctype-mb.c:638:21
          #2 0x55978ce46396 in my_ci_hash_sort /test/10.5_opt_san/include/m_ctype.h:1173:3
          #3 0x55978ce46396 in _ma_unique_hash /test/10.5_opt_san/storage/maria/ma_unique.c:149:7
          #4 0x55978cfe90c3 in maria_write /test/10.5_opt_san/storage/maria/ma_write.c:133:32
          #5 0x55978b5a0999 in handler::ha_write_tmp_row(unsigned char*) /test/10.5_opt_san/sql/sql_class.h:7319:3
          #6 0x55978b5fc26b in end_write(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:22787:32
          #7 0x55978b64b2bb in AGGR_OP::put_record(bool) /test/10.5_opt_san/sql/sql_select.cc:30158:30
          #8 0x55978b5425d7 in AGGR_OP::put_record() /test/10.5_opt_san/sql/sql_select.h:1087:48
          #9 0x55978b5425d7 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:21009:13
          #10 0x55978b606d5f in evaluate_join_record(JOIN*, st_join_table*, int) /test/10.5_opt_san/sql/sql_select.cc:21538:11
          #11 0x55978b602bb2 in sub_select(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:21308:9
          #12 0x55978b55c182 in do_select(JOIN*, Procedure*) /test/10.5_opt_san/sql/sql_select.cc:20825:14
          #13 0x55978b5576d4 in JOIN::exec_inner() /test/10.5_opt_san/sql/sql_select.cc:4661:50
          #14 0x55978b55499c in JOIN::exec() /test/10.5_opt_san/sql/sql_select.cc:4441:3
          #15 0x55978b4ba0c3 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*) /test/10.5_opt_san/sql/sql_select.cc:4918:9
          #16 0x55978b4b887d in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_opt_san/sql/sql_select.cc:449:10
          #17 0x55978b3cfc82 in execute_sqlcom_select(THD*, TABLE_LIST*) /test/10.5_opt_san/sql/sql_parse.cc:6437:12
          #18 0x55978b3b2aef in mysql_execute_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:4029:12
          #19 0x55978b37a168 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:8237:18
          #20 0x55978b36d160 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:1891:7
          #21 0x55978b37cba9 in do_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:1375:17
          #22 0x55978ba82f72 in do_handle_one_connection(CONNECT*, bool) /test/10.5_opt_san/sql/sql_connect.cc:1386:11
          #23 0x55978ba823d4 in handle_one_connection /test/10.5_opt_san/sql/sql_connect.cc:1298:5
          #24 0x55978ade310c in asan_thread_start(void*) asan_interceptors.cpp.o
          #25 0x14c9eb09ca93 in start_thread nptl/pthread_create.c:447:8
          #26 0x14c9eb129c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset /test/10.5_opt_san/strings/strings_def.h:83:25 
      /test/10.5_opt_san/strings/ctype-mb.c:620:25: runtime error: applying zero offset to null pointer
          #0 0x55978dec842f in my_hash_sort_mb_nopad_bin /test/10.5_opt_san/strings/ctype-mb.c:620:25
          #1 0x55978ce46396 in my_ci_hash_sort /test/10.5_opt_san/include/m_ctype.h:1173:3
          #2 0x55978ce46396 in _ma_unique_hash /test/10.5_opt_san/storage/maria/ma_unique.c:149:7
          #3 0x55978cfe90c3 in maria_write /test/10.5_opt_san/storage/maria/ma_write.c:133:32
          #4 0x55978b5a0999 in handler::ha_write_tmp_row(unsigned char*) /test/10.5_opt_san/sql/sql_class.h:7319:3
          #5 0x55978b5fc26b in end_write(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:22787:32
          #6 0x55978b64b2bb in AGGR_OP::put_record(bool) /test/10.5_opt_san/sql/sql_select.cc:30158:30
          #7 0x55978b5425d7 in AGGR_OP::put_record() /test/10.5_opt_san/sql/sql_select.h:1087:48
          #8 0x55978b5425d7 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:21009:13
          #9 0x55978b606d5f in evaluate_join_record(JOIN*, st_join_table*, int) /test/10.5_opt_san/sql/sql_select.cc:21538:11
          #10 0x55978b602bb2 in sub_select(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:21308:9
          #11 0x55978b55c182 in do_select(JOIN*, Procedure*) /test/10.5_opt_san/sql/sql_select.cc:20825:14
          #12 0x55978b5576d4 in JOIN::exec_inner() /test/10.5_opt_san/sql/sql_select.cc:4661:50
          #13 0x55978b55499c in JOIN::exec() /test/10.5_opt_san/sql/sql_select.cc:4441:3
          #14 0x55978b4ba0c3 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*) /test/10.5_opt_san/sql/sql_select.cc:4918:9
          #15 0x55978b4b887d in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_opt_san/sql/sql_select.cc:449:10
          #16 0x55978b3cfc82 in execute_sqlcom_select(THD*, TABLE_LIST*) /test/10.5_opt_san/sql/sql_parse.cc:6437:12
          #17 0x55978b3b2aef in mysql_execute_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:4029:12
          #18 0x55978b37a168 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:8237:18
          #19 0x55978b36d160 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:1891:7
          #20 0x55978b37cba9 in do_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:1375:17
          #21 0x55978ba82f72 in do_handle_one_connection(CONNECT*, bool) /test/10.5_opt_san/sql/sql_connect.cc:1386:11
          #22 0x55978ba823d4 in handle_one_connection /test/10.5_opt_san/sql/sql_connect.cc:1298:5
          #23 0x55978ade310c in asan_thread_start(void*) asan_interceptors.cpp.o
          #24 0x14c9eb09ca93 in start_thread nptl/pthread_create.c:447:8
          #25 0x14c9eb129c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset /test/10.5_opt_san/strings/ctype-mb.c:620:25 
      /test/10.5_opt_san/strings/strcoll.inl:250:25: runtime error: applying zero offset to null pointer
          #0 0x55978df6c700 in my_strnncollsp_utf8mb4_bin /test/10.5_opt_san/strings/strcoll.inl:250:25
          #1 0x55978ce47502 in ha_compare_char_varying /test/10.5_opt_san/include/my_compare.h:139:12
          #2 0x55978ce47502 in _ma_unique_comp /test/10.5_opt_san/storage/maria/ma_unique.c:252:11
          #3 0x55978ce42113 in _ma_cmp_dynamic_unique /test/10.5_opt_san/storage/maria/ma_dynrec.c:1611:11
          #4 0x55978ce4528d in _ma_check_unique /test/10.5_opt_san/storage/maria/ma_unique.c:69:3
          #5 0x55978cfe8fe0 in maria_write /test/10.5_opt_san/storage/maria/ma_write.c:136:13
          #6 0x55978b5a0999 in handler::ha_write_tmp_row(unsigned char*) /test/10.5_opt_san/sql/sql_class.h:7319:3
          #7 0x55978b5fc26b in end_write(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:22787:32
          #8 0x55978b64b2bb in AGGR_OP::put_record(bool) /test/10.5_opt_san/sql/sql_select.cc:30158:30
          #9 0x55978b5425d7 in AGGR_OP::put_record() /test/10.5_opt_san/sql/sql_select.h:1087:48
          #10 0x55978b5425d7 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:21009:13
          #11 0x55978b606d5f in evaluate_join_record(JOIN*, st_join_table*, int) /test/10.5_opt_san/sql/sql_select.cc:21538:11
          #12 0x55978b60339a in sub_select(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:21347:9
          #13 0x55978b55c182 in do_select(JOIN*, Procedure*) /test/10.5_opt_san/sql/sql_select.cc:20825:14
          #14 0x55978b5576d4 in JOIN::exec_inner() /test/10.5_opt_san/sql/sql_select.cc:4661:50
          #15 0x55978b55499c in JOIN::exec() /test/10.5_opt_san/sql/sql_select.cc:4441:3
          #16 0x55978b4ba0c3 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*) /test/10.5_opt_san/sql/sql_select.cc:4918:9
          #17 0x55978b4b887d in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_opt_san/sql/sql_select.cc:449:10
          #18 0x55978b3cfc82 in execute_sqlcom_select(THD*, TABLE_LIST*) /test/10.5_opt_san/sql/sql_parse.cc:6437:12
          #19 0x55978b3b2aef in mysql_execute_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:4029:12
          #20 0x55978b37a168 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:8237:18
          #21 0x55978b36d160 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:1891:7
          #22 0x55978b37cba9 in do_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:1375:17
          #23 0x55978ba82f72 in do_handle_one_connection(CONNECT*, bool) /test/10.5_opt_san/sql/sql_connect.cc:1386:11
          #24 0x55978ba823d4 in handle_one_connection /test/10.5_opt_san/sql/sql_connect.cc:1298:5
          #25 0x55978ade310c in asan_thread_start(void*) asan_interceptors.cpp.o
          #26 0x14c9eb09ca93 in start_thread nptl/pthread_create.c:447:8
          #27 0x14c9eb129c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset /test/10.5_opt_san/strings/strcoll.inl:250:25 
      /test/10.5_opt_san/strings/strcoll.inl:251:25: runtime error: applying zero offset to null pointer
          #0 0x55978df6c72b in my_strnncollsp_utf8mb4_bin /test/10.5_opt_san/strings/strcoll.inl:251:25
          #1 0x55978ce47502 in ha_compare_char_varying /test/10.5_opt_san/include/my_compare.h:139:12
          #2 0x55978ce47502 in _ma_unique_comp /test/10.5_opt_san/storage/maria/ma_unique.c:252:11
          #3 0x55978ce42113 in _ma_cmp_dynamic_unique /test/10.5_opt_san/storage/maria/ma_dynrec.c:1611:11
          #4 0x55978ce4528d in _ma_check_unique /test/10.5_opt_san/storage/maria/ma_unique.c:69:3
          #5 0x55978cfe8fe0 in maria_write /test/10.5_opt_san/storage/maria/ma_write.c:136:13
          #6 0x55978b5a0999 in handler::ha_write_tmp_row(unsigned char*) /test/10.5_opt_san/sql/sql_class.h:7319:3
          #7 0x55978b5fc26b in end_write(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:22787:32
          #8 0x55978b64b2bb in AGGR_OP::put_record(bool) /test/10.5_opt_san/sql/sql_select.cc:30158:30
          #9 0x55978b5425d7 in AGGR_OP::put_record() /test/10.5_opt_san/sql/sql_select.h:1087:48
          #10 0x55978b5425d7 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:21009:13
          #11 0x55978b606d5f in evaluate_join_record(JOIN*, st_join_table*, int) /test/10.5_opt_san/sql/sql_select.cc:21538:11
          #12 0x55978b60339a in sub_select(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:21347:9
          #13 0x55978b55c182 in do_select(JOIN*, Procedure*) /test/10.5_opt_san/sql/sql_select.cc:20825:14
          #14 0x55978b5576d4 in JOIN::exec_inner() /test/10.5_opt_san/sql/sql_select.cc:4661:50
          #15 0x55978b55499c in JOIN::exec() /test/10.5_opt_san/sql/sql_select.cc:4441:3
          #16 0x55978b4ba0c3 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*) /test/10.5_opt_san/sql/sql_select.cc:4918:9
          #17 0x55978b4b887d in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_opt_san/sql/sql_select.cc:449:10
          #18 0x55978b3cfc82 in execute_sqlcom_select(THD*, TABLE_LIST*) /test/10.5_opt_san/sql/sql_parse.cc:6437:12
          #19 0x55978b3b2aef in mysql_execute_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:4029:12
          #20 0x55978b37a168 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:8237:18
          #21 0x55978b36d160 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:1891:7
          #22 0x55978b37cba9 in do_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:1375:17
          #23 0x55978ba82f72 in do_handle_one_connection(CONNECT*, bool) /test/10.5_opt_san/sql/sql_connect.cc:1386:11
          #24 0x55978ba823d4 in handle_one_connection /test/10.5_opt_san/sql/sql_connect.cc:1298:5
          #25 0x55978ade310c in asan_thread_start(void*) asan_interceptors.cpp.o
          #26 0x14c9eb09ca93 in start_thread nptl/pthread_create.c:447:8
          #27 0x14c9eb129c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset /test/10.5_opt_san/strings/strcoll.inl:251:25 
      

      CS 10.5.28 142851f1205d98270b917a98e1bdd483e1b8af0e (Debug, UBASAN, Clang)

      /test/10.5_dbg_san/storage/maria/ma_unique.c:145:13: runtime error: applying zero offset to null pointer
          #0 0x55e816aa7a8e in _ma_unique_hash /test/10.5_dbg_san/storage/maria/ma_unique.c:145:13
          #1 0x55e816e4ee6b in maria_write /test/10.5_dbg_san/storage/maria/ma_write.c:133:32
          #2 0x55e816ae4b46 in ha_maria::write_row(unsigned char const*) /test/10.5_dbg_san/storage/maria/ha_maria.cc:1246:10
          #3 0x55e813749ca4 in handler::ha_write_tmp_row(unsigned char*) /test/10.5_dbg_san/sql/sql_class.h:7319:3
          #4 0x55e813808af6 in end_write(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:22787:32
          #5 0x55e8138a4a52 in AGGR_OP::put_record(bool) /test/10.5_dbg_san/sql/sql_select.cc:30158:30
          #6 0x55e8138182f1 in AGGR_OP::put_record() /test/10.5_dbg_san/sql/sql_select.h:1087:48
          #7 0x55e81368e345 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:21009:13
          #8 0x55e81381ceb4 in evaluate_join_record(JOIN*, st_join_table*, int) /test/10.5_dbg_san/sql/sql_select.cc:21538:11
          #9 0x55e813815e59 in sub_select(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:21308:9
          #10 0x55e8136c5c24 in do_select(JOIN*, Procedure*) /test/10.5_dbg_san/sql/sql_select.cc:20825:14
          #11 0x55e8136bc08a in JOIN::exec_inner() /test/10.5_dbg_san/sql/sql_select.cc:4661:50
          #12 0x55e8136b48d1 in JOIN::exec() /test/10.5_dbg_san/sql/sql_select.cc:4441:3
          #13 0x55e813563543 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*) /test/10.5_dbg_san/sql/sql_select.cc:4918:9
          #14 0x55e81355f0c7 in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_dbg_san/sql/sql_select.cc:449:10
          #15 0x55e81333b3f0 in execute_sqlcom_select(THD*, TABLE_LIST*) /test/10.5_dbg_san/sql/sql_parse.cc:6437:12
          #16 0x55e8132cf59f in mysql_execute_command(THD*) /test/10.5_dbg_san/sql/sql_parse.cc:4029:12
          #17 0x55e8132764e3 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_dbg_san/sql/sql_parse.cc:8237:18
          #18 0x55e813256453 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_dbg_san/sql/sql_parse.cc:1891:7
          #19 0x55e81327ea19 in do_command(THD*) /test/10.5_dbg_san/sql/sql_parse.cc:1375:17
          #20 0x55e8141f8f30 in do_handle_one_connection(CONNECT*, bool) /test/10.5_dbg_san/sql/sql_connect.cc:1386:11
          #21 0x55e8141f76fd in handle_one_connection /test/10.5_dbg_san/sql/sql_connect.cc:1298:5
          #22 0x55e8126f2a8c in asan_thread_start(void*) asan_interceptors.cpp.o
          #23 0x14e9a289ca93 in start_thread nptl/pthread_create.c:447:8
          #24 0x14e9a2929c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset /test/10.5_dbg_san/storage/maria/ma_unique.c:145:13 
      /test/10.5_dbg_san/strings/strings_def.h:83:25: runtime error: applying zero offset to null pointer
          #0 0x55e81931cab4 in skip_trailing_space /test/10.5_dbg_san/strings/strings_def.h:83:25
          #1 0x55e81931ca00 in my_hash_sort_mb_bin /test/10.5_dbg_san/strings/ctype-mb.c:638:21
          #2 0x55e816aa7e2c in my_ci_hash_sort /test/10.5_dbg_san/include/m_ctype.h:1173:3
          #3 0x55e816aa7b4a in _ma_unique_hash /test/10.5_dbg_san/storage/maria/ma_unique.c:149:7
          #4 0x55e816e4ee6b in maria_write /test/10.5_dbg_san/storage/maria/ma_write.c:133:32
          #5 0x55e816ae4b46 in ha_maria::write_row(unsigned char const*) /test/10.5_dbg_san/storage/maria/ha_maria.cc:1246:10
          #6 0x55e813749ca4 in handler::ha_write_tmp_row(unsigned char*) /test/10.5_dbg_san/sql/sql_class.h:7319:3
          #7 0x55e813808af6 in end_write(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:22787:32
          #8 0x55e8138a4a52 in AGGR_OP::put_record(bool) /test/10.5_dbg_san/sql/sql_select.cc:30158:30
          #9 0x55e8138182f1 in AGGR_OP::put_record() /test/10.5_dbg_san/sql/sql_select.h:1087:48
          #10 0x55e81368e345 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:21009:13
          #11 0x55e81381ceb4 in evaluate_join_record(JOIN*, st_join_table*, int) /test/10.5_dbg_san/sql/sql_select.cc:21538:11
          #12 0x55e813815e59 in sub_select(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:21308:9
          #13 0x55e8136c5c24 in do_select(JOIN*, Procedure*) /test/10.5_dbg_san/sql/sql_select.cc:20825:14
          #14 0x55e8136bc08a in JOIN::exec_inner() /test/10.5_dbg_san/sql/sql_select.cc:4661:50
          #15 0x55e8136b48d1 in JOIN::exec() /test/10.5_dbg_san/sql/sql_select.cc:4441:3
          #16 0x55e813563543 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*) /test/10.5_dbg_san/sql/sql_select.cc:4918:9
          #17 0x55e81355f0c7 in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_dbg_san/sql/sql_select.cc:449:10
          #18 0x55e81333b3f0 in execute_sqlcom_select(THD*, TABLE_LIST*) /test/10.5_dbg_san/sql/sql_parse.cc:6437:12
          #19 0x55e8132cf59f in mysql_execute_command(THD*) /test/10.5_dbg_san/sql/sql_parse.cc:4029:12
          #20 0x55e8132764e3 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_dbg_san/sql/sql_parse.cc:8237:18
          #21 0x55e813256453 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_dbg_san/sql/sql_parse.cc:1891:7
          #22 0x55e81327ea19 in do_command(THD*) /test/10.5_dbg_san/sql/sql_parse.cc:1375:17
          #23 0x55e8141f8f30 in do_handle_one_connection(CONNECT*, bool) /test/10.5_dbg_san/sql/sql_connect.cc:1386:11
          #24 0x55e8141f76fd in handle_one_connection /test/10.5_dbg_san/sql/sql_connect.cc:1298:5
          #25 0x55e8126f2a8c in asan_thread_start(void*) asan_interceptors.cpp.o
          #26 0x14e9a289ca93 in start_thread nptl/pthread_create.c:447:8
          #27 0x14e9a2929c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset /test/10.5_dbg_san/strings/strings_def.h:83:25 
      /test/10.5_dbg_san/strings/ctype-mb.c:620:25: runtime error: applying zero offset to null pointer
          #0 0x55e81931c786 in my_hash_sort_mb_nopad_bin /test/10.5_dbg_san/strings/ctype-mb.c:620:25
          #1 0x55e81931ca24 in my_hash_sort_mb_bin /test/10.5_dbg_san/strings/ctype-mb.c:639:3
          #2 0x55e816aa7e2c in my_ci_hash_sort /test/10.5_dbg_san/include/m_ctype.h:1173:3
          #3 0x55e816aa7b4a in _ma_unique_hash /test/10.5_dbg_san/storage/maria/ma_unique.c:149:7
          #4 0x55e816e4ee6b in maria_write /test/10.5_dbg_san/storage/maria/ma_write.c:133:32
          #5 0x55e816ae4b46 in ha_maria::write_row(unsigned char const*) /test/10.5_dbg_san/storage/maria/ha_maria.cc:1246:10
          #6 0x55e813749ca4 in handler::ha_write_tmp_row(unsigned char*) /test/10.5_dbg_san/sql/sql_class.h:7319:3
          #7 0x55e813808af6 in end_write(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:22787:32
          #8 0x55e8138a4a52 in AGGR_OP::put_record(bool) /test/10.5_dbg_san/sql/sql_select.cc:30158:30
          #9 0x55e8138182f1 in AGGR_OP::put_record() /test/10.5_dbg_san/sql/sql_select.h:1087:48
          #10 0x55e81368e345 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:21009:13
          #11 0x55e81381ceb4 in evaluate_join_record(JOIN*, st_join_table*, int) /test/10.5_dbg_san/sql/sql_select.cc:21538:11
          #12 0x55e813815e59 in sub_select(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:21308:9
          #13 0x55e8136c5c24 in do_select(JOIN*, Procedure*) /test/10.5_dbg_san/sql/sql_select.cc:20825:14
          #14 0x55e8136bc08a in JOIN::exec_inner() /test/10.5_dbg_san/sql/sql_select.cc:4661:50
          #15 0x55e8136b48d1 in JOIN::exec() /test/10.5_dbg_san/sql/sql_select.cc:4441:3
          #16 0x55e813563543 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*) /test/10.5_dbg_san/sql/sql_select.cc:4918:9
          #17 0x55e81355f0c7 in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_dbg_san/sql/sql_select.cc:449:10
          #18 0x55e81333b3f0 in execute_sqlcom_select(THD*, TABLE_LIST*) /test/10.5_dbg_san/sql/sql_parse.cc:6437:12
          #19 0x55e8132cf59f in mysql_execute_command(THD*) /test/10.5_dbg_san/sql/sql_parse.cc:4029:12
          #20 0x55e8132764e3 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_dbg_san/sql/sql_parse.cc:8237:18
          #21 0x55e813256453 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_dbg_san/sql/sql_parse.cc:1891:7
          #22 0x55e81327ea19 in do_command(THD*) /test/10.5_dbg_san/sql/sql_parse.cc:1375:17
          #23 0x55e8141f8f30 in do_handle_one_connection(CONNECT*, bool) /test/10.5_dbg_san/sql/sql_connect.cc:1386:11
          #24 0x55e8141f76fd in handle_one_connection /test/10.5_dbg_san/sql/sql_connect.cc:1298:5
          #25 0x55e8126f2a8c in asan_thread_start(void*) asan_interceptors.cpp.o
          #26 0x14e9a289ca93 in start_thread nptl/pthread_create.c:447:8
          #27 0x14e9a2929c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset /test/10.5_dbg_san/strings/ctype-mb.c:620:25 
      /test/10.5_dbg_san/strings/strcoll.inl:250:25: runtime error: applying zero offset to null pointer
          #0 0x55e81942ba18 in my_strnncollsp_utf8mb4_bin /test/10.5_dbg_san/strings/strcoll.inl:250:25
          #1 0x55e816aaa7cf in ha_compare_char_varying /test/10.5_dbg_san/include/my_compare.h:139:12
          #2 0x55e816aaa025 in _ma_unique_comp /test/10.5_dbg_san/storage/maria/ma_unique.c:252:11
          #3 0x55e816a9ecc5 in _ma_cmp_dynamic_unique /test/10.5_dbg_san/storage/maria/ma_dynrec.c:1611:11
          #4 0x55e816aa5ce7 in _ma_check_unique /test/10.5_dbg_san/storage/maria/ma_unique.c:69:3
          #5 0x55e816e4f06c in maria_write /test/10.5_dbg_san/storage/maria/ma_write.c:136:13
          #6 0x55e816ae4b46 in ha_maria::write_row(unsigned char const*) /test/10.5_dbg_san/storage/maria/ha_maria.cc:1246:10
          #7 0x55e813749ca4 in handler::ha_write_tmp_row(unsigned char*) /test/10.5_dbg_san/sql/sql_class.h:7319:3
          #8 0x55e813808af6 in end_write(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:22787:32
          #9 0x55e8138a4a52 in AGGR_OP::put_record(bool) /test/10.5_dbg_san/sql/sql_select.cc:30158:30
          #10 0x55e8138182f1 in AGGR_OP::put_record() /test/10.5_dbg_san/sql/sql_select.h:1087:48
          #11 0x55e81368e345 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:21009:13
          #12 0x55e81381ceb4 in evaluate_join_record(JOIN*, st_join_table*, int) /test/10.5_dbg_san/sql/sql_select.cc:21538:11
          #13 0x55e813817a93 in sub_select(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:21347:9
          #14 0x55e8136c5c24 in do_select(JOIN*, Procedure*) /test/10.5_dbg_san/sql/sql_select.cc:20825:14
          #15 0x55e8136bc08a in JOIN::exec_inner() /test/10.5_dbg_san/sql/sql_select.cc:4661:50
          #16 0x55e8136b48d1 in JOIN::exec() /test/10.5_dbg_san/sql/sql_select.cc:4441:3
          #17 0x55e813563543 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*) /test/10.5_dbg_san/sql/sql_select.cc:4918:9
          #18 0x55e81355f0c7 in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_dbg_san/sql/sql_select.cc:449:10
          #19 0x55e81333b3f0 in execute_sqlcom_select(THD*, TABLE_LIST*) /test/10.5_dbg_san/sql/sql_parse.cc:6437:12
          #20 0x55e8132cf59f in mysql_execute_command(THD*) /test/10.5_dbg_san/sql/sql_parse.cc:4029:12
          #21 0x55e8132764e3 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_dbg_san/sql/sql_parse.cc:8237:18
          #22 0x55e813256453 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_dbg_san/sql/sql_parse.cc:1891:7
          #23 0x55e81327ea19 in do_command(THD*) /test/10.5_dbg_san/sql/sql_parse.cc:1375:17
          #24 0x55e8141f8f30 in do_handle_one_connection(CONNECT*, bool) /test/10.5_dbg_san/sql/sql_connect.cc:1386:11
          #25 0x55e8141f76fd in handle_one_connection /test/10.5_dbg_san/sql/sql_connect.cc:1298:5
          #26 0x55e8126f2a8c in asan_thread_start(void*) asan_interceptors.cpp.o
          #27 0x14e9a289ca93 in start_thread nptl/pthread_create.c:447:8
          #28 0x14e9a2929c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset /test/10.5_dbg_san/strings/strcoll.inl:250:25 
      /test/10.5_dbg_san/strings/strcoll.inl:251:25: runtime error: applying zero offset to null pointer
          #0 0x55e81942ba96 in my_strnncollsp_utf8mb4_bin /test/10.5_dbg_san/strings/strcoll.inl:251:25
          #1 0x55e816aaa7cf in ha_compare_char_varying /test/10.5_dbg_san/include/my_compare.h:139:12
          #2 0x55e816aaa025 in _ma_unique_comp /test/10.5_dbg_san/storage/maria/ma_unique.c:252:11
          #3 0x55e816a9ecc5 in _ma_cmp_dynamic_unique /test/10.5_dbg_san/storage/maria/ma_dynrec.c:1611:11
          #4 0x55e816aa5ce7 in _ma_check_unique /test/10.5_dbg_san/storage/maria/ma_unique.c:69:3
          #5 0x55e816e4f06c in maria_write /test/10.5_dbg_san/storage/maria/ma_write.c:136:13
          #6 0x55e816ae4b46 in ha_maria::write_row(unsigned char const*) /test/10.5_dbg_san/storage/maria/ha_maria.cc:1246:10
          #7 0x55e813749ca4 in handler::ha_write_tmp_row(unsigned char*) /test/10.5_dbg_san/sql/sql_class.h:7319:3
          #8 0x55e813808af6 in end_write(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:22787:32
          #9 0x55e8138a4a52 in AGGR_OP::put_record(bool) /test/10.5_dbg_san/sql/sql_select.cc:30158:30
          #10 0x55e8138182f1 in AGGR_OP::put_record() /test/10.5_dbg_san/sql/sql_select.h:1087:48
          #11 0x55e81368e345 in sub_select_postjoin_aggr(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:21009:13
          #12 0x55e81381ceb4 in evaluate_join_record(JOIN*, st_join_table*, int) /test/10.5_dbg_san/sql/sql_select.cc:21538:11
          #13 0x55e813817a93 in sub_select(JOIN*, st_join_table*, bool) /test/10.5_dbg_san/sql/sql_select.cc:21347:9
          #14 0x55e8136c5c24 in do_select(JOIN*, Procedure*) /test/10.5_dbg_san/sql/sql_select.cc:20825:14
          #15 0x55e8136bc08a in JOIN::exec_inner() /test/10.5_dbg_san/sql/sql_select.cc:4661:50
          #16 0x55e8136b48d1 in JOIN::exec() /test/10.5_dbg_san/sql/sql_select.cc:4441:3
          #17 0x55e813563543 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*) /test/10.5_dbg_san/sql/sql_select.cc:4918:9
          #18 0x55e81355f0c7 in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_dbg_san/sql/sql_select.cc:449:10
          #19 0x55e81333b3f0 in execute_sqlcom_select(THD*, TABLE_LIST*) /test/10.5_dbg_san/sql/sql_parse.cc:6437:12
          #20 0x55e8132cf59f in mysql_execute_command(THD*) /test/10.5_dbg_san/sql/sql_parse.cc:4029:12
          #21 0x55e8132764e3 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_dbg_san/sql/sql_parse.cc:8237:18
          #22 0x55e813256453 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_dbg_san/sql/sql_parse.cc:1891:7
          #23 0x55e81327ea19 in do_command(THD*) /test/10.5_dbg_san/sql/sql_parse.cc:1375:17
          #24 0x55e8141f8f30 in do_handle_one_connection(CONNECT*, bool) /test/10.5_dbg_san/sql/sql_connect.cc:1386:11
          #25 0x55e8141f76fd in handle_one_connection /test/10.5_dbg_san/sql/sql_connect.cc:1298:5
          #26 0x55e8126f2a8c in asan_thread_start(void*) asan_interceptors.cpp.o
          #27 0x14e9a289ca93 in start_thread nptl/pthread_create.c:447:8
          #28 0x14e9a2929c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: nullptr-with-offset /test/10.5_dbg_san/strings/strcoll.inl:251:25 
      

      Setup:

      Compiled with a recent version of Clang (I used Clang 18.1.3) with LLVM 18:
          # Note: llvm-17-linker-tools installs /usr/lib/llvm-17/lib/LLVMgold.so, which is needed for compilation, and LLVMgold.so is no longer included in LLVM 18
          sudo apt install clang llvm-18 llvm-18-linker-tools llvm-18-runtime llvm-18-tools llvm-18-dev libstdc++-14-dev llvm-dev llvm-17-linker-tools
          sudo ln -s /usr/lib/llvm-17/lib/LLVMgold.so /usr/lib/llvm-18/lib/LLVMgold.so
      Compiled with: '-DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++' and:
          -DWITH_ASAN=ON -DWITH_ASAN_SCOPE=ON -DWITH_UBSAN=ON -DWSREP_LIB_WITH_ASAN=ON
      Set before execution:
          export UBSAN_OPTIONS=print_stacktrace=1:report_error_type=1   # And you may also want to supress UBSAN startup issues using 'suppressions=UBSAN.filter'. For an example of UBSAN.filter, which includes current startup issues see: https://github.com/mariadb-corporation/mariadb-qa/blob/master/UBSAN.filter
      

      Bug confirmed present in:
      MariaDB: 10.5.28 (dbg), 10.5.28 (opt), 10.6.21 (dbg), 10.6.21 (opt), 10.11.11 (dbg), 10.11.11 (opt), 11.4.5 (dbg), 11.4.5 (opt), 11.7.1 (dbg), 11.7.1 (opt), 11.8.0 (dbg), 11.8.0 (opt)

      Attachments

        Issue Links

          Activity

            People

              bar Alexander Barkov
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.