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

Server hangs or fails on assertion after modifying key column to CHAR(0)

Details

    Description

      I'm not setting it to critical even though it's a recent regression, because CHAR(0) isn't a realistic use case (I hope).

      --source include/have_innodb.inc
       
      CREATE TABLE t (id INT PRIMARY KEY) ENGINE=innodb;
      --error 0,ER_WRONG_KEY_COLUMN
      ALTER TABLE t MODIFY id CHAR(0);
      UPDATE t SET id = 1;
       
      DROP TABLE t;
      

      10.5 da20e4d8a57f0fd957edcaa50299173ccc8cac86

      mariadbd: /data/bld/10.5-asan/storage/innobase/handler/ha_innodb.cc:8859: virtual int ha_innobase::index_read(uchar*, const uchar*, uint, ha_rkey_function): Assertion `key_len != 0 || find_flag != HA_READ_KEY_EXACT' failed.
      250401  1:18:06 [ERROR] /share8t/bld/10.5-asan/sql/mariadbd got signal 6 ;
       
      #9  0x00007f304ea53eb2 in __GI___assert_fail (assertion=0x56452421e8c0 "key_len != 0 || find_flag != HA_READ_KEY_EXACT", file=0x564524211320 "/data/bld/10.5-asan/storage/innobase/handler/ha_innodb.cc", line=8859, function=0x56452421e920 "virtual int ha_innobase::index_read(uchar*, const uchar*, uint, ha_rkey_function)") at ./assert/assert.c:101
      #10 0x00005645228c5ac6 in ha_innobase::index_read (this=0x61d0002af8b8, buf=0x6190000fc3c8 "\377", '\276' <repeats 23 times>, "8\304\017", key_ptr=0x6190000fc648 '\276' <repeats 200 times>..., key_len=0, find_flag=HA_READ_KEY_EXACT) at /data/bld/10.5-asan/storage/innobase/handler/ha_innodb.cc:8859
      #11 0x00005645228c9fa3 in ha_innobase::rnd_pos (this=0x61d0002af8b8, buf=0x6190000fc3c8 "\377", '\276' <repeats 23 times>, "8\304\017", pos=0x6190000fc648 '\276' <repeats 200 times>...) at /data/bld/10.5-asan/storage/innobase/handler/ha_innodb.cc:9428
      #12 0x0000564521e49b88 in handler::ha_rnd_pos (this=0x61d0002af8b8, buf=0x6190000fc3c8 "\377", '\276' <repeats 23 times>, "8\304\017", pos=0x6190000fc648 '\276' <repeats 200 times>...) at /data/bld/10.5-asan/sql/handler.cc:3223
      #13 0x00005645222ae7bb in rr_from_tempfile (info=0x7f30372218e0) at /data/bld/10.5-asan/sql/records.cc:535
      #14 0x00005645214205a8 in READ_RECORD::read_record (this=0x7f30372218e0) at /data/bld/10.5-asan/sql/records.h:80
      #15 0x0000564521900fa7 in mysql_update (thd=0x62b00007e218, table_list=0x62b000085338, fields=..., values=..., conds=0x0, order_num=0, order=0x0, limit=18446744073709551615, ignore=false, found_return=0x7f3037222030, updated_return=0x7f3037222050) at /data/bld/10.5-asan/sql/sql_update.cc:1024
      #16 0x00005645215e7427 in mysql_execute_command (thd=0x62b00007e218) at /data/bld/10.5-asan/sql/sql_parse.cc:4507
      #17 0x0000564521600f03 in mysql_parse (thd=0x62b00007e218, rawbuf=0x62b000085238 "UPDATE t SET id = 1", length=19, parser_state=0x7f3037222c70, is_com_multi=false, is_next_command=false) at /data/bld/10.5-asan/sql/sql_parse.cc:8252
      #18 0x00005645215d60c6 in dispatch_command (command=COM_QUERY, thd=0x62b00007e218, packet=0x62900026c219 "UPDATE t SET id = 1", packet_length=19, is_com_multi=false, is_next_command=false) at /data/bld/10.5-asan/sql/sql_parse.cc:1891
      #19 0x00005645215d2a59 in do_command (thd=0x62b00007e218) at /data/bld/10.5-asan/sql/sql_parse.cc:1375
      #20 0x0000564521a30135 in do_handle_one_connection (connect=0x608000003eb8, put_in_cache=true) at /data/bld/10.5-asan/sql/sql_connect.cc:1386
      #21 0x0000564521a2fc9b in handle_one_connection (arg=0x608000003e38) at /data/bld/10.5-asan/sql/sql_connect.cc:1298
      #22 0x000056452268fdc8 in pfs_spawn_thread (arg=0x61500000e198) at /data/bld/10.5-asan/storage/perfschema/pfs.cc:2201
      #23 0x00007f304eaa81c4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #24 0x00007f304eb2885c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
      

      The failure started happening after this commit in 10.5.28:

      commit ecaedbe299fe11372c36319f9b732b81e9f54883 (HEAD)
      Author:     Nikita Malyavin
      AuthorDate: Sat Oct 12 21:32:18 2024 +0200
      Commit:     Nikita Malyavin
      CommitDate: Sun Jan 26 16:15:46 2025 +0100
       
          MDEV-33658 1/2 Refactoring: extract Key length initialization
      

      Before the commit, ALTER would return ER_WRONG_KEY_COLUMN. After the commit, ALTER succeeds, and the UPDATE causes the assertion failure.
      A non-debug server hangs instead.

      Attachments

        Issue Links

          Activity

            I also ran into this. Same hangs on optimized builds:

            CS 12.0.0 22efc2c784e1b7199fb5804e6330168277ea7dce (Optimized) Build 04/04/2025

            12.0.0-opt>SHOW FULL PROCESSLIST;
            +----+------+-----------+------+---------+------+----------+-----------------------+----------+
            | Id | User | Host      | db   | Command | Time | State    | Info                  | Progress |
            +----+------+-----------+------+---------+------+----------+-----------------------+----------+
            |  4 | root | localhost | test | Query   |  260 | Updating | UPDATE t SET c=0      |    0.000 |
            |  5 | root | localhost | test | Query   |    0 | starting | SHOW FULL PROCESSLIST |    0.000 |
            +----+------+-----------+------+---------+------+----------+-----------------------+----------+
            2 rows in set (0.000 sec)
            

            Roel Roel Van de Paar added a comment - I also ran into this. Same hangs on optimized builds: CS 12.0.0 22efc2c784e1b7199fb5804e6330168277ea7dce (Optimized) Build 04/04/2025 12.0.0-opt>SHOW FULL PROCESSLIST; +----+------+-----------+------+---------+------+----------+-----------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+------+-----------+------+---------+------+----------+-----------------------+----------+ | 4 | root | localhost | test | Query | 260 | Updating | UPDATE t SET c=0 | 0.000 | | 5 | root | localhost | test | Query | 0 | starting | SHOW FULL PROCESSLIST | 0.000 | +----+------+-----------+------+---------+------+----------+-----------------------+----------+ 2 rows in set (0.000 sec)

            10.5 (alone) gives a different assertion:

            CS 10.5.29 c43d0a015f974c5a0142e6779332089a7a979853 (Debug) Build 15/02/2025

            mariadbd: /test/10.5_dbg/storage/innobase/handler/ha_innodb.cc:8859: virtual int ha_innobase::index_read(uchar *, const uchar *, uint, enum ha_rkey_function): Assertion `key_len != 0 || find_flag != HA_READ_KEY_EXACT' failed.
            

            CS 10.5.29 c43d0a015f974c5a0142e6779332089a7a979853 (Debug) Build 15/02/2025

            Core was generated by `/test/MD150225-mariadb-10.5.29-linux-x86_64-dbg/bin/mariadbd --no-defaults --ma'.
            Program terminated with signal SIGABRT, Aborted.
            #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
             
            [Current thread is 1 (LWP 56880)]
            (gdb) bt
            #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
            #1  __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78
            #2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89
            #3  0x00007e0aa764526e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26
            #4  0x00007e0aa76288ff in __GI_abort () at ./stdlib/abort.c:79
            #5  0x00007e0aa762881b in __assert_fail_base (fmt=0x7e0aa77d01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x5ab8d60efe75 "key_len != 0 || find_flag != HA_READ_KEY_EXACT", file=file@entry=0x5ab8d60eeddd "/test/10.5_dbg/storage/innobase/handler/ha_innodb.cc", line=line@entry=8859, function=function@entry=0x5ab8d60efea4 "virtual int ha_innobase::index_read(uchar *, const uchar *, uint, enum ha_rkey_function)") at ./assert/assert.c:94
            #6  0x00007e0aa763b507 in __assert_fail (assertion=0x5ab8d60efe75 "key_len != 0 || find_flag != HA_READ_KEY_EXACT", file=0x5ab8d60eeddd "/test/10.5_dbg/storage/innobase/handler/ha_innodb.cc", line=8859, function=0x5ab8d60efea4 "virtual int ha_innobase::index_read(uchar *, const uchar *, uint, enum ha_rkey_function)") at ./assert/assert.c:103
            #7  0x00005ab8d5841590 in ha_innobase::index_read (this=0x7e095805d580, buf=0x7e095801c4a8 "\377", '\245' <repeats 15 times>, key_ptr=0x7e095801c6f8 '\217' <repeats 200 times>..., key_len=0, find_flag=HA_READ_KEY_EXACT)at /test/10.5_dbg/storage/innobase/handler/ha_innodb.cc:8859
            #8  0x00005ab8d584243c in ha_innobase::rnd_pos (this=0x7e095805d580, buf=0x7e095801c4a8 "\377", '\245' <repeats 15 times>, pos=0x7e095801c6f8 '\217' <repeats 200 times>...)at /test/10.5_dbg/storage/innobase/handler/ha_innodb.cc:9428
            #9  0x00005ab8d546ac7b in handler::ha_rnd_pos (this=0x7e095805d580, buf=0x7e095801c4a8 "\377", '\245' <repeats 15 times>, pos=0x7e095801c6f8 '\217' <repeats 200 times>...)at /test/10.5_dbg/sql/handler.cc:3220
            #10 0x00005ab8d5647b9b in rr_from_tempfile (info=0x7e0aa45fc380)at /test/10.5_dbg/sql/records.cc:535
            #11 0x00005ab8d5025ac6 in READ_RECORD::read_record (this=0x7e0aa45fc380)at /test/10.5_dbg/sql/records.h:80
            #12 0x00005ab8d5205645 in mysql_update (thd=0x7e0958000d58, table_list=0x7e0958012f80, fields=@0x7e09580056b0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x7e0958013880, last = 0x7e0958013880, elements = 1}, <No data fields>}, values=@0x7e0958005c70: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x7e0958013890, last = 0x7e0958013890, elements = 1}, <No data fields>}, conds=0x0, order_num=0, order=0x0, limit=18446744073709551615, ignore=false, found_return=0x7e0aa45fd2f8, updated_return=0x7e0aa45fd2f0)at /test/10.5_dbg/sql/sql_update.cc:1024
            #13 0x00005ab8d50dd18a in mysql_execute_command (thd=0x7e0958000d58)at /test/10.5_dbg/sql/sql_parse.cc:4507
            #14 0x00005ab8d50d3306 in mysql_parse (thd=0x7e0958000d58, rawbuf=0x7e0958012eb0 "UPDATE t SET id = 1", length=19, parser_state=0x7e0aa45fdc38, is_com_multi=false, is_next_command=false)at /test/10.5_dbg/sql/sql_parse.cc:8252
            #15 0x00005ab8d50d01c0 in dispatch_command (command=COM_QUERY, thd=0x7e0958000d58, packet=0x7e095800aa39 "UPDATE t SET id = 1", packet_length=19, is_com_multi=false, is_next_command=false)at /test/10.5_dbg/sql/sql_parse.cc:1891
            #16 0x00005ab8d50d3cec in do_command (thd=0x7e0958000d58)at /test/10.5_dbg/sql/sql_parse.cc:1375
            #17 0x00005ab8d527bfd3 in do_handle_one_connection (connect=0x5ab8d84d00c8, put_in_cache=true) at /test/10.5_dbg/sql/sql_connect.cc:1386
            #18 0x00005ab8d527bd72 in handle_one_connection (arg=0x5ab8d84a9068)at /test/10.5_dbg/sql/sql_connect.cc:1298
            #19 0x00007e0aa769ca94 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
            #20 0x00007e0aa7729c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
            

            Roel Roel Van de Paar added a comment - 10.5 (alone) gives a different assertion: CS 10.5.29 c43d0a015f974c5a0142e6779332089a7a979853 (Debug) Build 15/02/2025 mariadbd: /test/10.5_dbg/storage/innobase/handler/ha_innodb.cc:8859: virtual int ha_innobase::index_read(uchar *, const uchar *, uint, enum ha_rkey_function): Assertion `key_len != 0 || find_flag != HA_READ_KEY_EXACT' failed. CS 10.5.29 c43d0a015f974c5a0142e6779332089a7a979853 (Debug) Build 15/02/2025 Core was generated by `/test/MD150225-mariadb-10.5.29-linux-x86_64-dbg/bin/mariadbd --no-defaults --ma'. Program terminated with signal SIGABRT, Aborted. #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44   [Current thread is 1 (LWP 56880)] (gdb) bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89 #3 0x00007e0aa764526e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26 #4 0x00007e0aa76288ff in __GI_abort () at ./stdlib/abort.c:79 #5 0x00007e0aa762881b in __assert_fail_base (fmt=0x7e0aa77d01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x5ab8d60efe75 "key_len != 0 || find_flag != HA_READ_KEY_EXACT", file=file@entry=0x5ab8d60eeddd "/test/10.5_dbg/storage/innobase/handler/ha_innodb.cc", line=line@entry=8859, function=function@entry=0x5ab8d60efea4 "virtual int ha_innobase::index_read(uchar *, const uchar *, uint, enum ha_rkey_function)") at ./assert/assert.c:94 #6 0x00007e0aa763b507 in __assert_fail (assertion=0x5ab8d60efe75 "key_len != 0 || find_flag != HA_READ_KEY_EXACT", file=0x5ab8d60eeddd "/test/10.5_dbg/storage/innobase/handler/ha_innodb.cc", line=8859, function=0x5ab8d60efea4 "virtual int ha_innobase::index_read(uchar *, const uchar *, uint, enum ha_rkey_function)") at ./assert/assert.c:103 #7 0x00005ab8d5841590 in ha_innobase::index_read (this=0x7e095805d580, buf=0x7e095801c4a8 "\377", '\245' <repeats 15 times>, key_ptr=0x7e095801c6f8 '\217' <repeats 200 times>..., key_len=0, find_flag=HA_READ_KEY_EXACT)at /test/10.5_dbg/storage/innobase/handler/ha_innodb.cc:8859 #8 0x00005ab8d584243c in ha_innobase::rnd_pos (this=0x7e095805d580, buf=0x7e095801c4a8 "\377", '\245' <repeats 15 times>, pos=0x7e095801c6f8 '\217' <repeats 200 times>...)at /test/10.5_dbg/storage/innobase/handler/ha_innodb.cc:9428 #9 0x00005ab8d546ac7b in handler::ha_rnd_pos (this=0x7e095805d580, buf=0x7e095801c4a8 "\377", '\245' <repeats 15 times>, pos=0x7e095801c6f8 '\217' <repeats 200 times>...)at /test/10.5_dbg/sql/handler.cc:3220 #10 0x00005ab8d5647b9b in rr_from_tempfile (info=0x7e0aa45fc380)at /test/10.5_dbg/sql/records.cc:535 #11 0x00005ab8d5025ac6 in READ_RECORD::read_record (this=0x7e0aa45fc380)at /test/10.5_dbg/sql/records.h:80 #12 0x00005ab8d5205645 in mysql_update (thd=0x7e0958000d58, table_list=0x7e0958012f80, fields=@0x7e09580056b0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x7e0958013880, last = 0x7e0958013880, elements = 1}, <No data fields>}, values=@0x7e0958005c70: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x7e0958013890, last = 0x7e0958013890, elements = 1}, <No data fields>}, conds=0x0, order_num=0, order=0x0, limit=18446744073709551615, ignore=false, found_return=0x7e0aa45fd2f8, updated_return=0x7e0aa45fd2f0)at /test/10.5_dbg/sql/sql_update.cc:1024 #13 0x00005ab8d50dd18a in mysql_execute_command (thd=0x7e0958000d58)at /test/10.5_dbg/sql/sql_parse.cc:4507 #14 0x00005ab8d50d3306 in mysql_parse (thd=0x7e0958000d58, rawbuf=0x7e0958012eb0 "UPDATE t SET id = 1", length=19, parser_state=0x7e0aa45fdc38, is_com_multi=false, is_next_command=false)at /test/10.5_dbg/sql/sql_parse.cc:8252 #15 0x00005ab8d50d01c0 in dispatch_command (command=COM_QUERY, thd=0x7e0958000d58, packet=0x7e095800aa39 "UPDATE t SET id = 1", packet_length=19, is_com_multi=false, is_next_command=false)at /test/10.5_dbg/sql/sql_parse.cc:1891 #16 0x00005ab8d50d3cec in do_command (thd=0x7e0958000d58)at /test/10.5_dbg/sql/sql_parse.cc:1375 #17 0x00005ab8d527bfd3 in do_handle_one_connection (connect=0x5ab8d84d00c8, put_in_cache=true) at /test/10.5_dbg/sql/sql_connect.cc:1386 #18 0x00005ab8d527bd72 in handle_one_connection (arg=0x5ab8d84a9068)at /test/10.5_dbg/sql/sql_connect.cc:1298 #19 0x00007e0aa769ca94 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447 #20 0x00007e0aa7729c3c 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  150225  c43d0a015f974c5a0142e6779332089a7a979853  key_len != 0 || find_flag != HA_READ_KEY_EXACT|SIGABRT|ha_innobase::index_read|ha_innobase::rnd_pos|handler::ha_rnd_pos|rr_from_tempfile
            CS  10.5   opt  150225  c43d0a015f974c5a0142e6779332089a7a979853  Hang
            CS  10.6   dbg  150225  f1d7e0c17e33f77278e6226dd94aeb30fc856bf0  find_flag != HA_READ_KEY_EXACT|SIGABRT|ha_innobase::index_read|ha_innobase::rnd_pos|handler::ha_rnd_pos|rr_from_tempfile
            CS  10.6   opt  150225  f1d7e0c17e33f77278e6226dd94aeb30fc856bf0  Hang
            CS  10.11  dbg  150225  43c5d1303f5c7c726db276815c459436110f342f  find_flag != HA_READ_KEY_EXACT|SIGABRT|ha_innobase::index_read|ha_innobase::rnd_pos|handler::ha_rnd_pos|rr_from_tempfile
            CS  10.11  opt  150225  43c5d1303f5c7c726db276815c459436110f342f  Hang
            CS  11.4   dbg  150225  ef966af801afc2a07222b5df65dddd52c77431dd  find_flag != HA_READ_KEY_EXACT|SIGABRT|ha_innobase::index_read|ha_innobase::rnd_pos|handler::ha_rnd_pos|rr_from_tempfile
            CS  11.4   opt  150225  ef966af801afc2a07222b5df65dddd52c77431dd  Hang
            CS  11.8   dbg  150225  33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d  find_flag != HA_READ_KEY_EXACT|SIGABRT|ha_innobase::index_read|ha_innobase::rnd_pos|handler::ha_rnd_pos|rr_from_tempfile
            CS  11.8   opt  150225  33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d  Hang
            CS  12.0   dbg  040425  22efc2c784e1b7199fb5804e6330168277ea7dce  find_flag != HA_READ_KEY_EXACT|SIGABRT|ha_innobase::index_read|ha_innobase::rnd_pos|handler::ha_rnd_pos|rr_from_tempfile
            CS  12.0   opt  040425  22efc2c784e1b7199fb5804e6330168277ea7dce  Hang
            ES  10.5   dbg  130325  52e0fd3f76eaa4b1e88fd2028f5640c48b6cbb06  No bug found                  
            ES  10.5   opt  130325  52e0fd3f76eaa4b1e88fd2028f5640c48b6cbb06  No bug found                  
            ES  10.6   dbg  130325  66c9276fa67d1aacf5cf47b31254e79a9d0e4a5d  No bug found                  
            ES  10.6   opt  130325  66c9276fa67d1aacf5cf47b31254e79a9d0e4a5d  No bug found                  
            ES  11.4   dbg  130325  ca7a2a835c4c982ffa35d3f0b5748b30c4c22763  No bug found                  
            ES  11.4   opt  130325  ca7a2a835c4c982ffa35d3f0b5748b30c4c22763  No bug found                  
            MS  5.5    dbg  070123  bac287c315b1792e7ae33f91add6a60292f9bae8  No bug found                  
            MS  5.5    opt  070123  bac287c315b1792e7ae33f91add6a60292f9bae8  No bug found                  
            MS  5.6    dbg  070123  dab95781a1244104d6b87020ac2fc4d190ba2946  No bug found                  
            MS  5.6    opt  070123  dab95781a1244104d6b87020ac2fc4d190ba2946  No bug found                  
            MS  5.7    dbg  060224  f7680e98b6bbe3500399fbad465d08a6b75d7a5c  No bug found                  
            MS  5.7    opt  060224  f7680e98b6bbe3500399fbad465d08a6b75d7a5c  No bug found                  
            MS  8.0    dbg  060224  49ef33f7edadef3ae04665e73d1babd40179a4f1  No bug found                  
            MS  8.0    opt  060224  49ef33f7edadef3ae04665e73d1babd40179a4f1  No bug found                  
            MS  9.1    dbg  211024  61a3a1d8ef15512396b4c2af46e922a19bf2b174  No bug found                  
            MS  9.1    opt  211024  61a3a1d8ef15512396b4c2af46e922a19bf2b174  No bug found                  
            

            Roel Roel Van de Paar added a comment - Bug Detection Matrix Rel o/d Build Commit UniqueID observed CS 10.5 dbg 150225 c43d0a015f974c5a0142e6779332089a7a979853 key_len != 0 || find_flag != HA_READ_KEY_EXACT|SIGABRT|ha_innobase::index_read|ha_innobase::rnd_pos|handler::ha_rnd_pos|rr_from_tempfile CS 10.5 opt 150225 c43d0a015f974c5a0142e6779332089a7a979853 Hang CS 10.6 dbg 150225 f1d7e0c17e33f77278e6226dd94aeb30fc856bf0 find_flag != HA_READ_KEY_EXACT|SIGABRT|ha_innobase::index_read|ha_innobase::rnd_pos|handler::ha_rnd_pos|rr_from_tempfile CS 10.6 opt 150225 f1d7e0c17e33f77278e6226dd94aeb30fc856bf0 Hang CS 10.11 dbg 150225 43c5d1303f5c7c726db276815c459436110f342f find_flag != HA_READ_KEY_EXACT|SIGABRT|ha_innobase::index_read|ha_innobase::rnd_pos|handler::ha_rnd_pos|rr_from_tempfile CS 10.11 opt 150225 43c5d1303f5c7c726db276815c459436110f342f Hang CS 11.4 dbg 150225 ef966af801afc2a07222b5df65dddd52c77431dd find_flag != HA_READ_KEY_EXACT|SIGABRT|ha_innobase::index_read|ha_innobase::rnd_pos|handler::ha_rnd_pos|rr_from_tempfile CS 11.4 opt 150225 ef966af801afc2a07222b5df65dddd52c77431dd Hang CS 11.8 dbg 150225 33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d find_flag != HA_READ_KEY_EXACT|SIGABRT|ha_innobase::index_read|ha_innobase::rnd_pos|handler::ha_rnd_pos|rr_from_tempfile CS 11.8 opt 150225 33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d Hang CS 12.0 dbg 040425 22efc2c784e1b7199fb5804e6330168277ea7dce find_flag != HA_READ_KEY_EXACT|SIGABRT|ha_innobase::index_read|ha_innobase::rnd_pos|handler::ha_rnd_pos|rr_from_tempfile CS 12.0 opt 040425 22efc2c784e1b7199fb5804e6330168277ea7dce Hang ES 10.5 dbg 130325 52e0fd3f76eaa4b1e88fd2028f5640c48b6cbb06 No bug found ES 10.5 opt 130325 52e0fd3f76eaa4b1e88fd2028f5640c48b6cbb06 No bug found ES 10.6 dbg 130325 66c9276fa67d1aacf5cf47b31254e79a9d0e4a5d No bug found ES 10.6 opt 130325 66c9276fa67d1aacf5cf47b31254e79a9d0e4a5d No bug found ES 11.4 dbg 130325 ca7a2a835c4c982ffa35d3f0b5748b30c4c22763 No bug found ES 11.4 opt 130325 ca7a2a835c4c982ffa35d3f0b5748b30c4c22763 No bug found MS 5.5 dbg 070123 bac287c315b1792e7ae33f91add6a60292f9bae8 No bug found MS 5.5 opt 070123 bac287c315b1792e7ae33f91add6a60292f9bae8 No bug found MS 5.6 dbg 070123 dab95781a1244104d6b87020ac2fc4d190ba2946 No bug found MS 5.6 opt 070123 dab95781a1244104d6b87020ac2fc4d190ba2946 No bug found MS 5.7 dbg 060224 f7680e98b6bbe3500399fbad465d08a6b75d7a5c No bug found MS 5.7 opt 060224 f7680e98b6bbe3500399fbad465d08a6b75d7a5c No bug found MS 8.0 dbg 060224 49ef33f7edadef3ae04665e73d1babd40179a4f1 No bug found MS 8.0 opt 060224 49ef33f7edadef3ae04665e73d1babd40179a4f1 No bug found MS 9.1 dbg 211024 61a3a1d8ef15512396b4c2af46e922a19bf2b174 No bug found MS 9.1 opt 211024 61a3a1d8ef15512396b4c2af46e922a19bf2b174 No bug found
            Roel Roel Van de Paar added a comment - - edited

            Also, UBASAN builds give an additional (non-SAN) stack

            CS 11.8.1 33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d (Debug, UBASAN, Clang) Build 15/02/2025

            mariadbd: /test/11.8_dbg_san/storage/innobase/handler/ha_innodb.cc:9004: virtual int ha_innobase::index_read(uchar *, const uchar *, uint, enum ha_rkey_function): Assertion `find_flag != HA_READ_KEY_EXACT' failed.
            

            CS 11.8.1 33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d (Debug, UBASAN, Clang) Build 15/02/2025

            Core was generated by `/test/UBASAN_MD150225-mariadb-11.8.1-linux-x86_64-dbg/bin/mariadbd --no-default'.
            Program terminated with signal SIGABRT, Aborted.
            #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
             
            [Current thread is 1 (LWP 161125)]
            (gdb) bt
            #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
            #1  __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78
            #2  __GI___pthread_kill (threadid=<optimized out>, signo=6)at ./nptl/pthread_kill.c:89
            #3  0x0000582c07a77ac5 in handle_fatal_signal (sig=<optimized out>)at /test/11.8_dbg_san/sql/signal_handler.cc:298
            #4  <signal handler called>
            #5  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
            #6  __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78
            #7  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89
            #8  0x000076d317c4526e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26
            #9  0x000076d317c288ff in __GI_abort () at ./stdlib/abort.c:79
            #10 0x000076d317c2881b in __assert_fail_base (fmt=0x76d317dd01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x582c0a112c00 <str> "find_flag != HA_READ_KEY_EXACT", file=file@entry=0x582c0a10d990 "/test/11.8_dbg_san/storage/innobase/handler/ha_innodb.cc", line=line@entry=9004, function=function@entry=0x582c0a112b00 <__PRETTY_FUNCTION__._ZN11ha_innobase10index_readEPhPKhj16ha_rkey_function> "virtual int ha_innobase::index_read(uchar *, const uchar *, uint, enum ha_rkey_function)") at ./assert/assert.c:94
            #11 0x000076d317c3b507 in __assert_fail (assertion=0x582c0a112c00 <str> "find_flag != HA_READ_KEY_EXACT", file=0x582c0a10d990 "/test/11.8_dbg_san/storage/innobase/handler/ha_innodb.cc", line=9004, function=0x582c0a112b00 <__PRETTY_FUNCTION__._ZN11ha_innobase10index_readEPhPKhj16ha_rkey_function> "virtual int ha_innobase::index_read(uchar *, const uchar *, uint, enum ha_rkey_function)") at ./assert/assert.c:103
            #12 0x0000582c08912303 in ha_innobase::index_read (this=0x5250000f2948, buf=0x5250000f31a8 "\377", key_ptr=0x5250000f35d0 '\276' <repeats 200 times>..., key_len=0, find_flag=<optimized out>)at /test/11.8_dbg_san/storage/innobase/handler/ha_innodb.cc:9004
            #13 0x0000582c07aa3d24 in handler::ha_rnd_pos (this=0x5250000f2948, buf=<optimized out>, pos=<optimized out>)at /test/11.8_dbg_san/sql/handler.cc:3784
            #14 0x0000582c0678b4aa in rr_from_tempfile (info=0x76d224b1f8b0)at /test/11.8_dbg_san/sql/records.cc:525
            #15 0x0000582c0710b5a6 in Sql_cmd_update::update_single_table (this=0x52d0003c0e88, thd=<optimized out>)at /test/11.8_dbg_san/sql/sql_update.cc:971
            #16 0x0000582c071364b1 in Sql_cmd_update::execute_inner (this=0x52d0003c0e88, thd=<optimized out>) at /test/11.8_dbg_san/sql/sql_update.cc:3201
            #17 0x0000582c06ece7c6 in Sql_cmd_dml::execute (this=0x52d0003c0e88, thd=0x52b000165218) at /test/11.8_dbg_san/sql/sql_select.cc:34407
            #18 0x0000582c06c1bc29 in mysql_execute_command (thd=0x52b000165218, is_called_from_prepared_stmt=<optimized out>)at /test/11.8_dbg_san/sql/sql_parse.cc:4428
            #19 0x0000582c06bfa629 in mysql_parse (thd=thd@entry=0x52b000165218, rawbuf=rawbuf@entry=0x52d0003c0438 "UPDATE t SET c=0", length=<optimized out>, parser_state=parser_state@entry=0x76d224d6f8a0)at /test/11.8_dbg_san/sql/sql_parse.cc:7915
            #20 0x0000582c06bee6ec in dispatch_command (command=<optimized out>, thd=0x52b000165218, packet=<optimized out>, packet_length=<optimized out>, blocking=<optimized out>) at /test/11.8_dbg_san/sql/sql_parse.cc:1902
            #21 0x0000582c06bfd04e in do_command (thd=thd@entry=0x52b000165218, blocking=true) at /test/11.8_dbg_san/sql/sql_parse.cc:1415
            #22 0x0000582c072c5cfd in do_handle_one_connection (connect=<optimized out>, connect@entry=0x508000002fb8, put_in_cache=true)at /test/11.8_dbg_san/sql/sql_connect.cc:1415
            #23 0x0000582c072c55b8 in handle_one_connection (arg=0x508000002fb8)at /test/11.8_dbg_san/sql/sql_connect.cc:1327
            #24 0x0000582c065f1d9d in asan_thread_start(void*) ()
            #25 0x000076d317c9ca94 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
            #26 0x000076d317d29c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
            

            Roel Roel Van de Paar added a comment - - edited Also, UBASAN builds give an additional (non-SAN) stack CS 11.8.1 33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d (Debug, UBASAN, Clang) Build 15/02/2025 mariadbd: /test/11.8_dbg_san/storage/innobase/handler/ha_innodb.cc:9004: virtual int ha_innobase::index_read(uchar *, const uchar *, uint, enum ha_rkey_function): Assertion `find_flag != HA_READ_KEY_EXACT' failed. CS 11.8.1 33e0796e7a154e02a5e53c55cefc5d6feb4f5e6d (Debug, UBASAN, Clang) Build 15/02/2025 Core was generated by `/test/UBASAN_MD150225-mariadb-11.8.1-linux-x86_64-dbg/bin/mariadbd --no-default'. Program terminated with signal SIGABRT, Aborted. #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44   [Current thread is 1 (LWP 161125)] (gdb) bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=<optimized out>, signo=6)at ./nptl/pthread_kill.c:89 #3 0x0000582c07a77ac5 in handle_fatal_signal (sig=<optimized out>)at /test/11.8_dbg_san/sql/signal_handler.cc:298 #4 <signal handler called> #5 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44 #6 __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78 #7 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89 #8 0x000076d317c4526e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26 #9 0x000076d317c288ff in __GI_abort () at ./stdlib/abort.c:79 #10 0x000076d317c2881b in __assert_fail_base (fmt=0x76d317dd01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x582c0a112c00 <str> "find_flag != HA_READ_KEY_EXACT", file=file@entry=0x582c0a10d990 "/test/11.8_dbg_san/storage/innobase/handler/ha_innodb.cc", line=line@entry=9004, function=function@entry=0x582c0a112b00 <__PRETTY_FUNCTION__._ZN11ha_innobase10index_readEPhPKhj16ha_rkey_function> "virtual int ha_innobase::index_read(uchar *, const uchar *, uint, enum ha_rkey_function)") at ./assert/assert.c:94 #11 0x000076d317c3b507 in __assert_fail (assertion=0x582c0a112c00 <str> "find_flag != HA_READ_KEY_EXACT", file=0x582c0a10d990 "/test/11.8_dbg_san/storage/innobase/handler/ha_innodb.cc", line=9004, function=0x582c0a112b00 <__PRETTY_FUNCTION__._ZN11ha_innobase10index_readEPhPKhj16ha_rkey_function> "virtual int ha_innobase::index_read(uchar *, const uchar *, uint, enum ha_rkey_function)") at ./assert/assert.c:103 #12 0x0000582c08912303 in ha_innobase::index_read (this=0x5250000f2948, buf=0x5250000f31a8 "\377", key_ptr=0x5250000f35d0 '\276' <repeats 200 times>..., key_len=0, find_flag=<optimized out>)at /test/11.8_dbg_san/storage/innobase/handler/ha_innodb.cc:9004 #13 0x0000582c07aa3d24 in handler::ha_rnd_pos (this=0x5250000f2948, buf=<optimized out>, pos=<optimized out>)at /test/11.8_dbg_san/sql/handler.cc:3784 #14 0x0000582c0678b4aa in rr_from_tempfile (info=0x76d224b1f8b0)at /test/11.8_dbg_san/sql/records.cc:525 #15 0x0000582c0710b5a6 in Sql_cmd_update::update_single_table (this=0x52d0003c0e88, thd=<optimized out>)at /test/11.8_dbg_san/sql/sql_update.cc:971 #16 0x0000582c071364b1 in Sql_cmd_update::execute_inner (this=0x52d0003c0e88, thd=<optimized out>) at /test/11.8_dbg_san/sql/sql_update.cc:3201 #17 0x0000582c06ece7c6 in Sql_cmd_dml::execute (this=0x52d0003c0e88, thd=0x52b000165218) at /test/11.8_dbg_san/sql/sql_select.cc:34407 #18 0x0000582c06c1bc29 in mysql_execute_command (thd=0x52b000165218, is_called_from_prepared_stmt=<optimized out>)at /test/11.8_dbg_san/sql/sql_parse.cc:4428 #19 0x0000582c06bfa629 in mysql_parse (thd=thd@entry=0x52b000165218, rawbuf=rawbuf@entry=0x52d0003c0438 "UPDATE t SET c=0", length=<optimized out>, parser_state=parser_state@entry=0x76d224d6f8a0)at /test/11.8_dbg_san/sql/sql_parse.cc:7915 #20 0x0000582c06bee6ec in dispatch_command (command=<optimized out>, thd=0x52b000165218, packet=<optimized out>, packet_length=<optimized out>, blocking=<optimized out>) at /test/11.8_dbg_san/sql/sql_parse.cc:1902 #21 0x0000582c06bfd04e in do_command (thd=thd@entry=0x52b000165218, blocking=true) at /test/11.8_dbg_san/sql/sql_parse.cc:1415 #22 0x0000582c072c5cfd in do_handle_one_connection (connect=<optimized out>, connect@entry=0x508000002fb8, put_in_cache=true)at /test/11.8_dbg_san/sql/sql_connect.cc:1415 #23 0x0000582c072c55b8 in handle_one_connection (arg=0x508000002fb8)at /test/11.8_dbg_san/sql/sql_connect.cc:1327 #24 0x0000582c065f1d9d in asan_thread_start(void*) () #25 0x000076d317c9ca94 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447 #26 0x000076d317d29c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78

            People

              nikitamalyavin Nikita Malyavin
              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.