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

Server crash (Sig 11) in pushdown_cond_for_derived

    XMLWordPrintable

Details

    • Bug
    • Status: Confirmed (View Workflow)
    • Critical
    • Resolution: Unresolved
    • 11.8, 12.2, 12.2.2
    • 11.8, 12.2
    • Prepared Statements

    Description

      I encountered a server crash (Signal 11) on MariaDB 12.2.2.

      How to repeat:

      SET SESSION sql_mode='';
      SET SESSION optimizer_switch='index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,duplicateweedout=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=on,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on,not_null_range_scan=off,hash_join_cardinality=on,cset_narrowing=on,sargable_casefold=on';
       
      DROP TABLE IF EXISTS `t0`;
      CREATE TABLE `t0` ( `c0` float unsigned zerofill DEFAULT NULL ) CHARSET=utf8mb4;
      INSERT INTO `t0` VALUES (NULL),(NULL),(NULL),(NULL),(000131551000);
       
      DROP TABLE IF EXISTS `t1`;
      CREATE TABLE `t1` ( `c0` bigint NOT NULL, PRIMARY KEY (`c0`) ) CHARSET=utf8mb4;
      INSERT INTO `t1` VALUES (0),(1),(578736225);
       
      ANALYZE TABLE `t0`, `t1`;
       
      PREPARE stmt1 FROM "SELECT `t_derived_0`.`ref0` AS `ref0` FROM (SELECT DISTINCT (-(((-(((`t0`.`c0`) IN (0.7789219850278478)) OR (EXISTS(SELECT 1 AS `1`))))) OR (CAST(`t0`.`c0` AS SIGNED)))) AS `ref0` FROM `t0` AS `t0`, `t1` AS `t1` GROUP BY 0.14607308465245217) AS `t_derived_0` INTERSECT ALL SELECT t_filter_sub_0.ref0 AS `ref0` FROM ((SELECT ref0 AS ref0 FROM (SELECT t_filter_sub_0.ref0 AS ref0 FROM (SELECT `t_filter_sub_0`.`ref0` AS `ref0` FROM (SELECT DISTINCT (-(((-(((`t0`.`c0`) IN (0.7789219850278478)) OR (EXISTS(SELECT 1 AS `1`))))) OR (CAST(`t0`.`c0` AS SIGNED)))) AS `ref0` FROM `t0` AS `t0`, `t1` AS `t1` GROUP BY 0.14607308465245217) AS `t_filter_sub_0` WHERE TRUE) AS `t_filter_sub_0` UNION ALL SELECT t_filter_sub_1.ref0 AS ref0 FROM (SELECT * FROM (SELECT `t_filter_sub_0`.`ref0` AS `ref0` FROM (SELECT DISTINCT (-(((-(((`t0`.`c0`) IN (0.7789219850278478)) OR (EXISTS(SELECT 1 AS `1`))))) OR (CAST(`t0`.`c0` AS SIGNED)))) AS `ref0` FROM `t0` AS `t0`, `t1` AS `t1` GROUP BY 0.14607308465245217) AS `t_filter_sub_0` WHERE TRUE) AS t_filter_sub_1 WHERE IFNULL(CAST((CAST(t_filter_sub_1.ref0 AS DECIMAL(65, 30)) - CAST(t_filter_sub_1.ref0 AS DECIMAL(65, 30))) AS CHAR), CAST((t_filter_sub_1.ref0 <= t_filter_sub_1.ref0) AS CHAR)) IN (t_filter_sub_1.ref0, CURRENT_USER())) AS t_filter_sub_1) AS t_branch EXCEPT ALL SELECT t_filter_sub_2.ref0 AS ref0 FROM (SELECT * FROM (SELECT `t_filter_sub_0`.`ref0` AS `ref0` FROM (SELECT DISTINCT (-(((-(((`t0`.`c0`) IN (0.7789219850278478)) OR (EXISTS(SELECT 1 AS `1`))))) OR (CAST(`t0`.`c0` AS SIGNED)))) AS `ref0` FROM `t0` AS `t0`, `t1` AS `t1` GROUP BY 0.14607308465245217) AS `t_filter_sub_0` WHERE TRUE) AS t_filter_sub_2 WHERE IFNULL(CAST((CAST(t_filter_sub_2.ref0 AS DECIMAL(65, 30)) - CAST(t_filter_sub_2.ref0 AS DECIMAL(65, 30))) AS CHAR), CAST((t_filter_sub_2.ref0 <= t_filter_sub_2.ref0) AS CHAR)) IN (t_filter_sub_2.ref0, CURRENT_USER())) AS t_filter_sub_2)) AS t_filter_sub_0";
       
      EXECUTE stmt1;
      
      

      Docker log:

      Thread pointer: 0x71b5dc000c68
      stack_bottom = 0x71b614151000 thread_stack 0x49000
      Printing to addr2line failed
      mariadbd(my_print_stacktrace+0x30)[0x636888be1960]
      mariadbd(handle_fatal_signal+0x1f3)[0x63688872d843]
      /lib/x86_64-linux-gnu/libc.so.6(+0x45330)[0x71b62af7c330]
      mariadbd(_ZN8Item_ref9transformEP3THDM4ItemFPS2_S1_PhES4_+0x2f)[0x6368887631cf]
      mariadbd(_ZN8Item_ref9transformEP3THDM4ItemFPS2_S1_PhES4_+0x3b)[0x6368887631db]
      mariadbd(_ZN9Item_func9transformEP3THDM4ItemFPS2_S1_PhES4_+0x12d)[0x6368887b968d]
      mariadbd(_ZN9Item_func9transformEP3THDM4ItemFPS2_S1_PhES4_+0x12d)[0x6368887b968d]
      mariadbd(_ZN9Item_func9transformEP3THDM4ItemFPS2_S1_PhES4_+0x12d)[0x6368887b968d]
      mariadbd(_ZN9Item_func9transformEP3THDM4ItemFPS2_S1_PhES4_+0x12d)[0x6368887b968d]
      mariadbd(_ZN9Item_func9transformEP3THDM4ItemFPS2_S1_PhES4_+0x12d)[0x6368887b968d]
      mariadbd(_ZN8Item_ref9transformEP3THDM4ItemFPS2_S1_PhES4_+0x3b)[0x6368887631db]
      mariadbd(_ZN9Item_func9transformEP3THDM4ItemFPS2_S1_PhES4_+0x12d)[0x6368887b968d]
      mariadbd(_Z25pushdown_cond_for_derivedP3THDP4ItemP10TABLE_LIST+0x289)[0x6368883acf99]
      mariadbd(_ZN4JOIN14optimize_innerEv+0xf14)[0x63688845c0f4]
      mariadbd(_ZN4JOIN8optimizeEv+0x103)[0x63688845cb93]
      mariadbd(_ZN18st_select_lex_unit8optimizeEv+0x3c2)[0x636888523602]
      mariadbd(+0x846d00)[0x6368883b4d00]
      mariadbd(_Z27mysql_handle_single_derivedP3LEXP10TABLE_LISTj+0xa3)[0x6368883a3fe3]
      mariadbd(_ZN4JOIN14optimize_innerEv+0xf34)[0x63688845c114]
      mariadbd(_ZN4JOIN8optimizeEv+0x103)[0x63688845cb93]
      mariadbd(_ZN18st_select_lex_unit8optimizeEv+0x3c2)[0x636888523602]
      mariadbd(+0x846d00)[0x6368883b4d00]
      mariadbd(_Z27mysql_handle_single_derivedP3LEXP10TABLE_LISTj+0xa3)[0x6368883a3fe3]
      mariadbd(_ZN4JOIN14optimize_innerEv+0xf34)[0x63688845c114]
      mariadbd(_ZN4JOIN8optimizeEv+0x103)[0x63688845cb93]
      mariadbd(_ZN18st_select_lex_unit8optimizeEv+0x3c2)[0x636888523602]
      mariadbd(_ZN18st_select_lex_unit10exec_innerEv+0x78)[0x63688852ba38]
      mariadbd(_Z13handle_selectP3THDP3LEXP13select_resulty+0x208)[0x63688845d8b8]
      mariadbd(+0x891ea1)[0x6368883ffea1]
      mariadbd(_Z21mysql_execute_commandP3THDb+0x37ca)[0x63688840ae1a]
      mariadbd(_ZN18Prepared_statement7executeEP6Stringb+0xa5d)[0x636888442ead]
      mariadbd(_ZN18Prepared_statement12execute_loopEP6StringbPhS2_+0xf1)[0x6368884430a1]
      mariadbd(_Z22mysql_sql_stmt_executeP3THD+0x1cf)[0x63688843094f]
      mariadbd(_Z21mysql_execute_commandP3THDb+0x1cb0)[0x636888409300]
      mariadbd(_Z11mysql_parseP3THDPcjP12Parser_state+0x19a)[0x636888415aea]
      mariadbd(_Z16dispatch_command19enum_server_commandP3THDPcjb+0x1304)[0x636888405b14]
      mariadbd(_Z10do_commandP3THDb+0x199)[0x636888406de9]
      mariadbd(_Z24do_handle_one_connectionP7CONNECTb+0x6b3)[0x6368885aad83]
      mariadbd(handle_one_connection+0x71)[0x636888593161]
      mariadbd(+0xdfa91e)[0x63688896891e]
      /lib/x86_64-linux-gnu/libc.so.6(+0x9caa4)[0x71b62afd3aa4]
      /lib/x86_64-linux-gnu/libc.so.6(__clone+0x44)[0x71b62b060a64]
      

      Attachments

        Activity

          People

            psergei Sergei Petrunia
            Yuxiao Guo Yuxiao Guo
            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.