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

UBSAN: runtime error: call to function mysql_sys_var_long through pointer to incorrect function type in myrocks::get_or_create_tx and other myrocks::* functions

Details

    Description

      Large additional set of function-type-mismatch issues in connection with RocksDB/ALTER:

      --source include/have_innodb.inc
      INSTALL SONAME 'ha_rocksdb';
      CREATE TABLE t (a INT) ENGINE=InnoDB;
      ALTER TABLE t ENGINE=RocksDB;
      

      Leads to:

      CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Optimized, UBASAN, Clang)

      /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:20: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'
      /test/11.8_opt_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here
          #0 0x14c6188850c3 in myrocks::get_or_create_tx(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:20
          #1 0x14c6188eac01 in myrocks::ha_rocksdb::external_lock(THD*, int) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:11477:33
          #2 0x563e080fcadf in handler::ha_external_lock(THD*, int) /test/11.8_opt_san/sql/handler.cc:7659:3
          #3 0x563e074f90ba in copy_data_between_tables(THD*, TABLE*, TABLE*, bool, unsigned int, st_order*, unsigned long long*, unsigned long long*, Alter_info*, Alter_table_ctx*, bool, unsigned long long) /test/11.8_opt_san/sql/sql_table.cc:12343:17
          #4 0x563e074d28ef in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /test/11.8_opt_san/sql/sql_table.cc:11680:9
          #5 0x563e077d9267 in Sql_cmd_alter_table::execute(THD*) /test/11.8_opt_san/sql/sql_alter.cc:701:11
          #6 0x563e06ff5590 in mysql_execute_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:5872:26
          #7 0x563e06fc7c92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_opt_san/sql/sql_parse.cc:7901:18
          #8 0x563e06fbcb9e in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_opt_san/sql/sql_parse.cc:1903:7
          #9 0x563e06fcaa6e in do_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:1416:17
          #10 0x563e077abe38 in do_handle_one_connection(CONNECT*, bool) /test/11.8_opt_san/sql/sql_connect.cc:1415:11
          #11 0x563e077ab280 in handle_one_connection /test/11.8_opt_san/sql/sql_connect.cc:1327:5
          #12 0x563e068f3b0c in asan_thread_start(void*) asan_interceptors.cpp.o
          #13 0x14c64769ca93 in start_thread nptl/pthread_create.c:447:8
          #14 0x14c647729c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:20 
      

      CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Optimized, UBASAN, Clang)

      /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:52: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'
      /test/11.8_opt_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here
          #0 0x14c6188850e3 in myrocks::get_or_create_tx(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:52
          #1 0x14c6188eac01 in myrocks::ha_rocksdb::external_lock(THD*, int) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:11477:33
          #2 0x563e080fcadf in handler::ha_external_lock(THD*, int) /test/11.8_opt_san/sql/handler.cc:7659:3
          #3 0x563e074f90ba in copy_data_between_tables(THD*, TABLE*, TABLE*, bool, unsigned int, st_order*, unsigned long long*, unsigned long long*, Alter_info*, Alter_table_ctx*, bool, unsigned long long) /test/11.8_opt_san/sql/sql_table.cc:12343:17
          #4 0x563e074d28ef in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /test/11.8_opt_san/sql/sql_table.cc:11680:9
          #5 0x563e077d9267 in Sql_cmd_alter_table::execute(THD*) /test/11.8_opt_san/sql/sql_alter.cc:701:11
          #6 0x563e06ff5590 in mysql_execute_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:5872:26
          #7 0x563e06fc7c92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_opt_san/sql/sql_parse.cc:7901:18
          #8 0x563e06fbcb9e in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_opt_san/sql/sql_parse.cc:1903:7
          #9 0x563e06fcaa6e in do_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:1416:17
          #10 0x563e077abe38 in do_handle_one_connection(CONNECT*, bool) /test/11.8_opt_san/sql/sql_connect.cc:1415:11
          #11 0x563e077ab280 in handle_one_connection /test/11.8_opt_san/sql/sql_connect.cc:1327:5
          #12 0x563e068f3b0c in asan_thread_start(void*) asan_interceptors.cpp.o
          #13 0x14c64769ca93 in start_thread nptl/pthread_create.c:447:8
          #14 0x14c647729c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:52 
      

      CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Optimized, UBASAN, Clang)

      /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3424:37: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'
      /test/11.8_opt_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here
          #0 0x14c618950c9e in myrocks::Rdb_transaction_impl::start_tx() /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3424:37
          #1 0x14c618884f20 in myrocks::get_or_create_tx(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3789:9
          #2 0x14c6188eac01 in myrocks::ha_rocksdb::external_lock(THD*, int) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:11477:33
          #3 0x563e080fcadf in handler::ha_external_lock(THD*, int) /test/11.8_opt_san/sql/handler.cc:7659:3
          #4 0x563e074f90ba in copy_data_between_tables(THD*, TABLE*, TABLE*, bool, unsigned int, st_order*, unsigned long long*, unsigned long long*, Alter_info*, Alter_table_ctx*, bool, unsigned long long) /test/11.8_opt_san/sql/sql_table.cc:12343:17
          #5 0x563e074d28ef in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /test/11.8_opt_san/sql/sql_table.cc:11680:9
          #6 0x563e077d9267 in Sql_cmd_alter_table::execute(THD*) /test/11.8_opt_san/sql/sql_alter.cc:701:11
          #7 0x563e06ff5590 in mysql_execute_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:5872:26
          #8 0x563e06fc7c92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_opt_san/sql/sql_parse.cc:7901:18
          #9 0x563e06fbcb9e in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_opt_san/sql/sql_parse.cc:1903:7
          #10 0x563e06fcaa6e in do_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:1416:17
          #11 0x563e077abe38 in do_handle_one_connection(CONNECT*, bool) /test/11.8_opt_san/sql/sql_connect.cc:1415:11
          #12 0x563e077ab280 in handle_one_connection /test/11.8_opt_san/sql/sql_connect.cc:1327:5
          #13 0x563e068f3b0c in asan_thread_start(void*) asan_interceptors.cpp.o
          #14 0x14c64769ca93 in start_thread nptl/pthread_create.c:447:8
          #15 0x14c647729c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3424:37 
      

      CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Optimized, UBASAN, Clang)

      /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3429:36: runtime error: call to function mysql_sys_var_longlong(THD*, int) through pointer to incorrect function type 'unsigned long long *(*)(THD *, int)'
      /test/11.8_opt_san/sql/sql_plugin.cc:3233: note: mysql_sys_var_longlong(THD*, int) defined here
          #0 0x14c618950cde in myrocks::Rdb_transaction_impl::start_tx() /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3429:36
          #1 0x14c618884f20 in myrocks::get_or_create_tx(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3789:9
          #2 0x14c6188eac01 in myrocks::ha_rocksdb::external_lock(THD*, int) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:11477:33
          #3 0x563e080fcadf in handler::ha_external_lock(THD*, int) /test/11.8_opt_san/sql/handler.cc:7659:3
          #4 0x563e074f90ba in copy_data_between_tables(THD*, TABLE*, TABLE*, bool, unsigned int, st_order*, unsigned long long*, unsigned long long*, Alter_info*, Alter_table_ctx*, bool, unsigned long long) /test/11.8_opt_san/sql/sql_table.cc:12343:17
          #5 0x563e074d28ef in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /test/11.8_opt_san/sql/sql_table.cc:11680:9
          #6 0x563e077d9267 in Sql_cmd_alter_table::execute(THD*) /test/11.8_opt_san/sql/sql_alter.cc:701:11
          #7 0x563e06ff5590 in mysql_execute_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:5872:26
          #8 0x563e06fc7c92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_opt_san/sql/sql_parse.cc:7901:18
          #9 0x563e06fbcb9e in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_opt_san/sql/sql_parse.cc:1903:7
          #10 0x563e06fcaa6e in do_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:1416:17
          #11 0x563e077abe38 in do_handle_one_connection(CONNECT*, bool) /test/11.8_opt_san/sql/sql_connect.cc:1415:11
          #12 0x563e077ab280 in handle_one_connection /test/11.8_opt_san/sql/sql_connect.cc:1327:5
          #13 0x563e068f3b0c in asan_thread_start(void*) asan_interceptors.cpp.o
          #14 0x14c64769ca93 in start_thread nptl/pthread_create.c:447:8
          #15 0x14c647729c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3429:36 
      

      CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Debug, UBASAN, Clang)

      /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:20: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'
      /test/11.8_dbg_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here
          #0 0x146d9696dcda in myrocks::get_or_create_tx(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:20
          #1 0x146d96a2ad7c in myrocks::ha_rocksdb::external_lock(THD*, int) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:11477:33
          #2 0x55af4328da9e in handler::ha_external_lock(THD*, int) /test/11.8_dbg_san/sql/handler.cc:7659:3
          #3 0x55af417ef44e in copy_data_between_tables(THD*, TABLE*, TABLE*, bool, unsigned int, st_order*, unsigned long long*, unsigned long long*, Alter_info*, Alter_table_ctx*, bool, unsigned long long) /test/11.8_dbg_san/sql/sql_table.cc:12343:17
          #4 0x55af417994e4 in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /test/11.8_dbg_san/sql/sql_table.cc:11680:9
          #5 0x55af41e59ed3 in Sql_cmd_alter_table::execute(THD*) /test/11.8_dbg_san/sql/sql_alter.cc:701:11
          #6 0x55af40d28d67 in mysql_execute_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:5872:26
          #7 0x55af40c85ef9 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_san/sql/sql_parse.cc:7901:18
          #8 0x55af40c66db8 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1903:7
          #9 0x55af40c8fe56 in do_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1416:17
          #10 0x55af41df2556 in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_san/sql/sql_connect.cc:1415:11
          #11 0x55af41df0d19 in handle_one_connection /test/11.8_dbg_san/sql/sql_connect.cc:1327:5
          #12 0x55af3fe395fc in asan_thread_start(void*) asan_interceptors.cpp.o
          #13 0x146dc829ca93 in start_thread nptl/pthread_create.c:447:8
          #14 0x146dc8329c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:20 
      

      CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Debug, UBASAN, Clang)

      /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:52: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'
      /test/11.8_dbg_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here
          #0 0x146d9696ddfa in myrocks::get_or_create_tx(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:52
          #1 0x146d96a2ad7c in myrocks::ha_rocksdb::external_lock(THD*, int) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:11477:33
          #2 0x55af4328da9e in handler::ha_external_lock(THD*, int) /test/11.8_dbg_san/sql/handler.cc:7659:3
          #3 0x55af417ef44e in copy_data_between_tables(THD*, TABLE*, TABLE*, bool, unsigned int, st_order*, unsigned long long*, unsigned long long*, Alter_info*, Alter_table_ctx*, bool, unsigned long long) /test/11.8_dbg_san/sql/sql_table.cc:12343:17
          #4 0x55af417994e4 in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /test/11.8_dbg_san/sql/sql_table.cc:11680:9
          #5 0x55af41e59ed3 in Sql_cmd_alter_table::execute(THD*) /test/11.8_dbg_san/sql/sql_alter.cc:701:11
          #6 0x55af40d28d67 in mysql_execute_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:5872:26
          #7 0x55af40c85ef9 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_san/sql/sql_parse.cc:7901:18
          #8 0x55af40c66db8 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1903:7
          #9 0x55af40c8fe56 in do_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1416:17
          #10 0x55af41df2556 in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_san/sql/sql_connect.cc:1415:11
          #11 0x55af41df0d19 in handle_one_connection /test/11.8_dbg_san/sql/sql_connect.cc:1327:5
          #12 0x55af3fe395fc in asan_thread_start(void*) asan_interceptors.cpp.o
          #13 0x146dc829ca93 in start_thread nptl/pthread_create.c:447:8
          #14 0x146dc8329c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:52 
      

      CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Debug, UBASAN, Clang)

      /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3424:37: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'
      /test/11.8_dbg_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here
          #0 0x146d96b05b39 in myrocks::Rdb_transaction_impl::start_tx() /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3424:37
          #1 0x146d9696e05d in myrocks::get_or_create_tx(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3789:9
          #2 0x146d96a2ad7c in myrocks::ha_rocksdb::external_lock(THD*, int) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:11477:33
          #3 0x55af4328da9e in handler::ha_external_lock(THD*, int) /test/11.8_dbg_san/sql/handler.cc:7659:3
          #4 0x55af417ef44e in copy_data_between_tables(THD*, TABLE*, TABLE*, bool, unsigned int, st_order*, unsigned long long*, unsigned long long*, Alter_info*, Alter_table_ctx*, bool, unsigned long long) /test/11.8_dbg_san/sql/sql_table.cc:12343:17
          #5 0x55af417994e4 in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /test/11.8_dbg_san/sql/sql_table.cc:11680:9
          #6 0x55af41e59ed3 in Sql_cmd_alter_table::execute(THD*) /test/11.8_dbg_san/sql/sql_alter.cc:701:11
          #7 0x55af40d28d67 in mysql_execute_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:5872:26
          #8 0x55af40c85ef9 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_san/sql/sql_parse.cc:7901:18
          #9 0x55af40c66db8 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1903:7
          #10 0x55af40c8fe56 in do_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1416:17
          #11 0x55af41df2556 in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_san/sql/sql_connect.cc:1415:11
          #12 0x55af41df0d19 in handle_one_connection /test/11.8_dbg_san/sql/sql_connect.cc:1327:5
          #13 0x55af3fe395fc in asan_thread_start(void*) asan_interceptors.cpp.o
          #14 0x146dc829ca93 in start_thread nptl/pthread_create.c:447:8
          #15 0x146dc8329c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3424:37 
      

      CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Debug, UBASAN, Clang)

      /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3429:36: runtime error: call to function mysql_sys_var_longlong(THD*, int) through pointer to incorrect function type 'unsigned long long *(*)(THD *, int)'
      /test/11.8_dbg_san/sql/sql_plugin.cc:3233: note: mysql_sys_var_longlong(THD*, int) defined here
          #0 0x146d96b05f6a in myrocks::Rdb_transaction_impl::start_tx() /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3429:36
          #1 0x146d9696e05d in myrocks::get_or_create_tx(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3789:9
          #2 0x146d96a2ad7c in myrocks::ha_rocksdb::external_lock(THD*, int) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:11477:33
          #3 0x55af4328da9e in handler::ha_external_lock(THD*, int) /test/11.8_dbg_san/sql/handler.cc:7659:3
          #4 0x55af417ef44e in copy_data_between_tables(THD*, TABLE*, TABLE*, bool, unsigned int, st_order*, unsigned long long*, unsigned long long*, Alter_info*, Alter_table_ctx*, bool, unsigned long long) /test/11.8_dbg_san/sql/sql_table.cc:12343:17
          #5 0x55af417994e4 in mysql_alter_table(THD*, st_mysql_const_lex_string const*, st_mysql_const_lex_string const*, Table_specification_st*, TABLE_LIST*, Recreate_info*, Alter_info*, unsigned int, st_order*, bool, bool) /test/11.8_dbg_san/sql/sql_table.cc:11680:9
          #6 0x55af41e59ed3 in Sql_cmd_alter_table::execute(THD*) /test/11.8_dbg_san/sql/sql_alter.cc:701:11
          #7 0x55af40d28d67 in mysql_execute_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:5872:26
          #8 0x55af40c85ef9 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_san/sql/sql_parse.cc:7901:18
          #9 0x55af40c66db8 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1903:7
          #10 0x55af40c8fe56 in do_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1416:17
          #11 0x55af41df2556 in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_san/sql/sql_connect.cc:1415:11
          #12 0x55af41df0d19 in handle_one_connection /test/11.8_dbg_san/sql/sql_connect.cc:1327:5
          #13 0x55af3fe395fc in asan_thread_start(void*) asan_interceptors.cpp.o
          #14 0x146dc829ca93 in start_thread nptl/pthread_create.c:447:8
          #15 0x146dc8329c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
       
      SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3429:36 
      

      Setup:

      Compiled with a recent version of Clang (I used Clang 18.1.3) with LLVM 18. Ubuntu instructions:
           # 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

            UniqueID/Stack summary:

            UBSAN|call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'|storage/rocksdb/ha_rocksdb.cc|myrocks::get_or_create_tx|myrocks::ha_rocksdb::external_lock|handler::ha_external_lock|copy_data_between_tables
            UBSAN|call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'|storage/rocksdb/ha_rocksdb.cc|myrocks::Rdb_transaction_impl::start_tx|myrocks::get_or_create_tx|myrocks::ha_rocksdb::external_lock|handler::ha_external_lock
            UBSAN|call to function mysql_sys_var_longlong(THD*, int) through pointer to incorrect function type 'unsigned long long *(*)(THD *, int)'|storage/rocksdb/ha_rocksdb.cc|myrocks::Rdb_transaction_impl::start_tx|myrocks::get_or_create_tx|myrocks::ha_rocksdb::external_lock|handler::ha_external_lock
            

            Roel Roel Van de Paar added a comment - UniqueID/Stack summary: UBSAN|call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'|storage/rocksdb/ha_rocksdb.cc|myrocks::get_or_create_tx|myrocks::ha_rocksdb::external_lock|handler::ha_external_lock|copy_data_between_tables UBSAN|call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'|storage/rocksdb/ha_rocksdb.cc|myrocks::Rdb_transaction_impl::start_tx|myrocks::get_or_create_tx|myrocks::ha_rocksdb::external_lock|handler::ha_external_lock UBSAN|call to function mysql_sys_var_longlong(THD*, int) through pointer to incorrect function type 'unsigned long long *(*)(THD *, int)'|storage/rocksdb/ha_rocksdb.cc|myrocks::Rdb_transaction_impl::start_tx|myrocks::get_or_create_tx|myrocks::ha_rocksdb::external_lock|handler::ha_external_lock

            Additional stacks observed with:

            INSTALL SONAME 'ha_rocksdb';
            START TRANSACTION WITH CONSISTENT SNAPSHOT,READ WRITE;
            

            Leads to:

            CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Debug, UBASAN, Clang)

            /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:20: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'
            /test/11.8_dbg_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here
                #0 0x150a2416dcda in myrocks::get_or_create_tx(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:20
                #1 0x150a243da0c0 in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:4910:31
                #2 0x5595410aaf44 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_dbg_san/sql/handler.cc:3157:9
                #3 0x5595410716c4 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_dbg_san/sql/handler.cc:890:17
                #4 0x5595410aab48 in ha_start_consistent_snapshot(THD*) /test/11.8_dbg_san/sql/handler.cc:3176:8
                #5 0x55953fd0ac4b in trans_begin(THD*, unsigned int) /test/11.8_dbg_san/sql/transaction.cc:217:10
                #6 0x55953eb433f8 in mysql_execute_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:5481:9
                #7 0x55953eaafef9 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_san/sql/sql_parse.cc:7901:18
                #8 0x55953ea90db8 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1903:7
                #9 0x55953eab9e56 in do_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1416:17
                #10 0x55953fc1c556 in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_san/sql/sql_connect.cc:1415:11
                #11 0x55953fc1ad19 in handle_one_connection /test/11.8_dbg_san/sql/sql_connect.cc:1327:5
                #12 0x55953dc635fc in asan_thread_start(void*) asan_interceptors.cpp.o
                #13 0x150a55a9ca93 in start_thread nptl/pthread_create.c:447:8
                #14 0x150a55b29c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
             
            SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:20 
            

            CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Debug, UBASAN, Clang)

            /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:52: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'
            /test/11.8_dbg_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here
                #0 0x150a2416ddfa in myrocks::get_or_create_tx(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:52
                #1 0x150a243da0c0 in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:4910:31
                #2 0x5595410aaf44 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_dbg_san/sql/handler.cc:3157:9
                #3 0x5595410716c4 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_dbg_san/sql/handler.cc:890:17
                #4 0x5595410aab48 in ha_start_consistent_snapshot(THD*) /test/11.8_dbg_san/sql/handler.cc:3176:8
                #5 0x55953fd0ac4b in trans_begin(THD*, unsigned int) /test/11.8_dbg_san/sql/transaction.cc:217:10
                #6 0x55953eb433f8 in mysql_execute_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:5481:9
                #7 0x55953eaafef9 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_san/sql/sql_parse.cc:7901:18
                #8 0x55953ea90db8 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1903:7
                #9 0x55953eab9e56 in do_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1416:17
                #10 0x55953fc1c556 in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_san/sql/sql_connect.cc:1415:11
                #11 0x55953fc1ad19 in handle_one_connection /test/11.8_dbg_san/sql/sql_connect.cc:1327:5
                #12 0x55953dc635fc in asan_thread_start(void*) asan_interceptors.cpp.o
                #13 0x150a55a9ca93 in start_thread nptl/pthread_create.c:447:8
                #14 0x150a55b29c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
             
            SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:52 
            

            CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Debug, UBASAN, Clang)

            /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3424:37: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'
            /test/11.8_dbg_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here
                #0 0x150a24305b39 in myrocks::Rdb_transaction_impl::start_tx() /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3424:37
                #1 0x150a2416e05d in myrocks::get_or_create_tx(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3789:9
                #2 0x150a243da0c0 in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:4910:31
                #3 0x5595410aaf44 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_dbg_san/sql/handler.cc:3157:9
                #4 0x5595410716c4 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_dbg_san/sql/handler.cc:890:17
                #5 0x5595410aab48 in ha_start_consistent_snapshot(THD*) /test/11.8_dbg_san/sql/handler.cc:3176:8
                #6 0x55953fd0ac4b in trans_begin(THD*, unsigned int) /test/11.8_dbg_san/sql/transaction.cc:217:10
                #7 0x55953eb433f8 in mysql_execute_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:5481:9
                #8 0x55953eaafef9 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_san/sql/sql_parse.cc:7901:18
                #9 0x55953ea90db8 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1903:7
                #10 0x55953eab9e56 in do_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1416:17
                #11 0x55953fc1c556 in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_san/sql/sql_connect.cc:1415:11
                #12 0x55953fc1ad19 in handle_one_connection /test/11.8_dbg_san/sql/sql_connect.cc:1327:5
                #13 0x55953dc635fc in asan_thread_start(void*) asan_interceptors.cpp.o
                #14 0x150a55a9ca93 in start_thread nptl/pthread_create.c:447:8
                #15 0x150a55b29c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
             
            SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3424:37 
            

            CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Debug, UBASAN, Clang)

            /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3429:36: runtime error: call to function mysql_sys_var_longlong(THD*, int) through pointer to incorrect function type 'unsigned long long *(*)(THD *, int)'
            /test/11.8_dbg_san/sql/sql_plugin.cc:3233: note: mysql_sys_var_longlong(THD*, int) defined here
                #0 0x150a24305f6a in myrocks::Rdb_transaction_impl::start_tx() /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3429:36
                #1 0x150a2416e05d in myrocks::get_or_create_tx(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3789:9
                #2 0x150a243da0c0 in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:4910:31
                #3 0x5595410aaf44 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_dbg_san/sql/handler.cc:3157:9
                #4 0x5595410716c4 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_dbg_san/sql/handler.cc:890:17
                #5 0x5595410aab48 in ha_start_consistent_snapshot(THD*) /test/11.8_dbg_san/sql/handler.cc:3176:8
                #6 0x55953fd0ac4b in trans_begin(THD*, unsigned int) /test/11.8_dbg_san/sql/transaction.cc:217:10
                #7 0x55953eb433f8 in mysql_execute_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:5481:9
                #8 0x55953eaafef9 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_san/sql/sql_parse.cc:7901:18
                #9 0x55953ea90db8 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1903:7
                #10 0x55953eab9e56 in do_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1416:17
                #11 0x55953fc1c556 in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_san/sql/sql_connect.cc:1415:11
                #12 0x55953fc1ad19 in handle_one_connection /test/11.8_dbg_san/sql/sql_connect.cc:1327:5
                #13 0x55953dc635fc in asan_thread_start(void*) asan_interceptors.cpp.o
                #14 0x150a55a9ca93 in start_thread nptl/pthread_create.c:447:8
                #15 0x150a55b29c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
             
            SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3429:36 
            

            CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Optimized, UBASAN, Clang)

            /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:20: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'
            /test/11.8_opt_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here
                #0 0x14bd7e6850c3 in myrocks::get_or_create_tx(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:20
                #1 0x14bd7e78337d in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:4910:31
                #2 0x5574be1e7360 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_opt_san/sql/handler.cc:3157:9
                #3 0x5574be1cfa69 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_opt_san/sql/handler.cc:890:17
                #4 0x5574be1e718e in ha_start_consistent_snapshot(THD*) /test/11.8_opt_san/sql/handler.cc:3176:8
                #5 0x5574bd907a32 in trans_begin(THD*, unsigned int) /test/11.8_opt_san/sql/transaction.cc:217:10
                #6 0x5574bd0e1b8f in mysql_execute_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:5481:9
                #7 0x5574bd0b7c92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_opt_san/sql/sql_parse.cc:7901:18
                #8 0x5574bd0acb9e in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_opt_san/sql/sql_parse.cc:1903:7
                #9 0x5574bd0baa6e in do_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:1416:17
                #10 0x5574bd89be38 in do_handle_one_connection(CONNECT*, bool) /test/11.8_opt_san/sql/sql_connect.cc:1415:11
                #11 0x5574bd89b280 in handle_one_connection /test/11.8_opt_san/sql/sql_connect.cc:1327:5
                #12 0x5574bc9e3b0c in asan_thread_start(void*) asan_interceptors.cpp.o
                #13 0x14bdad49ca93 in start_thread nptl/pthread_create.c:447:8
                #14 0x14bdad529c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
             
            SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:20
            

            CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Optimized, UBASAN, Clang)

            /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:52: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'
            /test/11.8_opt_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here
                #0 0x14bd7e6850e3 in myrocks::get_or_create_tx(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:52
                #1 0x14bd7e78337d in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:4910:31
                #2 0x5574be1e7360 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_opt_san/sql/handler.cc:3157:9
                #3 0x5574be1cfa69 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_opt_san/sql/handler.cc:890:17
                #4 0x5574be1e718e in ha_start_consistent_snapshot(THD*) /test/11.8_opt_san/sql/handler.cc:3176:8
                #5 0x5574bd907a32 in trans_begin(THD*, unsigned int) /test/11.8_opt_san/sql/transaction.cc:217:10
                #6 0x5574bd0e1b8f in mysql_execute_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:5481:9
                #7 0x5574bd0b7c92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_opt_san/sql/sql_parse.cc:7901:18
                #8 0x5574bd0acb9e in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_opt_san/sql/sql_parse.cc:1903:7
                #9 0x5574bd0baa6e in do_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:1416:17
                #10 0x5574bd89be38 in do_handle_one_connection(CONNECT*, bool) /test/11.8_opt_san/sql/sql_connect.cc:1415:11
                #11 0x5574bd89b280 in handle_one_connection /test/11.8_opt_san/sql/sql_connect.cc:1327:5
                #12 0x5574bc9e3b0c in asan_thread_start(void*) asan_interceptors.cpp.o
                #13 0x14bdad49ca93 in start_thread nptl/pthread_create.c:447:8
                #14 0x14bdad529c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
             
            SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:52 
            

            CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Optimized, UBASAN, Clang)

            /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3424:37: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)'
            /test/11.8_opt_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here
                #0 0x14bd7e750c9e in myrocks::Rdb_transaction_impl::start_tx() /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3424:37
                #1 0x14bd7e684f20 in myrocks::get_or_create_tx(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3789:9
                #2 0x14bd7e78337d in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:4910:31
                #3 0x5574be1e7360 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_opt_san/sql/handler.cc:3157:9
                #4 0x5574be1cfa69 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_opt_san/sql/handler.cc:890:17
                #5 0x5574be1e718e in ha_start_consistent_snapshot(THD*) /test/11.8_opt_san/sql/handler.cc:3176:8
                #6 0x5574bd907a32 in trans_begin(THD*, unsigned int) /test/11.8_opt_san/sql/transaction.cc:217:10
                #7 0x5574bd0e1b8f in mysql_execute_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:5481:9
                #8 0x5574bd0b7c92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_opt_san/sql/sql_parse.cc:7901:18
                #9 0x5574bd0acb9e in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_opt_san/sql/sql_parse.cc:1903:7
                #10 0x5574bd0baa6e in do_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:1416:17
                #11 0x5574bd89be38 in do_handle_one_connection(CONNECT*, bool) /test/11.8_opt_san/sql/sql_connect.cc:1415:11
                #12 0x5574bd89b280 in handle_one_connection /test/11.8_opt_san/sql/sql_connect.cc:1327:5
                #13 0x5574bc9e3b0c in asan_thread_start(void*) asan_interceptors.cpp.o
                #14 0x14bdad49ca93 in start_thread nptl/pthread_create.c:447:8
                #15 0x14bdad529c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
             
            SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3424:37 
            

            CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Optimized, UBASAN, Clang)

            /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3429:36: runtime error: call to function mysql_sys_var_longlong(THD*, int) through pointer to incorrect function type 'unsigned long long *(*)(THD *, int)'
            /test/11.8_opt_san/sql/sql_plugin.cc:3233: note: mysql_sys_var_longlong(THD*, int) defined here
                #0 0x14bd7e750cde in myrocks::Rdb_transaction_impl::start_tx() /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3429:36
                #1 0x14bd7e684f20 in myrocks::get_or_create_tx(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3789:9
                #2 0x14bd7e78337d in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:4910:31
                #3 0x5574be1e7360 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_opt_san/sql/handler.cc:3157:9
                #4 0x5574be1cfa69 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_opt_san/sql/handler.cc:890:17
                #5 0x5574be1e718e in ha_start_consistent_snapshot(THD*) /test/11.8_opt_san/sql/handler.cc:3176:8
                #6 0x5574bd907a32 in trans_begin(THD*, unsigned int) /test/11.8_opt_san/sql/transaction.cc:217:10
                #7 0x5574bd0e1b8f in mysql_execute_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:5481:9
                #8 0x5574bd0b7c92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_opt_san/sql/sql_parse.cc:7901:18
                #9 0x5574bd0acb9e in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_opt_san/sql/sql_parse.cc:1903:7
                #10 0x5574bd0baa6e in do_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:1416:17
                #11 0x5574bd89be38 in do_handle_one_connection(CONNECT*, bool) /test/11.8_opt_san/sql/sql_connect.cc:1415:11
                #12 0x5574bd89b280 in handle_one_connection /test/11.8_opt_san/sql/sql_connect.cc:1327:5
                #13 0x5574bc9e3b0c in asan_thread_start(void*) asan_interceptors.cpp.o
                #14 0x14bdad49ca93 in start_thread nptl/pthread_create.c:447:8
                #15 0x14bdad529c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
             
            SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3429:36 
            

            Setup:

            Compiled with a recent version of Clang (I used Clang 18.1.3) with LLVM 18. Ubuntu instructions:
                 # 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)

            Roel Roel Van de Paar added a comment - Additional stacks observed with: INSTALL SONAME 'ha_rocksdb' ; START TRANSACTION WITH CONSISTENT SNAPSHOT, READ WRITE; Leads to: CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Debug, UBASAN, Clang) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:20: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)' /test/11.8_dbg_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here #0 0x150a2416dcda in myrocks::get_or_create_tx(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:20 #1 0x150a243da0c0 in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:4910:31 #2 0x5595410aaf44 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_dbg_san/sql/handler.cc:3157:9 #3 0x5595410716c4 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_dbg_san/sql/handler.cc:890:17 #4 0x5595410aab48 in ha_start_consistent_snapshot(THD*) /test/11.8_dbg_san/sql/handler.cc:3176:8 #5 0x55953fd0ac4b in trans_begin(THD*, unsigned int) /test/11.8_dbg_san/sql/transaction.cc:217:10 #6 0x55953eb433f8 in mysql_execute_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:5481:9 #7 0x55953eaafef9 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_san/sql/sql_parse.cc:7901:18 #8 0x55953ea90db8 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1903:7 #9 0x55953eab9e56 in do_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1416:17 #10 0x55953fc1c556 in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_san/sql/sql_connect.cc:1415:11 #11 0x55953fc1ad19 in handle_one_connection /test/11.8_dbg_san/sql/sql_connect.cc:1327:5 #12 0x55953dc635fc in asan_thread_start(void*) asan_interceptors.cpp.o #13 0x150a55a9ca93 in start_thread nptl/pthread_create.c:447:8 #14 0x150a55b29c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78   SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:20 CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Debug, UBASAN, Clang) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:52: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)' /test/11.8_dbg_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here #0 0x150a2416ddfa in myrocks::get_or_create_tx(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:52 #1 0x150a243da0c0 in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:4910:31 #2 0x5595410aaf44 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_dbg_san/sql/handler.cc:3157:9 #3 0x5595410716c4 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_dbg_san/sql/handler.cc:890:17 #4 0x5595410aab48 in ha_start_consistent_snapshot(THD*) /test/11.8_dbg_san/sql/handler.cc:3176:8 #5 0x55953fd0ac4b in trans_begin(THD*, unsigned int) /test/11.8_dbg_san/sql/transaction.cc:217:10 #6 0x55953eb433f8 in mysql_execute_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:5481:9 #7 0x55953eaafef9 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_san/sql/sql_parse.cc:7901:18 #8 0x55953ea90db8 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1903:7 #9 0x55953eab9e56 in do_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1416:17 #10 0x55953fc1c556 in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_san/sql/sql_connect.cc:1415:11 #11 0x55953fc1ad19 in handle_one_connection /test/11.8_dbg_san/sql/sql_connect.cc:1327:5 #12 0x55953dc635fc in asan_thread_start(void*) asan_interceptors.cpp.o #13 0x150a55a9ca93 in start_thread nptl/pthread_create.c:447:8 #14 0x150a55b29c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78   SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3788:52 CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Debug, UBASAN, Clang) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3424:37: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)' /test/11.8_dbg_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here #0 0x150a24305b39 in myrocks::Rdb_transaction_impl::start_tx() /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3424:37 #1 0x150a2416e05d in myrocks::get_or_create_tx(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3789:9 #2 0x150a243da0c0 in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:4910:31 #3 0x5595410aaf44 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_dbg_san/sql/handler.cc:3157:9 #4 0x5595410716c4 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_dbg_san/sql/handler.cc:890:17 #5 0x5595410aab48 in ha_start_consistent_snapshot(THD*) /test/11.8_dbg_san/sql/handler.cc:3176:8 #6 0x55953fd0ac4b in trans_begin(THD*, unsigned int) /test/11.8_dbg_san/sql/transaction.cc:217:10 #7 0x55953eb433f8 in mysql_execute_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:5481:9 #8 0x55953eaafef9 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_san/sql/sql_parse.cc:7901:18 #9 0x55953ea90db8 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1903:7 #10 0x55953eab9e56 in do_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1416:17 #11 0x55953fc1c556 in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_san/sql/sql_connect.cc:1415:11 #12 0x55953fc1ad19 in handle_one_connection /test/11.8_dbg_san/sql/sql_connect.cc:1327:5 #13 0x55953dc635fc in asan_thread_start(void*) asan_interceptors.cpp.o #14 0x150a55a9ca93 in start_thread nptl/pthread_create.c:447:8 #15 0x150a55b29c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78   SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3424:37 CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Debug, UBASAN, Clang) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3429:36: runtime error: call to function mysql_sys_var_longlong(THD*, int) through pointer to incorrect function type 'unsigned long long *(*)(THD *, int)' /test/11.8_dbg_san/sql/sql_plugin.cc:3233: note: mysql_sys_var_longlong(THD*, int) defined here #0 0x150a24305f6a in myrocks::Rdb_transaction_impl::start_tx() /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3429:36 #1 0x150a2416e05d in myrocks::get_or_create_tx(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3789:9 #2 0x150a243da0c0 in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:4910:31 #3 0x5595410aaf44 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_dbg_san/sql/handler.cc:3157:9 #4 0x5595410716c4 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_dbg_san/sql/handler.cc:890:17 #5 0x5595410aab48 in ha_start_consistent_snapshot(THD*) /test/11.8_dbg_san/sql/handler.cc:3176:8 #6 0x55953fd0ac4b in trans_begin(THD*, unsigned int) /test/11.8_dbg_san/sql/transaction.cc:217:10 #7 0x55953eb433f8 in mysql_execute_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:5481:9 #8 0x55953eaafef9 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_dbg_san/sql/sql_parse.cc:7901:18 #9 0x55953ea90db8 in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1903:7 #10 0x55953eab9e56 in do_command(THD*, bool) /test/11.8_dbg_san/sql/sql_parse.cc:1416:17 #11 0x55953fc1c556 in do_handle_one_connection(CONNECT*, bool) /test/11.8_dbg_san/sql/sql_connect.cc:1415:11 #12 0x55953fc1ad19 in handle_one_connection /test/11.8_dbg_san/sql/sql_connect.cc:1327:5 #13 0x55953dc635fc in asan_thread_start(void*) asan_interceptors.cpp.o #14 0x150a55a9ca93 in start_thread nptl/pthread_create.c:447:8 #15 0x150a55b29c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78   SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_dbg_san/storage/rocksdb/ha_rocksdb.cc:3429:36 CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Optimized, UBASAN, Clang) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:20: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)' /test/11.8_opt_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here #0 0x14bd7e6850c3 in myrocks::get_or_create_tx(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:20 #1 0x14bd7e78337d in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:4910:31 #2 0x5574be1e7360 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_opt_san/sql/handler.cc:3157:9 #3 0x5574be1cfa69 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_opt_san/sql/handler.cc:890:17 #4 0x5574be1e718e in ha_start_consistent_snapshot(THD*) /test/11.8_opt_san/sql/handler.cc:3176:8 #5 0x5574bd907a32 in trans_begin(THD*, unsigned int) /test/11.8_opt_san/sql/transaction.cc:217:10 #6 0x5574bd0e1b8f in mysql_execute_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:5481:9 #7 0x5574bd0b7c92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_opt_san/sql/sql_parse.cc:7901:18 #8 0x5574bd0acb9e in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_opt_san/sql/sql_parse.cc:1903:7 #9 0x5574bd0baa6e in do_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:1416:17 #10 0x5574bd89be38 in do_handle_one_connection(CONNECT*, bool) /test/11.8_opt_san/sql/sql_connect.cc:1415:11 #11 0x5574bd89b280 in handle_one_connection /test/11.8_opt_san/sql/sql_connect.cc:1327:5 #12 0x5574bc9e3b0c in asan_thread_start(void*) asan_interceptors.cpp.o #13 0x14bdad49ca93 in start_thread nptl/pthread_create.c:447:8 #14 0x14bdad529c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78   SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:20 CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Optimized, UBASAN, Clang) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:52: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)' /test/11.8_opt_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here #0 0x14bd7e6850e3 in myrocks::get_or_create_tx(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:52 #1 0x14bd7e78337d in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:4910:31 #2 0x5574be1e7360 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_opt_san/sql/handler.cc:3157:9 #3 0x5574be1cfa69 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_opt_san/sql/handler.cc:890:17 #4 0x5574be1e718e in ha_start_consistent_snapshot(THD*) /test/11.8_opt_san/sql/handler.cc:3176:8 #5 0x5574bd907a32 in trans_begin(THD*, unsigned int) /test/11.8_opt_san/sql/transaction.cc:217:10 #6 0x5574bd0e1b8f in mysql_execute_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:5481:9 #7 0x5574bd0b7c92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_opt_san/sql/sql_parse.cc:7901:18 #8 0x5574bd0acb9e in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_opt_san/sql/sql_parse.cc:1903:7 #9 0x5574bd0baa6e in do_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:1416:17 #10 0x5574bd89be38 in do_handle_one_connection(CONNECT*, bool) /test/11.8_opt_san/sql/sql_connect.cc:1415:11 #11 0x5574bd89b280 in handle_one_connection /test/11.8_opt_san/sql/sql_connect.cc:1327:5 #12 0x5574bc9e3b0c in asan_thread_start(void*) asan_interceptors.cpp.o #13 0x14bdad49ca93 in start_thread nptl/pthread_create.c:447:8 #14 0x14bdad529c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78   SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3788:52 CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Optimized, UBASAN, Clang) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3424:37: runtime error: call to function mysql_sys_var_long(THD*, int) through pointer to incorrect function type 'unsigned long *(*)(THD *, int)' /test/11.8_opt_san/sql/sql_plugin.cc:3223: note: mysql_sys_var_long(THD*, int) defined here #0 0x14bd7e750c9e in myrocks::Rdb_transaction_impl::start_tx() /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3424:37 #1 0x14bd7e684f20 in myrocks::get_or_create_tx(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3789:9 #2 0x14bd7e78337d in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:4910:31 #3 0x5574be1e7360 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_opt_san/sql/handler.cc:3157:9 #4 0x5574be1cfa69 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_opt_san/sql/handler.cc:890:17 #5 0x5574be1e718e in ha_start_consistent_snapshot(THD*) /test/11.8_opt_san/sql/handler.cc:3176:8 #6 0x5574bd907a32 in trans_begin(THD*, unsigned int) /test/11.8_opt_san/sql/transaction.cc:217:10 #7 0x5574bd0e1b8f in mysql_execute_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:5481:9 #8 0x5574bd0b7c92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_opt_san/sql/sql_parse.cc:7901:18 #9 0x5574bd0acb9e in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_opt_san/sql/sql_parse.cc:1903:7 #10 0x5574bd0baa6e in do_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:1416:17 #11 0x5574bd89be38 in do_handle_one_connection(CONNECT*, bool) /test/11.8_opt_san/sql/sql_connect.cc:1415:11 #12 0x5574bd89b280 in handle_one_connection /test/11.8_opt_san/sql/sql_connect.cc:1327:5 #13 0x5574bc9e3b0c in asan_thread_start(void*) asan_interceptors.cpp.o #14 0x14bdad49ca93 in start_thread nptl/pthread_create.c:447:8 #15 0x14bdad529c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78   SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3424:37 CS 11.8.0 7734c85c31c9e292ef1133115fba2f7edd71dd51 (Optimized, UBASAN, Clang) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3429:36: runtime error: call to function mysql_sys_var_longlong(THD*, int) through pointer to incorrect function type 'unsigned long long *(*)(THD *, int)' /test/11.8_opt_san/sql/sql_plugin.cc:3233: note: mysql_sys_var_longlong(THD*, int) defined here #0 0x14bd7e750cde in myrocks::Rdb_transaction_impl::start_tx() /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3429:36 #1 0x14bd7e684f20 in myrocks::get_or_create_tx(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3789:9 #2 0x14bd7e78337d in myrocks::rocksdb_start_tx_and_assign_read_view(THD*) /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:4910:31 #3 0x5574be1e7360 in snapshot_handlerton(THD*, transaction_participant*, void*) /test/11.8_opt_san/sql/handler.cc:3157:9 #4 0x5574be1cfa69 in tp_foreach(THD*, bool (*)(THD*, transaction_participant*, void*), void*) /test/11.8_opt_san/sql/handler.cc:890:17 #5 0x5574be1e718e in ha_start_consistent_snapshot(THD*) /test/11.8_opt_san/sql/handler.cc:3176:8 #6 0x5574bd907a32 in trans_begin(THD*, unsigned int) /test/11.8_opt_san/sql/transaction.cc:217:10 #7 0x5574bd0e1b8f in mysql_execute_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:5481:9 #8 0x5574bd0b7c92 in mysql_parse(THD*, char*, unsigned int, Parser_state*) /test/11.8_opt_san/sql/sql_parse.cc:7901:18 #9 0x5574bd0acb9e in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool) /test/11.8_opt_san/sql/sql_parse.cc:1903:7 #10 0x5574bd0baa6e in do_command(THD*, bool) /test/11.8_opt_san/sql/sql_parse.cc:1416:17 #11 0x5574bd89be38 in do_handle_one_connection(CONNECT*, bool) /test/11.8_opt_san/sql/sql_connect.cc:1415:11 #12 0x5574bd89b280 in handle_one_connection /test/11.8_opt_san/sql/sql_connect.cc:1327:5 #13 0x5574bc9e3b0c in asan_thread_start(void*) asan_interceptors.cpp.o #14 0x14bdad49ca93 in start_thread nptl/pthread_create.c:447:8 #15 0x14bdad529c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78   SUMMARY: UndefinedBehaviorSanitizer: function-type-mismatch /test/11.8_opt_san/storage/rocksdb/ha_rocksdb.cc:3429:36 Setup: Compiled with a recent version of Clang (I used Clang 18.1.3) with LLVM 18. Ubuntu instructions: # 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)
            danblack Daniel Black added a comment -

            fixed with patch in MDEV-33158

            danblack Daniel Black added a comment - fixed with patch in MDEV-33158

            People

              bnestere Brandon Nesterenko
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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