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

Assertion `!(tab->ref.key == -1 && tab->quick && tab->quick->index == tab->range_rowid_filter_info->key_no)' fails on 2nd execution of PS/SP

    XMLWordPrintable

Details

    Description

      --source include/have_innodb.inc
       
      CREATE TABLE t (a varchar(8), b varchar(8), key(a), key(b)) ENGINE=InnoDB CHARACTER SET dec8;
      INSERT INTO t VALUES ('x','j'),('x','a'),('m','a'),('x','b'),('a','a'),('r','n');
       
      SET in_predicate_conversion_threshold=2;
      PREPARE stmt FROM "SELECT * FROM t WHERE a IN ('p','e') AND b >= 'b'";
      EXECUTE stmt;
      EXECUTE stmt;
       
      # Cleanup
      DROP TABLE t;
      

      10.5 7c9837ce

      mariadbd: /data/src/10.5/sql/sql_select.cc:1772: bool JOIN::make_range_rowid_filters(): Assertion `!(tab->ref.key == -1 && tab->quick && tab->quick->index == tab->range_rowid_filter_info->key_no)' failed.
      230908 22:10:32 [ERROR] mysqld got signal 6 ;
       
      #9  0x00007efea0e53df2 in __GI___assert_fail (assertion=0x56549c4fb0e0 "!(tab->ref.key == -1 && tab->quick && tab->quick->index == tab->range_rowid_filter_info->key_no)", file=0x56549c4f9aa0 "/data/src/10.5/sql/sql_select.cc", line=1772, function=0x56549c4fb080 "bool JOIN::make_range_rowid_filters()") at ./assert/assert.c:101
      #10 0x000056549a534597 in JOIN::make_range_rowid_filters (this=0x62b0000855e0) at /data/src/10.5/sql/sql_select.cc:1772
      #11 0x000056549a53b19d in JOIN::optimize_stage2 (this=0x62b0000855e0) at /data/src/10.5/sql/sql_select.cc:2413
      #12 0x000056549a53ac18 in JOIN::optimize_inner (this=0x62b0000855e0) at /data/src/10.5/sql/sql_select.cc:2389
      #13 0x000056549a533d73 in JOIN::optimize (this=0x62b0000855e0) at /data/src/10.5/sql/sql_select.cc:1721
      #14 0x000056549a554938 in mysql_select (thd=0x62b00007e218, tables=0x62b0000bf598, fields=..., conds=0x62b000085360, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2201171004160, result=0x62b0000c0fb8, unit=0x62b0000bd310, select_lex=0x62b0000bef20) at /data/src/10.5/sql/sql_select.cc:4845
      #15 0x000056549a525892 in handle_select (thd=0x62b00007e218, lex=0x62b0000bd248, result=0x62b0000c0fb8, setup_tables_done_option=0) at /data/src/10.5/sql/sql_select.cc:450
      #16 0x000056549a48e887 in execute_sqlcom_select (thd=0x62b00007e218, all_tables=0x62b0000bf598) at /data/src/10.5/sql/sql_parse.cc:6341
      #17 0x000056549a47d37b in mysql_execute_command (thd=0x62b00007e218) at /data/src/10.5/sql/sql_parse.cc:4018
      #18 0x000056549a4ee99c in Prepared_statement::execute (this=0x6190000e5698, expanded_query=0x7efe92f56da0, open_cursor=false) at /data/src/10.5/sql/sql_prepare.cc:5075
      #19 0x000056549a4e9e41 in Prepared_statement::execute_loop (this=0x6190000e5698, expanded_query=0x7efe92f56da0, open_cursor=false, packet=0x0, packet_end=0x0) at /data/src/10.5/sql/sql_prepare.cc:4519
      #20 0x000056549a4e3a1b in mysql_sql_stmt_execute (thd=0x62b00007e218) at /data/src/10.5/sql/sql_prepare.cc:3584
      #21 0x000056549a47d3c0 in mysql_execute_command (thd=0x62b00007e218) at /data/src/10.5/sql/sql_parse.cc:4034
      #22 0x000056549a49984d in mysql_parse (thd=0x62b00007e218, rawbuf=0x62b000085238 "EXECUTE stmt", length=12, parser_state=0x7efe92f57c10, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:8118
      #23 0x000056549a46f1ee in dispatch_command (command=COM_QUERY, thd=0x62b00007e218, packet=0x629000280219 "EXECUTE stmt", packet_length=12, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:1891
      #24 0x000056549a46bb81 in do_command (thd=0x62b00007e218) at /data/src/10.5/sql/sql_parse.cc:1375
      #25 0x000056549a8babe7 in do_handle_one_connection (connect=0x6080000039b8, put_in_cache=true) at /data/src/10.5/sql/sql_connect.cc:1416
      #26 0x000056549a8ba5af in handle_one_connection (arg=0x608000003938) at /data/src/10.5/sql/sql_connect.cc:1318
      #27 0x000056549b507e18 in pfs_spawn_thread (arg=0x61500000c898) at /data/src/10.5/storage/perfschema/pfs.cc:2201
      #28 0x00007efea0ea7fd4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #29 0x00007efea0f285bc in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
      

      The failure started happening after this merge in 10.5.20:

      commit ac5a534a4caa6c86762e721dfe7183be2fee29ca
      Merge: e093e5abbed eaebe8b5600
      Author: Oleksandr Byelkin
      Date:   Fri Mar 31 21:32:41 2023 +0200
       
          Merge remote-tracking branch '10.4' into 10.5
      

      Since it's not reproducible on 10.4, I cannot bisect it there, and individual commits from the patch don't apply smoothly to 10.5.

      Attachments

        Activity

          People

            shulga Dmitry Shulga
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            2 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.