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

Assertion `!new_field->field_name.str || strlen(new_field->field_name.str) == new_field->field_name.length' failed in create_tmp_table on 2nd execution of PS with semijoin

    Details

      Description

      10.3 fdc47792354c820aa4a8542d7c00d434424a63fb

      #7  0x00007fd81b3c5ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
      #8  0x00005575d190dd73 in create_tmp_table (thd=0x7fd804000b00, param=0x7fd8040193e8, fields=..., group=0x0, distinct=true, save_sum_fields=true, select_options=2147752704, rows_limit=18446744073709551615, table_alias=0x5575d24155a9 "sj-materialize", do_not_open=false, keep_row_order=false) at /data/src/10.3/sql/sql_select.cc:16989
      #9  0x00005575d1a4c3a1 in setup_sj_materialization_part1 (sjm_tab=0x7fd8040195c8) at /data/src/10.3/sql/opt_subselect.cc:3664
      #10 0x00005575d18fc7c8 in make_outerjoin_info (join=0x7fd8040153f0) at /data/src/10.3/sql/sql_select.cc:9975
      #11 0x00005575d18e40a0 in JOIN::optimize_stage2 (this=0x7fd8040153f0) at /data/src/10.3/sql/sql_select.cc:1642
      #12 0x00005575d18e3a1a in JOIN::optimize_inner (this=0x7fd8040153f0) at /data/src/10.3/sql/sql_select.cc:1541
      #13 0x00005575d18e2306 in JOIN::optimize (this=0x7fd8040153f0) at /data/src/10.3/sql/sql_select.cc:1123
      #14 0x00005575d1885f8d in st_select_lex::optimize_unflattened_subqueries (this=0x7fd804039758, const_only=false) at /data/src/10.3/sql/sql_lex.cc:3922
      #15 0x00005575d1a50132 in JOIN::optimize_unflattened_subqueries (this=0x7fd804014dd8) at /data/src/10.3/sql/opt_subselect.cc:5130
      #16 0x00005575d18e5752 in JOIN::optimize_stage2 (this=0x7fd804014dd8) at /data/src/10.3/sql/sql_select.cc:2052
      #17 0x00005575d18e3a1a in JOIN::optimize_inner (this=0x7fd804014dd8) at /data/src/10.3/sql/sql_select.cc:1541
      #18 0x00005575d18e2306 in JOIN::optimize (this=0x7fd804014dd8) at /data/src/10.3/sql/sql_select.cc:1123
      #19 0x00005575d18eb3b0 in mysql_select (thd=0x7fd804000b00, tables=0x7fd80403a798, wild_num=0, fields=..., conds=0x7fd804042540, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2416184064, result=0x7fd80403d828, unit=0x7fd804039018, select_lex=0x7fd804039758) at /data/src/10.3/sql/sql_select.cc:3723
      #20 0x00005575d18df9ce in handle_select (thd=0x7fd804000b00, lex=0x7fd804038f50, result=0x7fd80403d828, setup_tables_done_option=0) at /data/src/10.3/sql/sql_select.cc:378
      #21 0x00005575d18aae7f in execute_sqlcom_select (thd=0x7fd804000b00, all_tables=0x7fd80403a798) at /data/src/10.3/sql/sql_parse.cc:6476
      #22 0x00005575d18a16b7 in mysql_execute_command (thd=0x7fd804000b00) at /data/src/10.3/sql/sql_parse.cc:3730
      #23 0x00005575d18cc151 in Prepared_statement::execute (this=0x7fd804038b00, expanded_query=0x7fd81565b4a0, open_cursor=false) at /data/src/10.3/sql/sql_prepare.cc:4726
      #24 0x00005575d18ca598 in Prepared_statement::execute_loop (this=0x7fd804038b00, expanded_query=0x7fd81565b4a0, open_cursor=false, packet=0x0, packet_end=0x0) at /data/src/10.3/sql/sql_prepare.cc:4155
      #25 0x00005575d18c81e4 in mysql_sql_stmt_execute (thd=0x7fd804000b00) at /data/src/10.3/sql/sql_prepare.cc:3262
      #26 0x00005575d18a16fc in mysql_execute_command (thd=0x7fd804000b00) at /data/src/10.3/sql/sql_parse.cc:3746
      #27 0x00005575d18ae7e6 in mysql_parse (thd=0x7fd804000b00, rawbuf=0x7fd8040149f8 "EXECUTE stmt", length=12, parser_state=0x7fd81565c610, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7930
      #28 0x00005575d189c282 in dispatch_command (command=COM_QUERY, thd=0x7fd804000b00, packet=0x7fd804173111 "EXECUTE stmt", packet_length=12, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1819
      #29 0x00005575d189ace4 in do_command (thd=0x7fd804000b00) at /data/src/10.3/sql/sql_parse.cc:1370
      #30 0x00005575d19f101a in do_handle_one_connection (connect=0x5575d42ef520) at /data/src/10.3/sql/sql_connect.cc:1418
      #31 0x00005575d19f0da7 in handle_one_connection (arg=0x5575d42ef520) at /data/src/10.3/sql/sql_connect.cc:1324
      #32 0x00005575d1e68720 in pfs_spawn_thread (arg=0x5575d438ff20) at /data/src/10.3/storage/perfschema/pfs.cc:1862
      #33 0x00007fd81d30a494 in start_thread (arg=0x7fd81565d700) at pthread_create.c:333
      #34 0x00007fd81b48293f in clone () from /lib/x86_64-linux-gnu/libc.so.6
      

      CREATE TABLE t1 (a INT);
      INSERT INTO t1 VALUES (1),(2);
       
      CREATE TABLE t2 (b INT);
      INSERT INTO t2 VALUES  (3),(4); 
       
      CREATE TABLE t3 (c INT);
      CREATE ALGORITHM=MERGE VIEW v3 AS SELECT * FROM t3;
      INSERT INTO t3 VALUES (5),(6);
       
      PREPARE stmt FROM 
        "SELECT * FROM t1
        WHERE EXISTS ( 
          SELECT * FROM t2 WHERE t1.a IN ( SELECT c AS fld FROM v3 )
        )";
      EXECUTE stmt;
      EXECUTE stmt;
      

      Not reproducible on 10.2.
      No visible effect on a non-debug build.
      No crash without semijoin.
      No crash when the base table is used in the query instead of the view.
      No crash without AS fld clause.

        Attachments

          Activity

            People

            • Assignee:
              sanja Oleksandr Byelkin
              Reporter:
              elenst Elena Stepanova
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: