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

Server crash, assertion failure or UBSAN null-pointer-use in myrocks::Rdb_key_def::unpack_simple_varchar_space_pad

Details

    Description

      INSTALL SONAME 'ha_rocksdb';
       
      CREATE TABLE t1 (f1 VARCHAR(10), KEY(f1)) ENGINE=RocksDB;
      INSERT INTO t1 VALUES ("'q'"),("'s'");
       
      CREATE TABLE t2 (f2 INT) ENGINE=RocksDB;
      INSERT INTO t2 VALUES (1),(2);
       
      START TRANSACTION;
      UPDATE t1 SET f1 = NULL;
      UPDATE t2, t1 SET f2 = 3 WHERE f1 IS NULL;
      

      10.3 dd8833bf

      mysqld: /data/src/10.3/storage/rocksdb/rdb_datadic.cc:2881: static int myrocks::Rdb_key_def::unpack_simple_varchar_space_pad(myrocks::Rdb_field_packing*, Field*, uchar*, myrocks::Rdb_string_reader*, myrocks::Rdb_string_reader*): Assertion `unp_reader != nullptr' failed.
      221005  0:34:18 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007fc413aec662 in __GI___assert_fail (assertion=0x7fc408867c00 "unp_reader != nullptr", file=0x7fc408864620 "/data/src/10.3/storage/rocksdb/rdb_datadic.cc", line=2881, function=0x7fc408867e20 "static int myrocks::Rdb_key_def::unpack_simple_varchar_space_pad(myrocks::Rdb_field_packing*, Field*, uchar*, myrocks::Rdb_string_reader*, myrocks::Rdb_string_reader*)") at assert.c:101
      #8  0x00007fc407d5fd1f in myrocks::Rdb_key_def::unpack_simple_varchar_space_pad (fpi=0x611000047588, field=0x61900009baf8, dst=0x61900009baba "", reader=0x7fc4091610e0, unp_reader=0x0) at /data/src/10.3/storage/rocksdb/rdb_datadic.cc:2881
      #9  0x00007fc407d4ae4c in myrocks::Rdb_convert_to_record_key_decoder::decode_field (fpi=0x611000047588, field=0x61900009baf8, reader=0x7fc4091610e0, default_value=0x61900009b6b9 "", unpack_reader=0x0) at /data/src/10.3/storage/rocksdb/rdb_datadic.cc:104
      #10 0x00007fc407d4b134 in myrocks::Rdb_convert_to_record_key_decoder::decode (buf=0x61900009bab8 "\376", offset=0x7fc4091611c0, fpi=0x611000047588, table=0x61f000046e88, field=0x61900009baf8, has_unpack_info=false, reader=0x7fc4091610e0, unpack_reader=0x7fc409161100) at /data/src/10.3/storage/rocksdb/rdb_datadic.cc:143
      #11 0x00007fc407d4c3c4 in myrocks::Rdb_key_field_iterator::next (this=0x7fc409161160) at /data/src/10.3/storage/rocksdb/rdb_datadic.cc:275
      #12 0x00007fc407d59598 in myrocks::Rdb_key_def::unpack_record (this=0x61500001c790, table=0x61f000046e88, buf=0x61900009bab8 "\376", packed_key=0x7fc4091612a0, unpack_info=0x7fc4091612c0, verify_row_debug_checksums=false) at /data/src/10.3/storage/rocksdb/rdb_datadic.cc:1673
      #13 0x00007fc407c0f2ce in myrocks::ha_rocksdb::secondary_index_read (this=0x61c0000428a8, keyno=0, buf=0x61900009bab8 "\376") at /data/src/10.3/storage/rocksdb/ha_rocksdb.cc:8318
      #14 0x00007fc407c16a35 in myrocks::ha_rocksdb::index_next_with_direction (this=0x61c0000428a8, buf=0x61900009bab8 "\376", move_forward=true) at /data/src/10.3/storage/rocksdb/ha_rocksdb.cc:9151
      #15 0x00007fc407c160f1 in myrocks::ha_rocksdb::index_next (this=0x61c0000428a8, buf=0x61900009bab8 "\376") at /data/src/10.3/storage/rocksdb/ha_rocksdb.cc:9096
      #16 0x00005620b8709918 in handler::index_next_same (this=0x61c0000428a8, buf=0x61900009bab8 "\376", key=0x62b000004f90 "\001", keylen=13) at /data/src/10.3/sql/handler.cc:4883
      #17 0x00005620b86fdd92 in handler::ha_index_next_same (this=0x61c0000428a8, buf=0x61900009bab8 "\376", key=0x62b000004f90 "\001", keylen=13) at /data/src/10.3/sql/handler.cc:3046
      #18 0x00005620b80c9ed0 in join_read_next_same (info=0x62b000004570) at /data/src/10.3/sql/sql_select.cc:20765
      #19 0x00005620b7e09db4 in READ_RECORD::read_record (this=0x62b000004570) at /data/src/10.3/sql/records.h:70
      #20 0x00005620b80c44d7 in sub_select (join=0x62b0000016e0, join_tab=0x62b0000044a8, end_of_records=false) at /data/src/10.3/sql/sql_select.cc:19951
      #21 0x00005620b80c58fe in evaluate_join_record (join=0x62b0000016e0, join_tab=0x62b000004118, error=0) at /data/src/10.3/sql/sql_select.cc:20159
      #22 0x00005620b80c4247 in sub_select (join=0x62b0000016e0, join_tab=0x62b000004118, end_of_records=false) at /data/src/10.3/sql/sql_select.cc:19932
      #23 0x00005620b80c2294 in do_select (join=0x62b0000016e0, procedure=0x0) at /data/src/10.3/sql/sql_select.cc:19470
      #24 0x00005620b8056334 in JOIN::exec_inner (this=0x62b0000016e0) at /data/src/10.3/sql/sql_select.cc:4171
      #25 0x00005620b8053d05 in JOIN::exec (this=0x62b0000016e0) at /data/src/10.3/sql/sql_select.cc:3965
      #26 0x00005620b8057667 in mysql_select (thd=0x62a000060208, tables=0x62b000000350, wild_num=0, fields=..., conds=0x62b000001438, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=1342177408, result=0x62b0000015a0, unit=0x62a0000640c0, select_lex=0x62a000064880) at /data/src/10.3/sql/sql_select.cc:4374
      #27 0x00005620b823d7fe in mysql_multi_update (thd=0x62a000060208, table_list=0x62b000000350, fields=0x62a0000649a8, values=0x62a000064ed8, conds=0x62b000001438, options=0, handle_duplicates=DUP_ERROR, ignore=false, unit=0x62a0000640c0, select_lex=0x62a000064880, result=0x7fc409162180) at /data/src/10.3/sql/sql_update.cc:1824
      #28 0x00005620b7f94202 in mysql_execute_command (thd=0x62a000060208) at /data/src/10.3/sql/sql_parse.cc:4420
      #29 0x00005620b7fac608 in mysql_parse (thd=0x62a000060208, rawbuf=0x62b000000228 "UPDATE t2, t1 SET f2 = 3 WHERE f1 IS NULL", length=41, parser_state=0x7fc4091639d0, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7855
      #30 0x00005620b7f83c56 in dispatch_command (command=COM_QUERY, thd=0x62a000060208, packet=0x6290000eb209 "UPDATE t2, t1 SET f2 = 3 WHERE f1 IS NULL", packet_length=41, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1852
      #31 0x00005620b7f8080e in do_command (thd=0x62a000060208) at /data/src/10.3/sql/sql_parse.cc:1398
      #32 0x00005620b8343336 in do_handle_one_connection (connect=0x608000000ea8) at /data/src/10.3/sql/sql_connect.cc:1403
      #33 0x00005620b8342c32 in handle_one_connection (arg=0x608000000ea8) at /data/src/10.3/sql/sql_connect.cc:1308
      #34 0x00005620b98ee29f in pfs_spawn_thread (arg=0x615000004408) at /data/src/10.3/storage/perfschema/pfs.cc:1869
      #35 0x00007fc413c97ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #36 0x00007fc413bb7aef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.3 dd8833bf non-debug

      #3  <signal handler called>
      #4  0x00007fdeafb3a39b in myrocks::Rdb_string_reader::read (size=<optimized out>, this=<optimized out>) at /data/src/10.3/storage/rocksdb/./././rdb_buff.h:284
      #5  myrocks::Rdb_string_reader::read_uint16 (res=<optimized out>, this=<optimized out>) at /data/src/10.3/storage/rocksdb/./././rdb_buff.h:306
      #6  myrocks::Rdb_key_def::unpack_simple_varchar_space_pad (fpi=0x7fdeb40ac0a8, field=0x7fdeb41535d8, dst=0x7fdeb41535aa "", reader=0x7fdec43c5730, unp_reader=0x0) at /data/src/10.3/storage/rocksdb/rdb_datadic.cc:2884
      #7  0x00007fdeafb3cd13 in myrocks::Rdb_convert_to_record_key_decoder::decode (buf=<optimized out>, offset=offset@entry=0x7fdec43c57d0, fpi=<optimized out>, table=0x7fdeb40d8e48, field=0x7fdeb41535d8, has_unpack_info=<optimized out>, reader=0x7fdec43c5730, unpack_reader=0x7fdec43c5740) at /data/src/10.3/storage/rocksdb/rdb_datadic.cc:143
      #8  0x00007fdeafb3eb72 in myrocks::Rdb_key_field_iterator::next (this=this@entry=0x7fdec43c5770) at /data/src/10.3/storage/rocksdb/rdb_datadic.cc:275
      #9  0x00007fdeafb3ecd8 in myrocks::Rdb_key_def::unpack_record (this=0x7fdeb4116800, table=<optimized out>, buf=buf@entry=0x7fdeb41535a8 "\376", packed_key=packed_key@entry=0x7fdec43c5870, unpack_info=unpack_info@entry=0x7fdec43c5880, verify_row_debug_checksums=<optimized out>) at /data/src/10.3/storage/rocksdb/rdb_datadic.cc:1673
      #10 0x00007fdeafaf8ab5 in myrocks::ha_rocksdb::secondary_index_read (buf=0x7fdeb41535a8 "\376", keyno=<optimized out>, this=0x7fdeb4170ca0) at /data/src/10.3/storage/rocksdb/ha_rocksdb.cc:8318
      #11 myrocks::ha_rocksdb::secondary_index_read (this=0x7fdeb4170ca0, keyno=<optimized out>, buf=0x7fdeb41535a8 "\376") at /data/src/10.3/storage/rocksdb/ha_rocksdb.cc:8288
      #12 0x00007fdeafaf9d72 in myrocks::ha_rocksdb::index_next_with_direction (move_forward=<optimized out>, buf=0x7fdeb41535a8 "\376", this=0x7fdeb4170ca0) at /data/src/10.3/storage/rocksdb/ha_rocksdb.cc:9151
      #13 myrocks::ha_rocksdb::index_next_with_direction (this=0x7fdeb4170ca0, buf=0x7fdeb41535a8 "\376", move_forward=true) at /data/src/10.3/storage/rocksdb/ha_rocksdb.cc:9121
      #14 0x00007fdeafaf9e07 in myrocks::ha_rocksdb::index_next (this=<optimized out>, buf=<optimized out>) at /data/src/10.3/storage/rocksdb/ha_rocksdb.cc:9096
      #15 0x00005588aed529ab in handler::index_next_same (this=0x7fdeb4170ca0, buf=0x7fdeb41535a8 "\376", key=0x7fdeb4014270 "\001", keylen=13) at /data/src/10.3/sql/handler.cc:4883
      #16 0x00005588aed5886a in handler::ha_index_next_same (this=0x7fdeb4170ca0, buf=0x7fdeb41535a8 "\376", key=0x7fdeb4014270 "\001", keylen=13) at /data/src/10.3/sql/handler.cc:3046
      #17 0x00005588aeba0f01 in join_read_next_same (info=<optimized out>) at /data/src/10.3/sql/sql_select.cc:20765
      #18 0x00005588aeb9377b in READ_RECORD::read_record (this=0x7fdeb4013868) at /data/src/10.3/sql/records.h:70
      #19 sub_select (end_of_records=false, join_tab=0x7fdeb40137a0, join=0x7fdeb4010b18) at /data/src/10.3/sql/sql_select.cc:19951
      #20 sub_select (join=0x7fdeb4010b18, join_tab=0x7fdeb40137a0, end_of_records=false) at /data/src/10.3/sql/sql_select.cc:19867
      #21 0x00005588aeb85f6c in evaluate_join_record (join=join@entry=0x7fdeb4010b18, join_tab=join_tab@entry=0x7fdeb4013410, error=<optimized out>) at /data/src/10.3/sql/sql_select.cc:20159
      #22 0x00005588aeb93743 in sub_select (end_of_records=false, join_tab=0x7fdeb4013410, join=0x7fdeb4010b18) at /data/src/10.3/sql/sql_select.cc:19932
      #23 sub_select (join=0x7fdeb4010b18, join_tab=0x7fdeb4013410, end_of_records=false) at /data/src/10.3/sql/sql_select.cc:19867
      #24 0x00005588aebbd6be in do_select (procedure=<optimized out>, join=0x7fdeb4010b18) at /data/src/10.3/sql/sql_select.cc:19470
      #25 JOIN::exec_inner (this=0x7fdeb4010b18) at /data/src/10.3/sql/sql_select.cc:4171
      #26 0x00005588aebbda33 in JOIN::exec (this=this@entry=0x7fdeb4010b18) at /data/src/10.3/sql/sql_select.cc:3965
      #27 0x00005588aebbdb8e in mysql_select (thd=thd@entry=0x7fdeb4000c48, tables=tables@entry=0x7fdeb400f858, wild_num=0, fields=..., conds=conds@entry=0x7fdeb40108b8, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=<optimized out>, result=0x7fdeb40109f8, unit=0x7fdeb4004940, select_lex=0x7fdeb4005100) at /data/src/10.3/sql/sql_select.cc:4374
      #28 0x00005588aec0efb5 in mysql_multi_update (thd=thd@entry=0x7fdeb4000c48, table_list=0x7fdeb400f858, fields=fields@entry=0x7fdeb4005228, values=values@entry=0x7fdeb4005758, conds=0x7fdeb40108b8, options=0, handle_duplicates=DUP_ERROR, ignore=false, unit=0x7fdeb4004940, select_lex=0x7fdeb4005100, result=0x7fdec43c5e60) at /data/src/10.3/sql/sql_update.cc:1824
      #29 0x00005588aeb58784 in mysql_execute_command (thd=<optimized out>) at /data/src/10.3/sql/sql_parse.cc:4420
      #30 0x00005588aeb5e893 in mysql_parse (thd=0x7fdeb4000c48, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/src/10.3/sql/sql_parse.cc:7855
      #31 0x00005588aeb60945 in dispatch_command (command=COM_QUERY, thd=0x7fdeb4000c48, packet=<optimized out>, packet_length=<optimized out>, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/src/10.3/sql/sql_class.h:200
      #32 0x00005588aeb62d09 in do_command (thd=0x7fdeb4000c48) at /data/src/10.3/sql/sql_parse.cc:1398
      #33 0x00005588aec4c786 in do_handle_one_connection (connect=connect@entry=0x5588b2063198) at /data/src/10.3/sql/sql_connect.cc:1403
      #34 0x00005588aec4c95b in handle_one_connection (arg=arg@entry=0x5588b2063198) at /data/src/10.3/sql/sql_connect.cc:1308
      #35 0x00005588af21f512 in pfs_spawn_thread (arg=0x5588b2147008) at /data/src/10.3/storage/perfschema/pfs.cc:1869
      #36 0x00007fdeca562ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #37 0x00007fdeca482aef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Reproducible on all 10.3+.

      Attachments

        Activity

          Reduced test case

          INSTALL SONAME 'ha_rocksdb';
          CREATE TABLE t (a CHAR, KEY(a)) ENGINE=RocksDB ;
          START TRANSACTION;
          INSERT INTO t VALUES ('a');
          UPDATE t SET a=1;
          SELECT * FROM t AS ta,t AS tb WHERE ta.a=tb.a;
          

          Leads to:

          CS 10.5.27 d64034770ef4e15c7f3599a57a2b060a042b10b6 (Debug)

          mariadbd: /test/10.5_dbg/storage/rocksdb/rdb_datadic.cc:2825: uint myrocks::rdb_read_unpack_simple(myrocks::Rdb_bit_reader*, const myrocks::Rdb_collation_codec*, const uchar*, size_t, uchar*): Assertion `reader != nullptr' failed.
          

          CS 10.5.27 d64034770ef4e15c7f3599a57a2b060a042b10b6 (Debug)

          Core was generated by `/test/MD291024-mariadb-10.5.27-linux-x86_64-dbg/bin/mariadbd --no-defaults --ma'.
          Program terminated with signal SIGABRT, Aborted.
          #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
          [Current thread is 1 (Thread 0x151178104700 (LWP 3221766))]
          (gdb) bt
          #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
          #1  0x000015118ff36859 in __GI_abort () at abort.c:79
          #2  0x000015118ff36729 in __assert_fail_base (fmt=0x1511900cc588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x15116b2c0bad "reader != nullptr", file=0x15116b2c1040 "/test/10.5_dbg/storage/rocksdb/rdb_datadic.cc", line=2825, function=<optimized out>) at assert.c:92
          #3  0x000015118ff47fd6 in __GI___assert_fail (assertion=assertion@entry=0x15116b2c0bad "reader != nullptr", file=file@entry=0x15116b2c1040 "/test/10.5_dbg/storage/rocksdb/rdb_datadic.cc", line=line@entry=2825, function=function@entry=0x15116b2c1398 "uint myrocks::rdb_read_unpack_simple(myrocks::Rdb_bit_reader*, const myrocks::Rdb_collation_codec*, const uchar*, size_t, uchar*)") at assert.c:101
          #4  0x000015116af75ccf in myrocks::rdb_read_unpack_simple (reader=0x0, codec=0x1510ec2638d0, src=0x1510ec26a0ab "A", src_len=1, dst=0x1510ec2982b9 "1", '\245' <repeats 14 times>, "\020\203)\354\020\025") at /test/10.5_dbg/storage/rocksdb/rdb_datadic.cc:2825
          #5  0x000015116af75ea1 in myrocks::Rdb_key_def::unpack_simple (fpi=<optimized out>, field=<optimized out>, dst=<optimized out>, reader=<optimized out>, unp_reader=<optimized out>) at /test/10.5_dbg/storage/rocksdb/rdb_datadic.cc:2996
          #6  0x000015116af765fe in myrocks::Rdb_convert_to_record_key_decoder::decode_field (fpi=fpi@entry=0x1510ec23bee8, field=field@entry=0x1510ec298310, reader=reader@entry=0x1511781022c0, default_value=<optimized out>, unpack_reader=unpack_reader@entry=0x0) at /test/10.5_dbg/storage/rocksdb/rdb_datadic.cc:105
          #7  0x000015116af766fb in myrocks::Rdb_convert_to_record_key_decoder::decode (buf=<optimized out>, offset=offset@entry=0x151178102360, fpi=0x1510ec23bee8, table=0x1510ec297e88, field=0x1510ec298310, has_unpack_info=<optimized out>, reader=0x1511781022c0, unpack_reader=<optimized out>) at /test/10.5_dbg/storage/rocksdb/./rdb_datadic.h:954
          #8  0x000015116af77ee5 in myrocks::Rdb_key_field_iterator::next (this=this@entry=0x151178102300) at /test/10.5_dbg/storage/rocksdb/rdb_datadic.cc:277
          #9  0x000015116af7d428 in myrocks::Rdb_key_def::unpack_record (this=0x1510ec2c6d50, table=0x1510ec297e88, buf=buf@entry=0x1510ec2982b8 "\375\061", '\245' <repeats 14 times>, "\020\203)\354\020\025", packed_key=packed_key@entry=0x1511781023f0, unpack_info=unpack_info@entry=0x151178102400, verify_row_debug_checksums=<optimized out>) at /test/10.5_dbg/storage/rocksdb/rdb_datadic.cc:1677
          #10 0x000015116af3300b in myrocks::ha_rocksdb::secondary_index_read (this=this@entry=0x1510ec2986b0, keyno=<optimized out>, buf=buf@entry=0x1510ec2982b8 "\375\061", '\245' <repeats 14 times>, "\020\203)\354\020\025") at /test/10.5_dbg/storage/rocksdb/./rdb_converter.h:157
          #11 0x000015116af34c10 in myrocks::ha_rocksdb::index_next_with_direction (this=0x1510ec2986b0, buf=0x1510ec2982b8 "\375\061", '\245' <repeats 14 times>, "\020\203)\354\020\025", move_forward=true) at /test/10.5_dbg/storage/rocksdb/ha_rocksdb.cc:9172
          #12 0x000015116af34c4d in myrocks::ha_rocksdb::index_next (this=<optimized out>, buf=<optimized out>) at /test/10.5_dbg/storage/rocksdb/ha_rocksdb.cc:9117
          #13 0x00005637e3eea927 in handler::index_next_same (this=0x1510ec2986b0, buf=0x1510ec2982b8 "\375\061", '\245' <repeats 14 times>, "\020\203)\354\020\025", key=0x1510ec018808 "", keylen=2) at /test/10.5_dbg/sql/handler.cc:5390
          #14 0x00005637e3ef634d in handler::ha_index_next_same (this=0x1510ec2986b0, buf=0x1510ec2982b8 "\375\061", '\245' <repeats 14 times>, "\020\203)\354\020\025", key=0x1510ec018808 "", keylen=2) at /test/10.5_dbg/sql/handler.cc:3378
          #15 0x00005637e3c7353d in join_read_next_same (info=<optimized out>) at /test/10.5_dbg/sql/sql_select.cc:22155
          #16 0x00005637e3c63ff5 in READ_RECORD::read_record (this=0x1510ec017da8) at /test/10.5_dbg/sql/records.h:80
          #17 sub_select (join=0x1510ec0151b8, join_tab=0x1510ec017cd8, end_of_records=<optimized out>) at /test/10.5_dbg/sql/sql_select.cc:21325
          #18 0x00005637e3c56386 in evaluate_join_record (join=join@entry=0x1510ec0151b8, join_tab=join_tab@entry=0x1510ec017928, error=error@entry=0) at /test/10.5_dbg/sql/sql_select.cc:21536
          #19 0x00005637e3c63e88 in sub_select (join=0x1510ec0151b8, join_tab=0x1510ec017928, end_of_records=<optimized out>) at /test/10.5_dbg/sql/sql_select.cc:21306
          #20 0x00005637e3ca1c17 in do_select (procedure=<optimized out>, join=0x1510ec0151b8) at /test/10.5_dbg/sql/sql_select.cc:20823
          #21 JOIN::exec_inner (this=this@entry=0x1510ec0151b8) at /test/10.5_dbg/sql/sql_select.cc:4661
          #22 0x00005637e3ca20bc in JOIN::exec (this=this@entry=0x1510ec0151b8) at /test/10.5_dbg/sql/sql_select.cc:4441
          #23 0x00005637e3c9fefc in mysql_select (thd=thd@entry=0x1510ec000d48, tables=0x1510ec0134e0, fields=@0x1510ec012fe0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x1510ec013488, last = 0x1510ec015b88, elements = 2}, <No data fields>}, conds=0x1510ec0145f8, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2148797184, result=0x1510ec015190, unit=0x1510ec004f00, select_lex=0x1510ec012e78) at /test/10.5_dbg/sql/sql_select.cc:4918
          #24 0x00005637e3ca0a06 in handle_select (thd=thd@entry=0x1510ec000d48, lex=lex@entry=0x1510ec004e38, result=result@entry=0x1510ec015190, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.5_dbg/sql/sql_select.cc:449
          #25 0x00005637e3c18bdc in execute_sqlcom_select (thd=thd@entry=0x1510ec000d48, all_tables=0x1510ec0134e0) at /test/10.5_dbg/sql/sql_parse.cc:6437
          #26 0x00005637e3c25c0d in mysql_execute_command (thd=thd@entry=0x1510ec000d48) at /test/10.5_dbg/sql/sql_parse.cc:4029
          #27 0x00005637e3c11682 in mysql_parse (thd=thd@entry=0x1510ec000d48, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x1511781032c0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:8237
          #28 0x00005637e3c20bf9 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x1510ec000d48, packet=packet@entry=0x1510ec00aa19 "", packet_length=packet_length@entry=45, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_class.h:1334
          #29 0x00005637e3c23948 in do_command (thd=thd@entry=0x1510ec000d48) at /test/10.5_dbg/sql/sql_parse.cc:1375
          #30 0x00005637e3d71640 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5637e78113b8, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1407
          #31 0x00005637e3d71cb1 in handle_one_connection (arg=arg@entry=0x5637e78113b8) at /test/10.5_dbg/sql/sql_connect.cc:1319
          #32 0x00005637e41f37b5 in pfs_spawn_thread (arg=0x5637e76bc6e8) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
          #33 0x0000151190447609 in start_thread (arg=<optimized out>) at pthread_create.c:477
          #34 0x0000151190033133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
          

          Bug confirmed present in:
          MariaDB: 10.5.27 (dbg), 10.5.27 (opt), 10.6.20 (dbg), 10.6.20 (opt), 10.11.10 (dbg), 10.11.10 (opt), 11.2.6 (dbg), 11.2.6 (opt), 11.4.4 (dbg), 11.4.4 (opt)

          Bug (or feature/syntax) confirmed not present in:
          MariaDB: 11.6.2 (dbg), 11.6.2 (opt), 11.7.0 (dbg), 11.7.0 (opt)

          ramesh Ramesh Sivaraman added a comment - Reduced test case INSTALL SONAME 'ha_rocksdb' ; CREATE TABLE t (a CHAR , KEY (a)) ENGINE=RocksDB ; START TRANSACTION ; INSERT INTO t VALUES ( 'a' ); UPDATE t SET a=1; SELECT * FROM t AS ta,t AS tb WHERE ta.a=tb.a; Leads to: CS 10.5.27 d64034770ef4e15c7f3599a57a2b060a042b10b6 (Debug) mariadbd: /test/10.5_dbg/storage/rocksdb/rdb_datadic.cc:2825: uint myrocks::rdb_read_unpack_simple(myrocks::Rdb_bit_reader*, const myrocks::Rdb_collation_codec*, const uchar*, size_t, uchar*): Assertion `reader != nullptr' failed. CS 10.5.27 d64034770ef4e15c7f3599a57a2b060a042b10b6 (Debug) Core was generated by `/test/MD291024-mariadb-10.5.27-linux-x86_64-dbg/bin/mariadbd --no-defaults --ma'. Program terminated with signal SIGABRT, Aborted. #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 [Current thread is 1 (Thread 0x151178104700 (LWP 3221766))] (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x000015118ff36859 in __GI_abort () at abort.c:79 #2 0x000015118ff36729 in __assert_fail_base (fmt=0x1511900cc588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x15116b2c0bad "reader != nullptr", file=0x15116b2c1040 "/test/10.5_dbg/storage/rocksdb/rdb_datadic.cc", line=2825, function=<optimized out>) at assert.c:92 #3 0x000015118ff47fd6 in __GI___assert_fail (assertion=assertion@entry=0x15116b2c0bad "reader != nullptr", file=file@entry=0x15116b2c1040 "/test/10.5_dbg/storage/rocksdb/rdb_datadic.cc", line=line@entry=2825, function=function@entry=0x15116b2c1398 "uint myrocks::rdb_read_unpack_simple(myrocks::Rdb_bit_reader*, const myrocks::Rdb_collation_codec*, const uchar*, size_t, uchar*)") at assert.c:101 #4 0x000015116af75ccf in myrocks::rdb_read_unpack_simple (reader=0x0, codec=0x1510ec2638d0, src=0x1510ec26a0ab "A", src_len=1, dst=0x1510ec2982b9 "1", '\245' <repeats 14 times>, "\020\203)\354\020\025") at /test/10.5_dbg/storage/rocksdb/rdb_datadic.cc:2825 #5 0x000015116af75ea1 in myrocks::Rdb_key_def::unpack_simple (fpi=<optimized out>, field=<optimized out>, dst=<optimized out>, reader=<optimized out>, unp_reader=<optimized out>) at /test/10.5_dbg/storage/rocksdb/rdb_datadic.cc:2996 #6 0x000015116af765fe in myrocks::Rdb_convert_to_record_key_decoder::decode_field (fpi=fpi@entry=0x1510ec23bee8, field=field@entry=0x1510ec298310, reader=reader@entry=0x1511781022c0, default_value=<optimized out>, unpack_reader=unpack_reader@entry=0x0) at /test/10.5_dbg/storage/rocksdb/rdb_datadic.cc:105 #7 0x000015116af766fb in myrocks::Rdb_convert_to_record_key_decoder::decode (buf=<optimized out>, offset=offset@entry=0x151178102360, fpi=0x1510ec23bee8, table=0x1510ec297e88, field=0x1510ec298310, has_unpack_info=<optimized out>, reader=0x1511781022c0, unpack_reader=<optimized out>) at /test/10.5_dbg/storage/rocksdb/./rdb_datadic.h:954 #8 0x000015116af77ee5 in myrocks::Rdb_key_field_iterator::next (this=this@entry=0x151178102300) at /test/10.5_dbg/storage/rocksdb/rdb_datadic.cc:277 #9 0x000015116af7d428 in myrocks::Rdb_key_def::unpack_record (this=0x1510ec2c6d50, table=0x1510ec297e88, buf=buf@entry=0x1510ec2982b8 "\375\061", '\245' <repeats 14 times>, "\020\203)\354\020\025", packed_key=packed_key@entry=0x1511781023f0, unpack_info=unpack_info@entry=0x151178102400, verify_row_debug_checksums=<optimized out>) at /test/10.5_dbg/storage/rocksdb/rdb_datadic.cc:1677 #10 0x000015116af3300b in myrocks::ha_rocksdb::secondary_index_read (this=this@entry=0x1510ec2986b0, keyno=<optimized out>, buf=buf@entry=0x1510ec2982b8 "\375\061", '\245' <repeats 14 times>, "\020\203)\354\020\025") at /test/10.5_dbg/storage/rocksdb/./rdb_converter.h:157 #11 0x000015116af34c10 in myrocks::ha_rocksdb::index_next_with_direction (this=0x1510ec2986b0, buf=0x1510ec2982b8 "\375\061", '\245' <repeats 14 times>, "\020\203)\354\020\025", move_forward=true) at /test/10.5_dbg/storage/rocksdb/ha_rocksdb.cc:9172 #12 0x000015116af34c4d in myrocks::ha_rocksdb::index_next (this=<optimized out>, buf=<optimized out>) at /test/10.5_dbg/storage/rocksdb/ha_rocksdb.cc:9117 #13 0x00005637e3eea927 in handler::index_next_same (this=0x1510ec2986b0, buf=0x1510ec2982b8 "\375\061", '\245' <repeats 14 times>, "\020\203)\354\020\025", key=0x1510ec018808 "", keylen=2) at /test/10.5_dbg/sql/handler.cc:5390 #14 0x00005637e3ef634d in handler::ha_index_next_same (this=0x1510ec2986b0, buf=0x1510ec2982b8 "\375\061", '\245' <repeats 14 times>, "\020\203)\354\020\025", key=0x1510ec018808 "", keylen=2) at /test/10.5_dbg/sql/handler.cc:3378 #15 0x00005637e3c7353d in join_read_next_same (info=<optimized out>) at /test/10.5_dbg/sql/sql_select.cc:22155 #16 0x00005637e3c63ff5 in READ_RECORD::read_record (this=0x1510ec017da8) at /test/10.5_dbg/sql/records.h:80 #17 sub_select (join=0x1510ec0151b8, join_tab=0x1510ec017cd8, end_of_records=<optimized out>) at /test/10.5_dbg/sql/sql_select.cc:21325 #18 0x00005637e3c56386 in evaluate_join_record (join=join@entry=0x1510ec0151b8, join_tab=join_tab@entry=0x1510ec017928, error=error@entry=0) at /test/10.5_dbg/sql/sql_select.cc:21536 #19 0x00005637e3c63e88 in sub_select (join=0x1510ec0151b8, join_tab=0x1510ec017928, end_of_records=<optimized out>) at /test/10.5_dbg/sql/sql_select.cc:21306 #20 0x00005637e3ca1c17 in do_select (procedure=<optimized out>, join=0x1510ec0151b8) at /test/10.5_dbg/sql/sql_select.cc:20823 #21 JOIN::exec_inner (this=this@entry=0x1510ec0151b8) at /test/10.5_dbg/sql/sql_select.cc:4661 #22 0x00005637e3ca20bc in JOIN::exec (this=this@entry=0x1510ec0151b8) at /test/10.5_dbg/sql/sql_select.cc:4441 #23 0x00005637e3c9fefc in mysql_select (thd=thd@entry=0x1510ec000d48, tables=0x1510ec0134e0, fields=@0x1510ec012fe0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x1510ec013488, last = 0x1510ec015b88, elements = 2}, <No data fields>}, conds=0x1510ec0145f8, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2148797184, result=0x1510ec015190, unit=0x1510ec004f00, select_lex=0x1510ec012e78) at /test/10.5_dbg/sql/sql_select.cc:4918 #24 0x00005637e3ca0a06 in handle_select (thd=thd@entry=0x1510ec000d48, lex=lex@entry=0x1510ec004e38, result=result@entry=0x1510ec015190, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.5_dbg/sql/sql_select.cc:449 #25 0x00005637e3c18bdc in execute_sqlcom_select (thd=thd@entry=0x1510ec000d48, all_tables=0x1510ec0134e0) at /test/10.5_dbg/sql/sql_parse.cc:6437 #26 0x00005637e3c25c0d in mysql_execute_command (thd=thd@entry=0x1510ec000d48) at /test/10.5_dbg/sql/sql_parse.cc:4029 #27 0x00005637e3c11682 in mysql_parse (thd=thd@entry=0x1510ec000d48, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x1511781032c0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:8237 #28 0x00005637e3c20bf9 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x1510ec000d48, packet=packet@entry=0x1510ec00aa19 "", packet_length=packet_length@entry=45, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_class.h:1334 #29 0x00005637e3c23948 in do_command (thd=thd@entry=0x1510ec000d48) at /test/10.5_dbg/sql/sql_parse.cc:1375 #30 0x00005637e3d71640 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5637e78113b8, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1407 #31 0x00005637e3d71cb1 in handle_one_connection (arg=arg@entry=0x5637e78113b8) at /test/10.5_dbg/sql/sql_connect.cc:1319 #32 0x00005637e41f37b5 in pfs_spawn_thread (arg=0x5637e76bc6e8) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201 #33 0x0000151190447609 in start_thread (arg=<optimized out>) at pthread_create.c:477 #34 0x0000151190033133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Bug confirmed present in: MariaDB: 10.5.27 (dbg), 10.5.27 (opt), 10.6.20 (dbg), 10.6.20 (opt), 10.11.10 (dbg), 10.11.10 (opt), 11.2.6 (dbg), 11.2.6 (opt), 11.4.4 (dbg), 11.4.4 (opt) Bug (or feature/syntax) confirmed not present in: MariaDB: 11.6.2 (dbg), 11.6.2 (opt), 11.7.0 (dbg), 11.7.0 (opt)
          Roel Roel Van de Paar added a comment - - edited

          The reduced testcase by ramesh has a different assert (reader != nullptr versus unp_reader != nullptr).

          Roel Roel Van de Paar added a comment - - edited The reduced testcase by ramesh has a different assert ( reader != nullptr versus unp_reader != nullptr ).
          Roel Roel Van de Paar added a comment - - edited

          INSTALL SONAME 'ha_rocksdb';
          SET sql_mode='';
          SET @@storage_engine=RocksDB;
          CREATE TABLE t (c DOUBLE,c2 INT,c3 INT,c4 VARCHAR(1) NOT NULL);
          ALTER TABLE t ADD INDEX (c,c3,c2,c4);
          XA START 'a','a';
          INSERT INTO t (c) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
          DELETE FROM t;
          INSERT INTO t (c) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
          SELECT * FROM t WHERE c IN ('a','a');
          

          Leads to a variety of stacks and issues, ref detection matrices below.

          Setup:

          Compiled with a recent version of Clang (I used Clang 18.1.3) with LLVM 18. Ubuntu instructions:
            # Note: It is strongly recommended to uninstall all old Clang & LLVM packages (ref  dpkg --list | grep -iE 'clang|llvm'  and use  apt purge  and  dpkg --purge  to remove the packages), before installing Clang/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
          Compiled with: "-DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C{,XX}_FLAGS='-march=native -mtune=native'" 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' in UBSAN_OPTIONS. For an example of UBSAN.filter, which includes current startup issues see: https://github.com/mariadb-corporation/mariadb-qa/blob/master/UBSAN.filter
          

          Bug Detection Matrix

              Rel    o/d  Build   Commit                                    UniqueID observed             
          CS  10.5   dbg  120425  e6ea5d568c0fb972a391a8c64716846ddb7c57ef  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  10.5   opt  120425  e6ea5d568c0fb972a391a8c64716846ddb7c57ef  SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  10.6   dbg  120425  690b2cf776faa2e1a6832077cec2246c86cd00bf  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  10.6   opt  120425  690b2cf776faa2e1a6832077cec2246c86cd00bf  SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  10.11  dbg  120425  acd071f599f416ddb4821dec485c4d912844213f  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  10.11  opt  120425  acd071f599f416ddb4821dec485c4d912844213f  SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  11.4   dbg  120425  4a701e8ce4a178faf955641caf59fc13fcc718e9  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  11.4   opt  120425  4a701e8ce4a178faf955641caf59fc13fcc718e9  SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  11.8   dbg  120425  db5bb6f3339be5a49c0f397eb80a0f259f73f447  No bug found                  
          CS  11.8   opt  120425  db5bb6f3339be5a49c0f397eb80a0f259f73f447  No bug found                  
          CS  12.0   dbg  120425  22efc2c784e1b7199fb5804e6330168277ea7dce  No bug found                  
          CS  12.0   opt  120425  22efc2c784e1b7199fb5804e6330168277ea7dce  No bug found                  
          ES  10.5   dbg  120425  0d368ec0042a81d9549fc939fb742f82350b20ab  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          ES  10.5   opt  120425  0d368ec0042a81d9549fc939fb742f82350b20ab  SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          ES  10.6   dbg  120425  74602d1b054ba6c9ee20af79d6e7807440a7a98e  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          ES  10.6   opt  120425  74602d1b054ba6c9ee20af79d6e7807440a7a98e  SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          ES  11.4   dbg  120425  9cd12544ebfd0d52d2158af66b5aced58121cf1f  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          ES  11.4   opt  120425  9cd12544ebfd0d52d2158af66b5aced58121cf1f  SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          

          SAN Bug Detection Matrix

              Rel    o/d  Build   Commit                                    UniqueID observed             
          CS  10.5   dbg  150225  c43d0a015f974c5a0142e6779332089a7a979853  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  10.5   opt  150225  c43d0a015f974c5a0142e6779332089a7a979853  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  10.6   dbg  150225  f1d7e0c17e33f77278e6226dd94aeb30fc856bf0  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  10.6   opt  150225  f1d7e0c17e33f77278e6226dd94aeb30fc856bf0  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  10.11  dbg  150225  43c5d1303f5c7c726db276815c459436110f342f  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  10.11  opt  150225  43c5d1303f5c7c726db276815c459436110f342f  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  11.4   dbg  150225  ef966af801afc2a07222b5df65dddd52c77431dd  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  11.4   opt  150225  ef966af801afc2a07222b5df65dddd52c77431dd  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  11.8   dbg  150225  33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d  No bug found                  
          CS  11.8   opt  150225  33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d  No bug found                  
          CS  12.0   dbg  150225  c92add291e636c797e6d6ddca605905541b2a441  No bug found                  
          CS  12.0   opt  150225  c92add291e636c797e6d6ddca605905541b2a441  No bug found                  
          ES  10.5   dbg  140325  6553c62369ab3606efc74295c902181f793fd6d1  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          ES  10.5   opt  140325  6553c62369ab3606efc74295c902181f793fd6d1  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          ES  10.6   dbg  140325  a99e9e4101f5d56a379577e6d81c829b7658df99  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          ES  10.6   opt  140325  a99e9e4101f5d56a379577e6d81c829b7658df99  SIGSEGV|std::__shared_ptr<myrocks::Rdb_key_def,|std::shared_ptr<myrocks::Rdb_key_def>::operator=|myrocks::ha_rocksdb::create_table|myrocks::ha_rocksdb::create
          ES  11.4   dbg  140325  26e39c99feaa4e6f9d3e1b13fd4a7d101059b7ba  unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          ES  11.4   opt  140325  26e39c99feaa4e6f9d3e1b13fd4a7d101059b7ba  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          

          For the single ES 10.6 opt different stack alone, see MENT-2277. It is otherwise unrelated to this ticket.

          Roel Roel Van de Paar added a comment - - edited INSTALL SONAME 'ha_rocksdb' ; SET sql_mode= '' ; SET @@storage_engine=RocksDB; CREATE TABLE t (c DOUBLE ,c2 INT ,c3 INT ,c4 VARCHAR (1) NOT NULL ); ALTER TABLE t ADD INDEX (c,c3,c2,c4); XA START 'a' , 'a' ; INSERT INTO t (c) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); DELETE FROM t; INSERT INTO t (c) VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9); SELECT * FROM t WHERE c IN ( 'a' , 'a' ); Leads to a variety of stacks and issues, ref detection matrices below. Setup: Compiled with a recent version of Clang (I used Clang 18.1.3) with LLVM 18. Ubuntu instructions: # Note: It is strongly recommended to uninstall all old Clang & LLVM packages (ref dpkg --list | grep -iE 'clang|llvm' and use apt purge and dpkg --purge to remove the packages), before installing Clang/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 Compiled with: "-DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_C{,XX}_FLAGS='-march=native -mtune=native'" 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' in UBSAN_OPTIONS. For an example of UBSAN.filter, which includes current startup issues see: https://github.com/mariadb-corporation/mariadb-qa/blob/master/UBSAN.filter Bug Detection Matrix Rel o/d Build Commit UniqueID observed CS 10.5 dbg 120425 e6ea5d568c0fb972a391a8c64716846ddb7c57ef unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 10.5 opt 120425 e6ea5d568c0fb972a391a8c64716846ddb7c57ef SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 10.6 dbg 120425 690b2cf776faa2e1a6832077cec2246c86cd00bf unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 10.6 opt 120425 690b2cf776faa2e1a6832077cec2246c86cd00bf SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 10.11 dbg 120425 acd071f599f416ddb4821dec485c4d912844213f unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 10.11 opt 120425 acd071f599f416ddb4821dec485c4d912844213f SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 11.4 dbg 120425 4a701e8ce4a178faf955641caf59fc13fcc718e9 unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 11.4 opt 120425 4a701e8ce4a178faf955641caf59fc13fcc718e9 SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 11.8 dbg 120425 db5bb6f3339be5a49c0f397eb80a0f259f73f447 No bug found CS 11.8 opt 120425 db5bb6f3339be5a49c0f397eb80a0f259f73f447 No bug found CS 12.0 dbg 120425 22efc2c784e1b7199fb5804e6330168277ea7dce No bug found CS 12.0 opt 120425 22efc2c784e1b7199fb5804e6330168277ea7dce No bug found ES 10.5 dbg 120425 0d368ec0042a81d9549fc939fb742f82350b20ab unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next ES 10.5 opt 120425 0d368ec0042a81d9549fc939fb742f82350b20ab SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next ES 10.6 dbg 120425 74602d1b054ba6c9ee20af79d6e7807440a7a98e unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next ES 10.6 opt 120425 74602d1b054ba6c9ee20af79d6e7807440a7a98e SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next ES 11.4 dbg 120425 9cd12544ebfd0d52d2158af66b5aced58121cf1f unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next ES 11.4 opt 120425 9cd12544ebfd0d52d2158af66b5aced58121cf1f SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next SAN Bug Detection Matrix Rel o/d Build Commit UniqueID observed CS 10.5 dbg 150225 c43d0a015f974c5a0142e6779332089a7a979853 unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 10.5 opt 150225 c43d0a015f974c5a0142e6779332089a7a979853 UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 10.6 dbg 150225 f1d7e0c17e33f77278e6226dd94aeb30fc856bf0 unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 10.6 opt 150225 f1d7e0c17e33f77278e6226dd94aeb30fc856bf0 UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 10.11 dbg 150225 43c5d1303f5c7c726db276815c459436110f342f unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 10.11 opt 150225 43c5d1303f5c7c726db276815c459436110f342f UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 11.4 dbg 150225 ef966af801afc2a07222b5df65dddd52c77431dd unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 11.4 opt 150225 ef966af801afc2a07222b5df65dddd52c77431dd UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 11.8 dbg 150225 33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d No bug found CS 11.8 opt 150225 33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d No bug found CS 12.0 dbg 150225 c92add291e636c797e6d6ddca605905541b2a441 No bug found CS 12.0 opt 150225 c92add291e636c797e6d6ddca605905541b2a441 No bug found ES 10.5 dbg 140325 6553c62369ab3606efc74295c902181f793fd6d1 unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record ES 10.5 opt 140325 6553c62369ab3606efc74295c902181f793fd6d1 UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record ES 10.6 dbg 140325 a99e9e4101f5d56a379577e6d81c829b7658df99 unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record ES 10.6 opt 140325 a99e9e4101f5d56a379577e6d81c829b7658df99 SIGSEGV|std::__shared_ptr<myrocks::Rdb_key_def,|std::shared_ptr<myrocks::Rdb_key_def>::operator=|myrocks::ha_rocksdb::create_table|myrocks::ha_rocksdb::create ES 11.4 dbg 140325 26e39c99feaa4e6f9d3e1b13fd4a7d101059b7ba unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record ES 11.4 opt 140325 26e39c99feaa4e6f9d3e1b13fd4a7d101059b7ba UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record For the single ES 10.6 opt different stack alone, see MENT-2277. It is otherwise unrelated to this ticket.

          CS 10.5.29 c43d0a015f974c5a0142e6779332089a7a979853 (Optimized, UBASAN, Clang) Build 15/02/2025

          /test/10.5_opt_san/storage/rocksdb/rdb_datadic.cc:2889:26: runtime error: member call on null pointer of type 'myrocks::Rdb_string_reader'
              #0 0x7e96cf75401a in myrocks::Rdb_key_def::unpack_simple_varchar_space_pad(myrocks::Rdb_field_packing*, Field*, unsigned char*, myrocks::Rdb_string_reader*, myrocks::Rdb_string_reader*) /test/10.5_opt_san/storage/rocksdb/rdb_datadic.cc:2889:26
              #1 0x7e96cf733e92 in myrocks::Rdb_convert_to_record_key_decoder::decode(unsigned char*, unsigned int*, myrocks::Rdb_field_packing*, TABLE*, Field*, bool, myrocks::Rdb_string_reader*, myrocks::Rdb_string_reader*) /test/10.5_opt_san/storage/rocksdb/rdb_datadic.cc:144:7
              #2 0x7e96cf735f71 in myrocks::Rdb_key_field_iterator::next() /test/10.5_opt_san/storage/rocksdb/rdb_datadic.cc:277:16
              #3 0x7e96cf749181 in myrocks::Rdb_key_def::unpack_record(TABLE*, unsigned char*, rocksdb::Slice const*, rocksdb::Slice const*, bool) const /test/10.5_opt_san/storage/rocksdb/rdb_datadic.cc:1677:16
              #4 0x7e96cf624c1c in myrocks::ha_rocksdb::secondary_index_read(int, unsigned char*) /test/10.5_opt_san/storage/rocksdb/ha_rocksdb.cc:8338:38
              #5 0x7e96cf631d33 in myrocks::ha_rocksdb::index_next_with_direction(unsigned char*, bool) /test/10.5_opt_san/storage/rocksdb/ha_rocksdb.cc:9172:21
              #6 0x7e96cf63130d in myrocks::ha_rocksdb::index_next(unsigned char*) /test/10.5_opt_san/storage/rocksdb/ha_rocksdb.cc:9117:12
              #7 0x6008a2fa69b6 in handler::index_next_same(unsigned char*, unsigned char const*, unsigned int) /test/10.5_opt_san/sql/handler.cc:5370:15
              #8 0x6008a2f9419a in handler::ha_index_next_same(unsigned char*, unsigned char const*, unsigned int) /test/10.5_opt_san/sql/handler.cc:3379:3
              #9 0x6008a29ff46e in handler::multi_range_read_next(void**) /test/10.5_opt_san/sql/multi_range_read.cc:488:15
              #10 0x6008a36ab77f in QUICK_RANGE_SELECT::get_next() /test/10.5_opt_san/sql/opt_range.cc:12775:5
              #11 0x6008a3706f2f in rr_quick(READ_RECORD*) /test/10.5_opt_san/sql/records.cc:403:37
              #12 0x6008a252bbe5 in READ_RECORD::read_record() /test/10.5_opt_san/sql/records.h:80:30
              #13 0x6008a252bbe5 in sub_select(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:21329:18
              #14 0x6008a24aabe6 in do_select(JOIN*, Procedure*) /test/10.5_opt_san/sql/sql_select.cc:20827:14
              #15 0x6008a24a7e05 in JOIN::exec_inner() /test/10.5_opt_san/sql/sql_select.cc:4664:50
              #16 0x6008a24a4d1d in JOIN::exec() /test/10.5_opt_san/sql/sql_select.cc:4444:3
              #17 0x6008a2428044 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:4921:9
              #18 0x6008a2426e40 in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_opt_san/sql/sql_select.cc:449:10
              #19 0x6008a23662cd in execute_sqlcom_select(THD*, TABLE_LIST*) /test/10.5_opt_san/sql/sql_parse.cc:6452:12
              #20 0x6008a23437b5 in mysql_execute_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:4043:12
              #21 0x6008a23245a6 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:8252:18
              #22 0x6008a23191fe in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:1891:7
              #23 0x6008a23265a0 in do_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:1375:17
              #24 0x6008a28f52f7 in do_handle_one_connection(CONNECT*, bool) /test/10.5_opt_san/sql/sql_connect.cc:1386:11
              #25 0x6008a28f4b4a in handle_one_connection /test/10.5_opt_san/sql/sql_connect.cc:1298:5
              #26 0x6008a1e7f72c in asan_thread_start(void*) asan_interceptors.cpp.o
              #27 0x7e971a69ca93 in start_thread nptl/pthread_create.c:447:8
              #28 0x7e971a729c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
           
          SUMMARY: UndefinedBehaviorSanitizer: null-pointer-use /test/10.5_opt_san/storage/rocksdb/rdb_datadic.cc:2889:26
          

          Roel Roel Van de Paar added a comment - CS 10.5.29 c43d0a015f974c5a0142e6779332089a7a979853 (Optimized, UBASAN, Clang) Build 15/02/2025 /test/10.5_opt_san/storage/rocksdb/rdb_datadic.cc:2889:26: runtime error: member call on null pointer of type 'myrocks::Rdb_string_reader' #0 0x7e96cf75401a in myrocks::Rdb_key_def::unpack_simple_varchar_space_pad(myrocks::Rdb_field_packing*, Field*, unsigned char*, myrocks::Rdb_string_reader*, myrocks::Rdb_string_reader*) /test/10.5_opt_san/storage/rocksdb/rdb_datadic.cc:2889:26 #1 0x7e96cf733e92 in myrocks::Rdb_convert_to_record_key_decoder::decode(unsigned char*, unsigned int*, myrocks::Rdb_field_packing*, TABLE*, Field*, bool, myrocks::Rdb_string_reader*, myrocks::Rdb_string_reader*) /test/10.5_opt_san/storage/rocksdb/rdb_datadic.cc:144:7 #2 0x7e96cf735f71 in myrocks::Rdb_key_field_iterator::next() /test/10.5_opt_san/storage/rocksdb/rdb_datadic.cc:277:16 #3 0x7e96cf749181 in myrocks::Rdb_key_def::unpack_record(TABLE*, unsigned char*, rocksdb::Slice const*, rocksdb::Slice const*, bool) const /test/10.5_opt_san/storage/rocksdb/rdb_datadic.cc:1677:16 #4 0x7e96cf624c1c in myrocks::ha_rocksdb::secondary_index_read(int, unsigned char*) /test/10.5_opt_san/storage/rocksdb/ha_rocksdb.cc:8338:38 #5 0x7e96cf631d33 in myrocks::ha_rocksdb::index_next_with_direction(unsigned char*, bool) /test/10.5_opt_san/storage/rocksdb/ha_rocksdb.cc:9172:21 #6 0x7e96cf63130d in myrocks::ha_rocksdb::index_next(unsigned char*) /test/10.5_opt_san/storage/rocksdb/ha_rocksdb.cc:9117:12 #7 0x6008a2fa69b6 in handler::index_next_same(unsigned char*, unsigned char const*, unsigned int) /test/10.5_opt_san/sql/handler.cc:5370:15 #8 0x6008a2f9419a in handler::ha_index_next_same(unsigned char*, unsigned char const*, unsigned int) /test/10.5_opt_san/sql/handler.cc:3379:3 #9 0x6008a29ff46e in handler::multi_range_read_next(void**) /test/10.5_opt_san/sql/multi_range_read.cc:488:15 #10 0x6008a36ab77f in QUICK_RANGE_SELECT::get_next() /test/10.5_opt_san/sql/opt_range.cc:12775:5 #11 0x6008a3706f2f in rr_quick(READ_RECORD*) /test/10.5_opt_san/sql/records.cc:403:37 #12 0x6008a252bbe5 in READ_RECORD::read_record() /test/10.5_opt_san/sql/records.h:80:30 #13 0x6008a252bbe5 in sub_select(JOIN*, st_join_table*, bool) /test/10.5_opt_san/sql/sql_select.cc:21329:18 #14 0x6008a24aabe6 in do_select(JOIN*, Procedure*) /test/10.5_opt_san/sql/sql_select.cc:20827:14 #15 0x6008a24a7e05 in JOIN::exec_inner() /test/10.5_opt_san/sql/sql_select.cc:4664:50 #16 0x6008a24a4d1d in JOIN::exec() /test/10.5_opt_san/sql/sql_select.cc:4444:3 #17 0x6008a2428044 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:4921:9 #18 0x6008a2426e40 in handle_select(THD*, LEX*, select_result*, unsigned long) /test/10.5_opt_san/sql/sql_select.cc:449:10 #19 0x6008a23662cd in execute_sqlcom_select(THD*, TABLE_LIST*) /test/10.5_opt_san/sql/sql_parse.cc:6452:12 #20 0x6008a23437b5 in mysql_execute_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:4043:12 #21 0x6008a23245a6 in mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:8252:18 #22 0x6008a23191fe in dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) /test/10.5_opt_san/sql/sql_parse.cc:1891:7 #23 0x6008a23265a0 in do_command(THD*) /test/10.5_opt_san/sql/sql_parse.cc:1375:17 #24 0x6008a28f52f7 in do_handle_one_connection(CONNECT*, bool) /test/10.5_opt_san/sql/sql_connect.cc:1386:11 #25 0x6008a28f4b4a in handle_one_connection /test/10.5_opt_san/sql/sql_connect.cc:1298:5 #26 0x6008a1e7f72c in asan_thread_start(void*) asan_interceptors.cpp.o #27 0x7e971a69ca93 in start_thread nptl/pthread_create.c:447:8 #28 0x7e971a729c3b in clone3 misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:78   SUMMARY: UndefinedBehaviorSanitizer: null-pointer-use /test/10.5_opt_san/storage/rocksdb/rdb_datadic.cc:2889:26

          Bug remains present in bb-10.11.11-mdev16253-rocksdb-6.29fb.

          Roel Roel Van de Paar added a comment - Bug remains present in bb-10.11.11-mdev16253-rocksdb-6.29fb .
          Roel Roel Van de Paar added a comment - - edited

          A full summary of all issues seen accross all 4 testcases and all CS/ES versions and build types, one per line.

          SIGSEGV|std::__shared_ptr<myrocks::Rdb_key_def,|std::shared_ptr<myrocks::Rdb_key_def>::operator=|myrocks::ha_rocksdb::create_table|myrocks::ha_rocksdb::create                
          SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field
          SIGSEGV|myrocks::Rdb_bit_reader::read|myrocks::rdb_read_unpack_simple|myrocks::Rdb_key_def::unpack_simple|myrocks::Rdb_convert_to_record_key_decoder::decode                  
          unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          reader != nullptr|SIGABRT|myrocks::rdb_read_unpack_simple|myrocks::Rdb_key_def::unpack_simple|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          reader != nullptr|SIGABRT|myrocks::rdb_read_unpack_simple|myrocks::Rdb_key_def::unpack_simple|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode
          UBSAN|member access within null pointer of type 'KEY' (aka 'st_key')|storage/rocksdb/ha_rocksdb.cc|myrocks::ha_rocksdb::check_keyread_allowed|myrocks::ha_rocksdb::index_flags|TABLE_SHARE::init_from_binary_frm_image|ha_create_table
          UBSAN|member call on null pointer of type 'myrocks::Rdb_bit_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::rdb_read_unpack_simple|myrocks::Rdb_key_def::unpack_simple|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          

          Roel Roel Van de Paar added a comment - - edited A full summary of all issues seen accross all 4 testcases and all CS/ES versions and build types, one per line. SIGSEGV|std::__shared_ptr<myrocks::Rdb_key_def,|std::shared_ptr<myrocks::Rdb_key_def>::operator=|myrocks::ha_rocksdb::create_table|myrocks::ha_rocksdb::create SIGSEGV|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field SIGSEGV|myrocks::Rdb_bit_reader::read|myrocks::rdb_read_unpack_simple|myrocks::Rdb_key_def::unpack_simple|myrocks::Rdb_convert_to_record_key_decoder::decode unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next unp_reader != nullptr|SIGABRT|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record reader != nullptr|SIGABRT|myrocks::rdb_read_unpack_simple|myrocks::Rdb_key_def::unpack_simple|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next reader != nullptr|SIGABRT|myrocks::rdb_read_unpack_simple|myrocks::Rdb_key_def::unpack_simple|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode UBSAN|member access within null pointer of type 'KEY' (aka 'st_key')|storage/rocksdb/ha_rocksdb.cc|myrocks::ha_rocksdb::check_keyread_allowed|myrocks::ha_rocksdb::index_flags|TABLE_SHARE::init_from_binary_frm_image|ha_create_table UBSAN|member call on null pointer of type 'myrocks::Rdb_bit_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::rdb_read_unpack_simple|myrocks::Rdb_key_def::unpack_simple|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_simple_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          Roel Roel Van de Paar added a comment - - edited

          Another set of stacks with this testcase:

          INSTALL SONAME 'ha_rocksdb';
          CREATE TABLE t (c VARCHAR(254) BINARY CHARACTER SET 'latin1' COLLATE 'latin1_bin',c2 VARCHAR(254) CHARACTER SET 'latin1' COLLATE 'latin1_bin',c3 VARCHAR(1) BINARY CHARACTER SET 'latin1' COLLATE 'latin1_bin',c4 VARCHAR(1) CHARACTER SET 'latin1' COLLATE 'latin1_bin') ENGINE=RocksDB ROW_FORMAT=REDUNDANT;
          ALTER TABLE t ADD CONSTRAINT UNIQUE KEY i1 (c);
          XA START 'a';
          INSERT INTO t (c) VALUES (0);
          UPDATE t SET c=load_file ('$_vardir / temp.txt');
          SELECT 1 FROM t WHERE c IS NULL;
          

          Leads to:

          CS 11.4.6 4a701e8ce4a178faf955641caf59fc13fcc718e9 (Debug) Build 12/04/2025

          Core was generated by `/test/MD120425-mariadb-11.4.6-linux-x86_64-dbg/bin/mariadbd --no-defaults --max'.
          Program terminated with signal SIGSEGV, Segmentation fault.
          #0  myrocks::Rdb_string_reader::read (this=0x0, size=2) at ././rdb_buff.h:284
           
          [Current thread is 1 (LWP 926882)]
          (gdb) bt
          #0  myrocks::Rdb_string_reader::read (this=0x0, size=2) at ./././rdb_buff.h:284
          #1  0x00007b07aeeb589e in myrocks::Rdb_string_reader::read_uint16 (this=0x0, res=0x7b08381aff88) at ./././rdb_buff.h:306
          #2  0x00007b07aeea9cde in myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad (fpi=0x7b0710269aa8, field=0x7b0710078c90, dst=0x7b07100787c2 "", reader=0x7b08381b02e8, unp_reader=0x0)at /test/11.4_dbg/storage/rocksdb/rdb_datadic.cc:2622
          #3  0x00007b07aee9fb57 in myrocks::Rdb_convert_to_record_key_decoder::decode_field (fpi=0x7b0710269aa8, field=0x7b0710078c90, reader=0x7b08381b02e8, default_value=0x7b07100746a9 "", unpack_reader=0x0)at /test/11.4_dbg/storage/rocksdb/rdb_datadic.cc:105
          #4  0x00007b07aee9fdb1 in myrocks::Rdb_convert_to_record_key_decoder::decode (buf=0x7b07100787c0 "\376", offset=0x7b08381b0250, fpi=0x7b0710269aa8, table=0x7b071007b9b8, field=0x7b0710078c90, has_unpack_info=false, reader=0x7b08381b02e8, unpack_reader=0x7b08381b02d8)at /test/11.4_dbg/storage/rocksdb/rdb_datadic.cc:144
          #5  0x00007b07aeea059c in myrocks::Rdb_key_field_iterator::next (this=0x7b08381b01f0) at /test/11.4_dbg/storage/rocksdb/rdb_datadic.cc:277
          #6  0x00007b07aeea8178 in myrocks::Rdb_key_def::unpack_record (this=0x7b07102ced10, table=0x7b071007b9b8, buf=0x7b07100787c0 "\376", packed_key=0x7b08381b0380, unpack_info=0x7b08381b0368, verify_row_debug_checksums=false)at /test/11.4_dbg/storage/rocksdb/rdb_datadic.cc:1686
          #7  0x00007b07aee06f24 in myrocks::ha_rocksdb::secondary_index_read (this=0x7b0710077f88, keyno=0, buf=0x7b07100787c0 "\376")at /test/11.4_dbg/storage/rocksdb/ha_rocksdb.cc:8366
          #8  0x00007b07aee0a281 in myrocks::ha_rocksdb::index_next_with_direction (this=0x7b0710077f88, buf=0x7b07100787c0 "\376", move_forward=true)at /test/11.4_dbg/storage/rocksdb/ha_rocksdb.cc:9200
          #9  0x00007b07aee0a098 in myrocks::ha_rocksdb::index_next (this=0x7b0710077f88, buf=0x7b07100787c0 "\376")at /test/11.4_dbg/storage/rocksdb/ha_rocksdb.cc:9145
          #10 0x00005a14a2f58b5c in handler::index_next_same (this=0x7b0710077f88, buf=0x7b07100787c0 "\376", key=0x7b071001e1e8 "\001", keylen=257)at /test/11.4_dbg/sql/handler.cc:5927
          #11 0x00005a14a2f53951 in handler::ha_index_next_same (this=0x7b0710077f88, buf=0x7b07100787c0 "\376", key=0x7b071001e1e8 "\001", keylen=257)at /test/11.4_dbg/sql/handler.cc:3929
          #12 0x00005a14a2bf2870 in join_read_next_same (info=0x7b071001d548)at /test/11.4_dbg/sql/sql_select.cc:25094
          #13 0x00005a14a29e9736 in READ_RECORD::read_record (this=0x7b071001d548)at /test/11.4_dbg/sql/records.h:81
          #14 0x00005a14a2ba5320 in sub_select (join=0x7b071001b338, join_tab=0x7b071001d478, end_of_records=false)at /test/11.4_dbg/sql/sql_select.cc:24253
          #15 0x00005a14a2bcc6e4 in do_select (join=0x7b071001b338, procedure=0x0)at /test/11.4_dbg/sql/sql_select.cc:23747
          #16 0x00005a14a2bcba4a in JOIN::exec_inner (this=0x7b071001b338)at /test/11.4_dbg/sql/sql_select.cc:5052
          #17 0x00005a14a2bca92e in JOIN::exec (this=0x7b071001b338)at /test/11.4_dbg/sql/sql_select.cc:4838
          #18 0x00005a14a2ba5b7d in mysql_select (thd=0x7b0710000d58, tables=0x7b071001a0f8, fields=@0x7b0710019e10: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x7b071001a0a8, last = 0x7b071001a0a8, elements = 1}, <No data fields>}, conds=0x7b071001a940, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2165574400, result=0x7b071001b310, unit=0x7b0710005000, select_lex=0x7b0710019b58)at /test/11.4_dbg/sql/sql_select.cc:5368
          #19 0x00005a14a2ba5605 in handle_select (thd=0x7b0710000d58, lex=0x7b0710004f20, result=0x7b071001b310, setup_tables_done_option=0)at /test/11.4_dbg/sql/sql_select.cc:642
          #20 0x00005a14a2b4d651 in execute_sqlcom_select (thd=0x7b0710000d58, all_tables=0x7b071001a0f8) at /test/11.4_dbg/sql/sql_parse.cc:6183
          #21 0x00005a14a2b425e0 in mysql_execute_command (thd=0x7b0710000d58, is_called_from_prepared_stmt=false) at /test/11.4_dbg/sql/sql_parse.cc:3975
          #22 0x00005a14a2b3a744 in mysql_parse (thd=0x7b0710000d58, rawbuf=0x7b0710019ac0 "SELECT 1 FROM t WHERE c IS NULL", length=31, parser_state=0x7b08381b2a30) at /test/11.4_dbg/sql/sql_parse.cc:7907
          #23 0x00005a14a2b37bf4 in dispatch_command (command=COM_QUERY, thd=0x7b0710000d58, packet=0x7b071000afd9 "", packet_length=31, blocking=true) at /test/11.4_dbg/sql/sql_parse.cc:1904
          #24 0x00005a14a2b3b2f3 in do_command (thd=0x7b0710000d58, blocking=true)at /test/11.4_dbg/sql/sql_parse.cc:1417
          #25 0x00005a14a2d1d619 in do_handle_one_connection (connect=0x5a14a60fd228, put_in_cache=true) at /test/11.4_dbg/sql/sql_connect.cc:1408
          #26 0x00005a14a2d1d3b2 in handle_one_connection (arg=0x5a14a6160cd8)at /test/11.4_dbg/sql/sql_connect.cc:1320
          #27 0x00007b083ee9ca94 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
          #28 0x00007b083ef29c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
          

          Bug Detection Matrix

              Rel    o/d  Build   Commit                                    UniqueID observed             
          CS  10.5   dbg  120425  e6ea5d568c0fb972a391a8c64716846ddb7c57ef  SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field
          CS  10.5   opt  120425  e6ea5d568c0fb972a391a8c64716846ddb7c57ef  SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  10.6   dbg  120425  690b2cf776faa2e1a6832077cec2246c86cd00bf  SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field
          CS  10.6   opt  120425  690b2cf776faa2e1a6832077cec2246c86cd00bf  SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  10.11  dbg  120425  acd071f599f416ddb4821dec485c4d912844213f  SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field
          CS  10.11  opt  120425  acd071f599f416ddb4821dec485c4d912844213f  SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  11.4   dbg  120425  4a701e8ce4a178faf955641caf59fc13fcc718e9  SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field
          CS  11.4   opt  120425  4a701e8ce4a178faf955641caf59fc13fcc718e9  SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  11.8   dbg  120425  db5bb6f3339be5a49c0f397eb80a0f259f73f447  SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field
          CS  11.8   opt  120425  db5bb6f3339be5a49c0f397eb80a0f259f73f447  SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          CS  12.0   dbg  120425  22efc2c784e1b7199fb5804e6330168277ea7dce  SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field
          CS  12.0   opt  120425  22efc2c784e1b7199fb5804e6330168277ea7dce  SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          ES  10.5   dbg  120425  0d368ec0042a81d9549fc939fb742f82350b20ab  SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field
          ES  10.5   opt  120425  0d368ec0042a81d9549fc939fb742f82350b20ab  SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          ES  10.6   dbg  120425  74602d1b054ba6c9ee20af79d6e7807440a7a98e  SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field
          ES  10.6   opt  120425  74602d1b054ba6c9ee20af79d6e7807440a7a98e  SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          ES  11.4   dbg  120425  9cd12544ebfd0d52d2158af66b5aced58121cf1f  SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field
          ES  11.4   opt  120425  9cd12544ebfd0d52d2158af66b5aced58121cf1f  SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next
          

          SAN Bug Detection Matrix

              Rel    o/d  Build   Commit                                    UniqueID observed             
          CS  10.5   dbg  150225  c43d0a015f974c5a0142e6779332089a7a979853  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  10.5   opt  150225  c43d0a015f974c5a0142e6779332089a7a979853  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  10.6   dbg  150225  f1d7e0c17e33f77278e6226dd94aeb30fc856bf0  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  10.6   opt  150225  f1d7e0c17e33f77278e6226dd94aeb30fc856bf0  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  10.11  dbg  150225  43c5d1303f5c7c726db276815c459436110f342f  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  10.11  opt  150225  43c5d1303f5c7c726db276815c459436110f342f  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  11.4   dbg  150225  ef966af801afc2a07222b5df65dddd52c77431dd  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  11.4   opt  150225  ef966af801afc2a07222b5df65dddd52c77431dd  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  11.8   dbg  150225  33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  11.8   opt  150225  33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  12.0   dbg  150225  c92add291e636c797e6d6ddca605905541b2a441  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          CS  12.0   opt  150225  c92add291e636c797e6d6ddca605905541b2a441  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          ES  10.5   dbg  140325  6553c62369ab3606efc74295c902181f793fd6d1  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          ES  10.5   opt  140325  6553c62369ab3606efc74295c902181f793fd6d1  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          ES  10.6   dbg  140325  a99e9e4101f5d56a379577e6d81c829b7658df99  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          ES  10.6   opt  140325  a99e9e4101f5d56a379577e6d81c829b7658df99  SIGSEGV|std::__shared_ptr<myrocks::Rdb_key_def,|std::shared_ptr<myrocks::Rdb_key_def>::operator=|myrocks::ha_rocksdb::create_table|myrocks::ha_rocksdb::create
          ES  11.4   dbg  140325  26e39c99feaa4e6f9d3e1b13fd4a7d101059b7ba  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          ES  11.4   opt  140325  26e39c99feaa4e6f9d3e1b13fd4a7d101059b7ba  UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record
          

          Testcase is MTR and CLI compatible. The single ES 10.6 opt different stack is MENT-2277.

          Roel Roel Van de Paar added a comment - - edited Another set of stacks with this testcase: INSTALL SONAME 'ha_rocksdb' ; CREATE TABLE t (c VARCHAR (254) BINARY CHARACTER SET 'latin1' COLLATE 'latin1_bin' ,c2 VARCHAR (254) CHARACTER SET 'latin1' COLLATE 'latin1_bin' ,c3 VARCHAR (1) BINARY CHARACTER SET 'latin1' COLLATE 'latin1_bin' ,c4 VARCHAR (1) CHARACTER SET 'latin1' COLLATE 'latin1_bin' ) ENGINE=RocksDB ROW_FORMAT=REDUNDANT; ALTER TABLE t ADD CONSTRAINT UNIQUE KEY i1 (c); XA START 'a' ; INSERT INTO t (c) VALUES (0); UPDATE t SET c=load_file ( '$_vardir / temp.txt' ); SELECT 1 FROM t WHERE c IS NULL ; Leads to: CS 11.4.6 4a701e8ce4a178faf955641caf59fc13fcc718e9 (Debug) Build 12/04/2025 Core was generated by `/test/MD120425-mariadb-11.4.6-linux-x86_64-dbg/bin/mariadbd --no-defaults --max'. Program terminated with signal SIGSEGV, Segmentation fault. #0 myrocks::Rdb_string_reader::read (this=0x0, size=2) at ././rdb_buff.h:284   [Current thread is 1 (LWP 926882)] (gdb) bt #0 myrocks::Rdb_string_reader::read (this=0x0, size=2) at ./././rdb_buff.h:284 #1 0x00007b07aeeb589e in myrocks::Rdb_string_reader::read_uint16 (this=0x0, res=0x7b08381aff88) at ./././rdb_buff.h:306 #2 0x00007b07aeea9cde in myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad (fpi=0x7b0710269aa8, field=0x7b0710078c90, dst=0x7b07100787c2 "", reader=0x7b08381b02e8, unp_reader=0x0)at /test/11.4_dbg/storage/rocksdb/rdb_datadic.cc:2622 #3 0x00007b07aee9fb57 in myrocks::Rdb_convert_to_record_key_decoder::decode_field (fpi=0x7b0710269aa8, field=0x7b0710078c90, reader=0x7b08381b02e8, default_value=0x7b07100746a9 "", unpack_reader=0x0)at /test/11.4_dbg/storage/rocksdb/rdb_datadic.cc:105 #4 0x00007b07aee9fdb1 in myrocks::Rdb_convert_to_record_key_decoder::decode (buf=0x7b07100787c0 "\376", offset=0x7b08381b0250, fpi=0x7b0710269aa8, table=0x7b071007b9b8, field=0x7b0710078c90, has_unpack_info=false, reader=0x7b08381b02e8, unpack_reader=0x7b08381b02d8)at /test/11.4_dbg/storage/rocksdb/rdb_datadic.cc:144 #5 0x00007b07aeea059c in myrocks::Rdb_key_field_iterator::next (this=0x7b08381b01f0) at /test/11.4_dbg/storage/rocksdb/rdb_datadic.cc:277 #6 0x00007b07aeea8178 in myrocks::Rdb_key_def::unpack_record (this=0x7b07102ced10, table=0x7b071007b9b8, buf=0x7b07100787c0 "\376", packed_key=0x7b08381b0380, unpack_info=0x7b08381b0368, verify_row_debug_checksums=false)at /test/11.4_dbg/storage/rocksdb/rdb_datadic.cc:1686 #7 0x00007b07aee06f24 in myrocks::ha_rocksdb::secondary_index_read (this=0x7b0710077f88, keyno=0, buf=0x7b07100787c0 "\376")at /test/11.4_dbg/storage/rocksdb/ha_rocksdb.cc:8366 #8 0x00007b07aee0a281 in myrocks::ha_rocksdb::index_next_with_direction (this=0x7b0710077f88, buf=0x7b07100787c0 "\376", move_forward=true)at /test/11.4_dbg/storage/rocksdb/ha_rocksdb.cc:9200 #9 0x00007b07aee0a098 in myrocks::ha_rocksdb::index_next (this=0x7b0710077f88, buf=0x7b07100787c0 "\376")at /test/11.4_dbg/storage/rocksdb/ha_rocksdb.cc:9145 #10 0x00005a14a2f58b5c in handler::index_next_same (this=0x7b0710077f88, buf=0x7b07100787c0 "\376", key=0x7b071001e1e8 "\001", keylen=257)at /test/11.4_dbg/sql/handler.cc:5927 #11 0x00005a14a2f53951 in handler::ha_index_next_same (this=0x7b0710077f88, buf=0x7b07100787c0 "\376", key=0x7b071001e1e8 "\001", keylen=257)at /test/11.4_dbg/sql/handler.cc:3929 #12 0x00005a14a2bf2870 in join_read_next_same (info=0x7b071001d548)at /test/11.4_dbg/sql/sql_select.cc:25094 #13 0x00005a14a29e9736 in READ_RECORD::read_record (this=0x7b071001d548)at /test/11.4_dbg/sql/records.h:81 #14 0x00005a14a2ba5320 in sub_select (join=0x7b071001b338, join_tab=0x7b071001d478, end_of_records=false)at /test/11.4_dbg/sql/sql_select.cc:24253 #15 0x00005a14a2bcc6e4 in do_select (join=0x7b071001b338, procedure=0x0)at /test/11.4_dbg/sql/sql_select.cc:23747 #16 0x00005a14a2bcba4a in JOIN::exec_inner (this=0x7b071001b338)at /test/11.4_dbg/sql/sql_select.cc:5052 #17 0x00005a14a2bca92e in JOIN::exec (this=0x7b071001b338)at /test/11.4_dbg/sql/sql_select.cc:4838 #18 0x00005a14a2ba5b7d in mysql_select (thd=0x7b0710000d58, tables=0x7b071001a0f8, fields=@0x7b0710019e10: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x7b071001a0a8, last = 0x7b071001a0a8, elements = 1}, <No data fields>}, conds=0x7b071001a940, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2165574400, result=0x7b071001b310, unit=0x7b0710005000, select_lex=0x7b0710019b58)at /test/11.4_dbg/sql/sql_select.cc:5368 #19 0x00005a14a2ba5605 in handle_select (thd=0x7b0710000d58, lex=0x7b0710004f20, result=0x7b071001b310, setup_tables_done_option=0)at /test/11.4_dbg/sql/sql_select.cc:642 #20 0x00005a14a2b4d651 in execute_sqlcom_select (thd=0x7b0710000d58, all_tables=0x7b071001a0f8) at /test/11.4_dbg/sql/sql_parse.cc:6183 #21 0x00005a14a2b425e0 in mysql_execute_command (thd=0x7b0710000d58, is_called_from_prepared_stmt=false) at /test/11.4_dbg/sql/sql_parse.cc:3975 #22 0x00005a14a2b3a744 in mysql_parse (thd=0x7b0710000d58, rawbuf=0x7b0710019ac0 "SELECT 1 FROM t WHERE c IS NULL", length=31, parser_state=0x7b08381b2a30) at /test/11.4_dbg/sql/sql_parse.cc:7907 #23 0x00005a14a2b37bf4 in dispatch_command (command=COM_QUERY, thd=0x7b0710000d58, packet=0x7b071000afd9 "", packet_length=31, blocking=true) at /test/11.4_dbg/sql/sql_parse.cc:1904 #24 0x00005a14a2b3b2f3 in do_command (thd=0x7b0710000d58, blocking=true)at /test/11.4_dbg/sql/sql_parse.cc:1417 #25 0x00005a14a2d1d619 in do_handle_one_connection (connect=0x5a14a60fd228, put_in_cache=true) at /test/11.4_dbg/sql/sql_connect.cc:1408 #26 0x00005a14a2d1d3b2 in handle_one_connection (arg=0x5a14a6160cd8)at /test/11.4_dbg/sql/sql_connect.cc:1320 #27 0x00007b083ee9ca94 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447 #28 0x00007b083ef29c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Bug Detection Matrix Rel o/d Build Commit UniqueID observed CS 10.5 dbg 120425 e6ea5d568c0fb972a391a8c64716846ddb7c57ef SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field CS 10.5 opt 120425 e6ea5d568c0fb972a391a8c64716846ddb7c57ef SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 10.6 dbg 120425 690b2cf776faa2e1a6832077cec2246c86cd00bf SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field CS 10.6 opt 120425 690b2cf776faa2e1a6832077cec2246c86cd00bf SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 10.11 dbg 120425 acd071f599f416ddb4821dec485c4d912844213f SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field CS 10.11 opt 120425 acd071f599f416ddb4821dec485c4d912844213f SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 11.4 dbg 120425 4a701e8ce4a178faf955641caf59fc13fcc718e9 SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field CS 11.4 opt 120425 4a701e8ce4a178faf955641caf59fc13fcc718e9 SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 11.8 dbg 120425 db5bb6f3339be5a49c0f397eb80a0f259f73f447 SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field CS 11.8 opt 120425 db5bb6f3339be5a49c0f397eb80a0f259f73f447 SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next CS 12.0 dbg 120425 22efc2c784e1b7199fb5804e6330168277ea7dce SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field CS 12.0 opt 120425 22efc2c784e1b7199fb5804e6330168277ea7dce SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next ES 10.5 dbg 120425 0d368ec0042a81d9549fc939fb742f82350b20ab SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field ES 10.5 opt 120425 0d368ec0042a81d9549fc939fb742f82350b20ab SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next ES 10.6 dbg 120425 74602d1b054ba6c9ee20af79d6e7807440a7a98e SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field ES 10.6 opt 120425 74602d1b054ba6c9ee20af79d6e7807440a7a98e SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next ES 11.4 dbg 120425 9cd12544ebfd0d52d2158af66b5aced58121cf1f SIGSEGV|myrocks::Rdb_string_reader::read|myrocks::Rdb_string_reader::read_uint16|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field ES 11.4 opt 120425 9cd12544ebfd0d52d2158af66b5aced58121cf1f SIGSEGV|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode_field|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next SAN Bug Detection Matrix Rel o/d Build Commit UniqueID observed CS 10.5 dbg 150225 c43d0a015f974c5a0142e6779332089a7a979853 UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 10.5 opt 150225 c43d0a015f974c5a0142e6779332089a7a979853 UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 10.6 dbg 150225 f1d7e0c17e33f77278e6226dd94aeb30fc856bf0 UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 10.6 opt 150225 f1d7e0c17e33f77278e6226dd94aeb30fc856bf0 UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 10.11 dbg 150225 43c5d1303f5c7c726db276815c459436110f342f UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 10.11 opt 150225 43c5d1303f5c7c726db276815c459436110f342f UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 11.4 dbg 150225 ef966af801afc2a07222b5df65dddd52c77431dd UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 11.4 opt 150225 ef966af801afc2a07222b5df65dddd52c77431dd UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 11.8 dbg 150225 33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 11.8 opt 150225 33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 12.0 dbg 150225 c92add291e636c797e6d6ddca605905541b2a441 UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record CS 12.0 opt 150225 c92add291e636c797e6d6ddca605905541b2a441 UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record ES 10.5 dbg 140325 6553c62369ab3606efc74295c902181f793fd6d1 UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record ES 10.5 opt 140325 6553c62369ab3606efc74295c902181f793fd6d1 UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record ES 10.6 dbg 140325 a99e9e4101f5d56a379577e6d81c829b7658df99 UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record ES 10.6 opt 140325 a99e9e4101f5d56a379577e6d81c829b7658df99 SIGSEGV|std::__shared_ptr<myrocks::Rdb_key_def,|std::shared_ptr<myrocks::Rdb_key_def>::operator=|myrocks::ha_rocksdb::create_table|myrocks::ha_rocksdb::create ES 11.4 dbg 140325 26e39c99feaa4e6f9d3e1b13fd4a7d101059b7ba UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record ES 11.4 opt 140325 26e39c99feaa4e6f9d3e1b13fd4a7d101059b7ba UBSAN|member call on null pointer of type 'myrocks::Rdb_string_reader'|storage/rocksdb/rdb_datadic.cc|myrocks::Rdb_key_def::unpack_binary_or_utf8_varchar_space_pad|myrocks::Rdb_convert_to_record_key_decoder::decode|myrocks::Rdb_key_field_iterator::next|myrocks::Rdb_key_def::unpack_record Testcase is MTR and CLI compatible. The single ES 10.6 opt different stack is MENT-2277.

          People

            psergei Sergei Petrunia
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            3 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.