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

[Draft] Server crashes in in update_depend_map_for_order

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.2(EOL)
    • 10.2.2
    • Optimizer
    • None

    Description

      #3  <signal handler called>
      #4  0x00007f0deab6f842 in update_depend_map_for_order (join=0x7f0dd2933400, order=0x7f0dd2aa9bd8) at /data/src/10.2-bug/sql/sql_select.cc:12108
      #5  0x00007f0deab6fa76 in remove_const (join=0x7f0dd2933400, first_order=0x7f0dd2aa9bd8, cond=0x7f0dd2927690, change_list=true, simple_order=0x7f0dd29336cc) at /data/src/10.2-bug/sql/sql_select.cc:12187
      #6  0x00007f0deab53c79 in JOIN::optimize_inner (this=0x7f0dd2933400) at /data/src/10.2-bug/sql/sql_select.cc:1809
      #7  0x00007f0deab51344 in JOIN::optimize (this=0x7f0dd2933400) at /data/src/10.2-bug/sql/sql_select.cc:1076
      #8  0x00007f0deab59798 in mysql_select (thd=0x7f0dd2816070, tables=0x7f0dd2865b00, wild_num=0, fields=..., conds=0x7f0dd2927690, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748609, result=0x7f0dd29333e0, unit=0x7f0dd2819b18, select_lex=0x7f0dd281a250) at /data/src/10.2-bug/sql/sql_select.cc:3535
      #9  0x00007f0deab4eea1 in handle_select (thd=0x7f0dd2816070, lex=0x7f0dd2819a50, result=0x7f0dd29333e0, setup_tables_done_option=0) at /data/src/10.2-bug/sql/sql_select.cc:373
      #10 0x00007f0deab1e938 in execute_sqlcom_select (thd=0x7f0dd2816070, all_tables=0x7f0dd2865b00) at /data/src/10.2-bug/sql/sql_parse.cc:6345
      #11 0x00007f0deab1476e in mysql_execute_command (thd=0x7f0dd2816070) at /data/src/10.2-bug/sql/sql_parse.cc:3376
      #12 0x00007f0deab220d7 in mysql_parse (thd=0x7f0dd2816070, rawbuf=0x7f0dd2864088 "SELECT DISTINCT `pk` AS ifield1, `col_varchar_key` AS cfield1, `pk` AS ifield2 FROM ( SELECT * FROM view_5072_inline_0 ) AS alias1 WHERE ( alias1.`pk` > 146 AND alias1.`pk` < ( 60 + 78 ) OR ( alias1.`"..., length=464, parser_state=0x7f0deba63dd0, is_com_multi=false, is_next_command=false) at /data/src/10.2-bug/sql/sql_parse.cc:7774
      #13 0x00007f0deab104c5 in dispatch_command (command=COM_QUERY, thd=0x7f0dd2816070, packet=0x7f0dd2858071 "SELECT DISTINCT `pk` AS ifield1, `col_varchar_key` AS cfield1, `pk` AS ifield2 FROM ( SELECT * FROM view_5072_inline_0 ) AS alias1 WHERE ( alias1.`pk` > 146 AND alias1.`pk` < ( 60 + 78 ) OR ( alias1.`"..., packet_length=465, is_com_multi=false, is_next_command=false) at /data/src/10.2-bug/sql/sql_parse.cc:1805
      #14 0x00007f0deab0eef6 in do_command (thd=0x7f0dd2816070) at /data/src/10.2-bug/sql/sql_parse.cc:1365
      #15 0x00007f0deac4a7ba in do_handle_one_connection (connect=0x7f0de7871ad0) at /data/src/10.2-bug/sql/sql_connect.cc:1354
      #16 0x00007f0deac4a547 in handle_one_connection (arg=0x7f0de7871ad0) at /data/src/10.2-bug/sql/sql_connect.cc:1260
      #17 0x00007f0deaf58b26 in pfs_spawn_thread (arg=0x7f0de13c6ef0) at /data/src/10.2-bug/storage/perfschema/pfs.cc:1862
      #18 0x00007f0dea1930a4 in start_thread (arg=0x7f0deba65300) at pthread_create.c:309
      #19 0x00007f0de834b87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
      

      --disable_abort_on_error
      --source include/have_xtradb.inc
      	CREATE TABLE A (
       			pk INTEGER AUTO_INCREMENT,
       			col_int_nokey INTEGER /*! NULL */,
       			col_int_key INTEGER /*! NULL */,
       
       			col_date_key DATE /*! NULL */,
       			col_date_nokey DATE /*! NULL */,
       
       			col_time_key TIME /*! NULL */,
       			col_time_nokey TIME /*! NULL */,
       
       			col_datetime_key DATETIME /*! NULL */,
       			col_datetime_nokey DATETIME /*! NULL */,
       
       			col_varchar_key VARCHAR(1) /*! NULL */,
       			col_varchar_nokey VARCHAR(1) /*! NULL */,
       
       			PRIMARY KEY (pk),
       			KEY (col_int_key),
       			KEY (col_date_key),
       			KEY (col_time_key),
       			KEY (col_datetime_key),
       			KEY (col_varchar_key, col_int_key)
       		)  ENGINE=InnoDB /* QUERY_NO 2 CON_ID 4 */;
      	CREATE TABLE B (
       			pk INTEGER AUTO_INCREMENT,
       			col_int_nokey INTEGER /*! NULL */,
       			col_int_key INTEGER /*! NULL */,
       
       			col_date_key DATE /*! NULL */,
       			col_date_nokey DATE /*! NULL */,
       
       			col_time_key TIME /*! NULL */,
       			col_time_nokey TIME /*! NULL */,
       
       			col_datetime_key DATETIME /*! NULL */,
       			col_datetime_nokey DATETIME /*! NULL */,
       
       			col_varchar_key VARCHAR(1) /*! NULL */,
       			col_varchar_nokey VARCHAR(1) /*! NULL */,
       
       			PRIMARY KEY (pk),
       			KEY (col_int_key),
       			KEY (col_date_key),
       			KEY (col_time_key),
       			KEY (col_datetime_key),
       			KEY (col_varchar_key, col_int_key)
       		)  ENGINE=InnoDB /* QUERY_NO 4 CON_ID 4 */;
      	CREATE TABLE C (
       			pk INTEGER AUTO_INCREMENT,
       			col_int_nokey INTEGER /*! NULL */,
       			col_int_key INTEGER /*! NULL */,
       
       			col_date_key DATE /*! NULL */,
       			col_date_nokey DATE /*! NULL */,
       
       			col_time_key TIME /*! NULL */,
       			col_time_nokey TIME /*! NULL */,
       
       			col_datetime_key DATETIME /*! NULL */,
       			col_datetime_nokey DATETIME /*! NULL */,
       
       			col_varchar_key VARCHAR(1) /*! NULL */,
       			col_varchar_nokey VARCHAR(1) /*! NULL */,
       
       			PRIMARY KEY (pk),
       			KEY (col_int_key),
       			KEY (col_date_key),
       			KEY (col_time_key),
       			KEY (col_datetime_key),
       			KEY (col_varchar_key, col_int_key)
       		)  ENGINE=InnoDB /* QUERY_NO 7 CON_ID 4 */;
      	CREATE TABLE AA (
       			pk INTEGER AUTO_INCREMENT,
       			col_int_nokey INTEGER /*! NULL */,
       			col_int_key INTEGER /*! NULL */,
       
       			col_date_key DATE /*! NULL */,
       			col_date_nokey DATE /*! NULL */,
       
       			col_time_key TIME /*! NULL */,
       			col_time_nokey TIME /*! NULL */,
       
       			col_datetime_key DATETIME /*! NULL */,
       			col_datetime_nokey DATETIME /*! NULL */,
       
       			col_varchar_key VARCHAR(1) /*! NULL */,
       			col_varchar_nokey VARCHAR(1) /*! NULL */,
       
       			PRIMARY KEY (pk),
       			KEY (col_int_key),
       			KEY (col_date_key),
       			KEY (col_time_key),
       			KEY (col_datetime_key),
       			KEY (col_varchar_key, col_int_key)
       		)  AUTO_INCREMENT=10 ENGINE=InnoDB /* QUERY_NO 17 CON_ID 4 */;
      	CREATE TABLE CC (
       			pk INTEGER AUTO_INCREMENT,
       			col_int_nokey INTEGER /*! NULL */,
       			col_int_key INTEGER /*! NULL */,
       
       			col_date_key DATE /*! NULL */,
       			col_date_nokey DATE /*! NULL */,
       
       			col_time_key TIME /*! NULL */,
       			col_time_nokey TIME /*! NULL */,
       
       			col_datetime_key DATETIME /*! NULL */,
       			col_datetime_nokey DATETIME /*! NULL */,
       
       			col_varchar_key VARCHAR(1) /*! NULL */,
       			col_varchar_nokey VARCHAR(1) /*! NULL */,
       
       			PRIMARY KEY (pk),
       			KEY (col_int_key),
       			KEY (col_date_key),
       			KEY (col_time_key),
       			KEY (col_datetime_key),
       			KEY (col_varchar_key, col_int_key)
       		)  AUTO_INCREMENT=10 ENGINE=InnoDB /* QUERY_NO 22 CON_ID 4 */;
      	CREATE OR REPLACE VIEW view_5072_inline_0 AS  SELECT DISTINCT SQ1_alias1.* FROM ( `cc` AS SQ1_alias1 RIGHT JOIN `a` AS SQ1_alias2 ON (SQ1_alias2.`col_varchar_key` = SQ1_alias1.`col_varchar_nokey` ) )  /* QUERY_NO 453 CON_ID 13 */;
      	CREATE OR REPLACE VIEW view_5072_inline_1 AS  SELECT SQ2_alias1.`col_int_nokey` AS SQ2_ifield1, SQ2_alias1.`pk` AS SQ2_ifield2 FROM ( `aa` AS SQ2_alias1, `aa` AS SQ2_alias2 ) WHERE SQ2_alias2.`pk` = SQ2_alias1.`col_int_key`  /* QUERY_NO 455 CON_ID 13 */;
      	CREATE OR REPLACE VIEW view_5072_inline_2 AS  SELECT SQ3_alias1.`pk` AS SQ3_ifield1, MIN( SQ3_alias1.`col_int_nokey` ) AS SQ3_ifield2 FROM ( `b` AS SQ3_alias1 INNER JOIN `c` AS SQ3_alias2 ON (SQ3_alias2.`col_int_nokey` = SQ3_alias1.`pk` ) )  /* QUERY_NO 457 CON_ID 13 */;
       
      SELECT DISTINCT `pk` AS ifield1, `col_varchar_key` AS cfield1, `pk` AS ifield2 FROM ( SELECT * FROM view_5072_inline_0 ) AS alias1 WHERE ( alias1.`pk` > 146 AND alias1.`pk` < ( 60 + 78 ) OR ( alias1.`pk` > 3 AND alias1.`pk` < ( 29 + 25 ) AND ( alias1.`col_int_key`, alias1.`pk` ) IN ( SELECT * FROM view_5072_inline_1 ) AND ( alias1.`pk`, alias1.`col_int_nokey` ) IN ( SELECT * FROM view_5072_inline_2 ) ) AND alias1.`col_varchar_key` != alias1.`col_varchar_key` ) ;
      

      Attachments

        Activity

          Fixed by this patch:

          commit 3630a00e258273ada7f783a514600aafcd3f13f9
          Author: Igor Babaev <igor@askmonty.org>
          Date:   Mon Sep 12 00:07:02 2016 -0700
           
              Fixed bug mdev-10782.
              This bug in the code of Item_ref::build_clone could
              cause corruption of items in where conditions.
              Also made sure that equality predicates extracted
              from multiple equality items to be pushed into
              materialized views were cloned.
          

          elenst Elena Stepanova added a comment - Fixed by this patch: commit 3630a00e258273ada7f783a514600aafcd3f13f9 Author: Igor Babaev <igor@askmonty.org> Date: Mon Sep 12 00:07:02 2016 -0700   Fixed bug mdev-10782. This bug in the code of Item_ref::build_clone could cause corruption of items in where conditions. Also made sure that equality predicates extracted from multiple equality items to be pushed into materialized views were cloned.

          People

            Unassigned Unassigned
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.