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

Server crashes on SELECT with derived tables

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Incomplete
    • 10.2.14
    • N/A
    • Optimizer
    • None

    Description

      Server (10.2.14 build 22254 from bb-10.2-compatibility tree to be specific) crashes while executing complex enough select over 3 InnoDB tables that uses nested derived tables). Stack trace is:

      Thread pointer: 0x7fd7b00a9c18
      Attempting backtrace. You can use the following information to find out
      where mysqld died. If you see no messages after this, something went
      terribly wrong...
      stack_bottom = 0x7fd7c0f1ad30 thread_stack 0x40000
      /usr/sbin/mysqld(my_print_stacktrace+0x2e)[0x562f9634cfde]
      /usr/sbin/mysqld(handle_fatal_signal+0x355)[0x562f95de1cd5]
      /lib64/libpthread.so.0(+0xf680)[0x7fdc894c6680]
      /usr/sbin/mysqld(_ZN13st_join_table39get_splitting_cond_for_grouping_derivedEP3THD+0xc9)[0x562f95c53039]
      /usr/sbin/mysqld(_ZN4JOIN19improve_chosen_planEP3THD+0x93)[0x562f95c71693]
      /usr/sbin/mysqld(+0x5bd43c)[0x562f95c7343c]
      /usr/sbin/mysqld(_ZN4JOIN14optimize_innerEv+0x875)[0x562f95c760d5]
      /usr/sbin/mysqld(_ZN4JOIN8optimizeEv+0x36)[0x562f95c762f6]
      /usr/sbin/mysqld(_Z22mysql_derived_optimizeP3THDP3LEXP10TABLE_LIST+0xe5)[0x562f95bf5175]
      /usr/sbin/mysqld(_Z27mysql_handle_single_derivedP3LEXP10TABLE_LISTj+0xe4)[0x562f95bf4ac4]
      /usr/sbin/mysqld(_ZN4JOIN14optimize_innerEv+0x53c)[0x562f95c75d9c]
      /usr/sbin/mysqld(_ZN4JOIN8optimizeEv+0x36)[0x562f95c762f6]
      /usr/sbin/mysqld(_Z12mysql_selectP3THDP10TABLE_LISTjR4ListI4ItemEPS4_jP8st_orderS9_S7_S9_yP13select_resultP18st_select_lex_unitP13st_select_lex+0x94)[0x562f95c778a4]
      /usr/sbin/mysqld(_Z13handle_selectP3THDP3LEXP13select_resultm+0x15e)[0x562f95c7839e]
      /usr/sbin/mysqld(+0x4885c1)[0x562f95b3e5c1]
      /usr/sbin/mysqld(_Z21mysql_execute_commandP3THD+0x6910)[0x562f95c256b0]
      /usr/sbin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_statebb+0x392)[0x562f95c28602]
      /usr/sbin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcjbb+0x29d5)[0x562f95c2c0f5]
      /usr/sbin/mysqld(_Z10do_commandP3THD+0x149)[0x562f95c2ce39]
      /usr/sbin/mysqld(_Z24do_handle_one_connectionP7CONNECT+0x1aa)[0x562f95cf3cda]
      /usr/sbin/mysqld(handle_one_connection+0x3d)[0x562f95cf3dfd]
      /lib64/libpthread.so.0(+0x7dd5)[0x7fdc894bedd5]
      /lib64/libc.so.6(clone+0x6d)[0x7fdc87a92b3d]
      

      The value of optimizer_switch is:

      index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=on,mrr_cost_based=on,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_grouping_derived=on
      

      The query is confidential and can not be shared, but it looks like this:

      select ... from (SELECT DISTINCT A.c1, ... , B.* FROM t1 A LEFT JOIN (SELECT ... from t1 A, t2 B WHERE A.col1 = B.col1 AND A.col2 = B.col2 ) AB GROUP BY c, d, e) B ON A.c3 = B.c4 AND A.c5 = B.c5 AND A.c = B.c LEFT JOIN t3 C ON A.c6 = C.c6 AND A.c7 = C.c7 AND (A.c8 in ('0','1') OR ,.. ()) AND C.c9 IN ( .... list of string constants... ) DDD LIMIT 0, 50000;

      Attachments

        Activity

          People

            Unassigned Unassigned
            valerii Valerii Kravchuk
            Votes:
            0 Vote for this issue
            Watchers:
            3 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.