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

Sever crash in Item_direct_view_ref::derived_field_transformer_for_where

    XMLWordPrintable

Details

    • Bug
    • Status: Confirmed (View Workflow)
    • Major
    • Resolution: Unresolved
    • 10.11.5, 10.4(EOL), 10.5, 10.6, 10.9(EOL), 10.10(EOL), 10.11, 11.0(EOL), 11.1(EOL)
    • 10.5, 10.6, 10.11, 11.4
    • Server
    • None

    Description

      How to trigger

      CREATE TABLE IF NOT EXISTS t0 ( c0 BLOB , c1 INT ( 1 ) UNSIGNED NOT NULL PRIMARY KEY , UNIQUE ( c0 DESC ) ) ;
      INSERT INTO t0 SELECT ra5 . ca4 ca0 , 10  FROM ( SELECT ra3 . ca3 ca4 FROM ( SELECT ra2 . ca2 ca3 FROM ( SELECT ra0 . c1 ca2 FROM t0 ra0 ) AS ra2 ) AS ra3 CROSS JOIN t0 ra4 ) AS ra5 WHERE ra5 . ca4 = 3 ;
      

      Server error log

      Server version: 10.11.5-MariaDB source revision: 7875294b6b74b53dd3aaa723e6cc103d2bb47b2c
      key_buffer_size=134217728
      read_buffer_size=131072
      max_used_connections=1
      max_threads=153
      thread_count=21
      It is possible that mysqld could use up to
      key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 468037 K  bytes of memory
      Hope that's ok; if not, decrease some variables in the equation.
       
      Thread pointer: 0x7f59b4000c18
      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 = 0x7f5a78083d98 thread_stack 0x49000
      mysys/stacktrace.c:216(my_print_stacktrace)[0x55cc2249325e]
      sql/signal_handler.cc:241(handle_fatal_signal)[0x55cc22004765]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x12980)[0x7f5a9009c980]
      sql/item.cc:7819(Item_direct_view_ref::derived_field_transformer_for_where(THD*, unsigned char*))[0x55cc2201bb21]
      sql/item_func.cc:483(Item_args::transform_args(THD*, Item* (Item::*)(THD*, unsigned char*), unsigned char*))[0x55cc22068a18]
      sql/item_func.cc:518(Item_func::transform(THD*, Item* (Item::*)(THD*, unsigned char*), unsigned char*))[0x55cc22068a79]
      sql/sql_derived.cc:1391(transform_condition_or_part(THD*, Item*, Item* (Item::*)(THD*, unsigned char*), unsigned char*))[0x55cc21d9989a]
      sql/sql_lex.cc:10602(st_select_lex::pushdown_cond_into_where_clause(THD*, Item*, Item**, Item* (Item::*)(THD*, unsigned char*), unsigned char*))[0x55cc21dc38ca]
      sql/sql_derived.cc:1589(pushdown_cond_for_derived(THD*, Item*, TABLE_LIST*))[0x55cc21d99b89]
      sql/sql_select.cc:2374(JOIN::optimize_inner())[0x55cc21e44b65]
      sql/sql_select.cc:1897(JOIN::optimize())[0x55cc21e47af3]
      sql/sql_derived.cc:1045(mysql_derived_optimize(THD*, LEX*, TABLE_LIST*))[0x55cc21d99609]
      sql/sql_derived.cc:200(mysql_handle_single_derived(LEX*, TABLE_LIST*, unsigned int))[0x55cc21d98e24]
      sql/sql_select.cc:2377(JOIN::optimize_inner())[0x55cc21e44b8c]
      sql/sql_select.cc:1897(JOIN::optimize())[0x55cc21e47af3]
      sql/sql_select.cc:5098(mysql_select(THD*, TABLE_LIST*, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55cc21e47bd9]
      sql/sql_select.cc:586(handle_select(THD*, LEX*, select_result*, unsigned long long))[0x55cc21e483be]
      sql/sql_parse.cc:4735(mysql_execute_command(THD*, bool))[0x55cc21de10fb]
      sql/sql_parse.cc:8051(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x55cc21dcf3af]
      sql/sql_parse.cc:1865(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x55cc21dda104]
      sql/sql_parse.cc:1407(do_command(THD*, bool))[0x55cc21ddb60b]
      sql/sql_connect.cc:1416(do_handle_one_connection(CONNECT*, bool))[0x55cc21ee5bbf]
      sql/sql_connect.cc:1318(handle_one_connection)[0x55cc21ee5efd]
      perfschema/pfs.cc:2204(pfs_spawn_thread)[0x55cc221e5e85]
      nptl/pthread_create.c:463(start_thread)[0x7f5a900916db]
      x86_64/clone.S:97(clone)[0x7f5a8f1f361f]
       
      Trying to get some variables.
      Some pointers may be invalid and cause the dump to abort.
      Query (0x7f59b4015390): INSERT INTO t0 SELECT ra5 . ca4 ca0 , 10  FROM ( SELECT ra3 . ca3 ca4 FROM ( SELECT ra2 . ca2 ca3 FROM ( SELECT ra0 . c1 ca2 FROM t0 ra0 ) AS ra2 ) AS ra3 CROSS JOIN t0 ra4 ) AS ra5 WHERE ra5 . ca4 = 3
       
      Connection ID (thread ID): 23
      Status: NOT_KILLED
       
      Optimizer switch: 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=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=off
      

      Attachments

        Issue Links

          Activity

            People

              psergei Sergei Petrunia
              wulian jiaqi
              Votes:
              0 Vote for this issue
              Watchers:
              3 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.