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

    XMLWordPrintable

    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:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: