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

Crash caused by query containing constant having clause

Details

    Description

      This query consistently causes MariaDB 10.4.15 and 10.5.6 to crash:

      SELECT * FROM (
      SELECT provider.guid, provider.roa_id, provider.policy_guid, provider.filter_guid, provider.contact_user_id, provider.contact_roa_id, provider.name, provider.descr,
      provider.type, provider.origin_guid, provider.reference_filter_guid, provider.rca_mode, provider.search_additional_orgs, provider.apps_in_biz, provider.edited_by,
      UNIX_TIMESTAMP(create_date) as create_date, UNIX_TIMESTAMP(edit_date) AS edit_date, GROUP_CONCAT(master_ap2.har_provider_org.roa_id) AS additional_organizations,
      bss.d_health as health, bss.d_available as availability, bss.d_risk as risk, UNIX_TIMESTAMP(bss.collection_time) as collectionTime
      FROM master_ap2.har_provider provider
      LEFT JOIN master_ap2.har_provider_org ON provider.guid = master_ap2.har_provider_org.provider_guid
      LEFT JOIN master_biz.biz_service_state bss ON provider.guid = bss.service_id
      GROUP BY provider.guid ) provider
      WHERE (
      provider.roa_id IN (7)
      OR
      (SELECT 1
      from har_provider_org
      WHERE provider.guid = har_provider_org.provider_guid
      AND har_provider_org.roa_id IN (7)
      ) )
      AND (
      (guid = 'ckgbm10gb009no74dzys39ce8')
      AND descr = 'fe0c79969b89eb69c32aee361e5bef9e'
      AND type = 1)
      ORDER BY `guid` ASC LIMIT 1;
      

      Minimal configuration as generated by dbdeployer:

      [mysqld]
      user               = sami
      port               = 10415
      socket             = /tmp/mysql_sandbox10415.sock
      basedir            = /home/sami/opt/mysql/10.4.15
      datadir            = /home/sami/sandboxes/msb_10_4_15/data
      tmpdir             = /home/sami/sandboxes/msb_10_4_15/tmp
      pid-file           = /home/sami/sandboxes/msb_10_4_15/data/mysql_sandbox10415.pid
      bind-address       = 127.0.0.1
      report-host=single-10415
      report-port=10415
      log-error=/home/sami/sandboxes/msb_10_4_15/data/msandbox.err
      

      Steps to repeat: import attached dump of three tables, one empty and two have a single row, then execute above query in the master_ap2 schema. Error log shows:

      Thread pointer: 0x55ee82e961c8
      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 = 0x7f5112fb4e70 thread_stack 0x49000
      /home/sami/opt/mysql/10.4.15/bin/mysqld(my_print_stacktrace+0x2e)[0x55ee7f4300be]
      /home/sami/opt/mysql/10.4.15/bin/mysqld(handle_fatal_signal+0x30f)[0x55ee7ee40b1f]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f51383e4390]
      /home/sami/opt/mysql/10.4.15/bin/mysqld(_ZN10Item_equal7val_intEv+0x91)[0x55ee7ee79231]
      sql/item_cmpfunc.cc:7026(Item_equal::val_int())[0x55ee7ed70110]
      sql/sql_type.cc:4446(Type_handler_int_result::Item_val_bool(Item*) const)[0x55ee7ee76e7a]
      sql/item_cmpfunc.cc:5297(Item_cond_and::val_int())[0x55ee7ec86350]
      sql/sql_select.cc:21748(end_send_group(JOIN*, st_join_table*, bool))[0x55ee7ec9329e]
      sql/sql_select.cc:19957(do_select)[0x55ee7ec935d3]
      sql/sql_select.cc:4256(JOIN::exec())[0x55ee7ec91826]
      sql/sql_select.cc:4689(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55ee7ebf90d3]
      sql/sql_derived.cc:1266(mysql_derived_fill(THD*, LEX*, TABLE_LIST*))[0x55ee7ebf8c74]
      sql/sql_derived.cc:206(mysql_handle_single_derived(LEX*, TABLE_LIST*, unsigned int))[0x55ee7ec6f6a9]
      sql/sql_select.cc:13539(st_join_table::preread_init())[0x55ee7ec6f8e8]
      sql/sql_select.cc:20383(sub_select(JOIN*, st_join_table*, bool))[0x55ee7ec933a3]
      sql/sql_select.cc:19956(do_select)[0x55ee7ec935d3]
      sql/sql_select.cc:4256(JOIN::exec())[0x55ee7ec91826]
      sql/sql_select.cc:4689(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x55ee7ec92387]
      sql/sql_select.cc:422(handle_select(THD*, LEX*, select_result*, unsigned long))[0x55ee7eb277df]
      sql/sql_parse.cc:6356(execute_sqlcom_select(THD*, TABLE_LIST*))[0x55ee7ec367fa]
      sql/sql_parse.cc:3889(mysql_execute_command(THD*))[0x55ee7ec3c11c]
      sql/sql_parse.cc:7896(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x55ee7ec3e6ae]
      sql/sql_audit.h:169(mysql_audit_general)[0x55ee7ec3fe89]
      sql/sql_parse.cc:1353(do_command(THD*))[0x55ee7ed1ef9a]
      sql/sql_connect.cc:1412(do_handle_one_connection(CONNECT*))[0x55ee7ed1f07d]
      /lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7f51383da6ba]
      x86_64/clone.S:111(clone)[0x7f513723f41d]
       
      Trying to get some variables.
      Some pointers may be invalid and cause the dump to abort.
      Query (0x55ee82ea4500): SELECT * FROM ( SELECT provider.guid, provider.roa_id, provider.policy_guid, provider.filter_guid, provider.contact_user_id, provider.contact_roa_id, provider.name, provider.descr, provider.type, provider.origin_guid, provider.reference_filter_guid, provider.rca_mode, provider.search_additional_orgs, provider.apps_in_biz, provider.edited_by, UNIX_TIMESTAMP(create_date) as create_date, UNIX_TIMESTAMP(edit_date) AS edit_date, GROUP_CONCAT(master_ap2.har_provider_org.roa_id) AS additional_organizations, bss.d_health as health, bss.d_available as availability, bss.d_risk as risk, UNIX_TIMESTAMP(bss.collection_time) as collectionTime FROM master_ap2.har_provider provider LEFT JOIN master_ap2.har_provider_org ON provider.guid = master_ap2.har_provider_org.provider_guid LEFT JOIN master_biz.biz_service_state bss ON provider.guid = bss.service_id GROUP BY provider.guid ) provider WHERE ( provider.roa_id IN (7) OR (SELECT 1 from har_provider_org WHERE provider.guid = har_provider_org.provider_guid AND har_provider_org.roa_id IN (7) ) ) AND ( (guid = 'ckgbm10gb009no74dzys39ce8') AND descr = 'fe0c79969b89eb69c32aee361e5bef9e' AND type = 1) ORDER BY `guid` ASC LIMIT 1
      Connection ID (thread ID): 8
      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
      
      

      Attachments

        Issue Links

          Activity

            sahlroos Sami Ahlroos created issue -
            David.Hall David Hall (Inactive) made changes -
            Field Original Value New Value
            Component/s MariaDB Server [ 13509 ]
            Key MCOL-4365 MDEV-23983
            Workflow MariaDB ColumnStore workflow [ 114696 ] MariaDB v3 [ 114724 ]
            Project MariaDB ColumnStore [ 10902 ] MariaDB Server [ 10000 ]
            sahlroos Sami Ahlroos made changes -
            Comment [ Looks like I accidentally opened this for Column Store, should have been MariaDB Server. My apologies! ]
            alice Alice Sherepa made changes -
            Affects Version/s 10.4 [ 22408 ]
            Affects Version/s 10.5 [ 23123 ]
            alice Alice Sherepa made changes -
            Component/s Optimizer [ 10200 ]
            alice Alice Sherepa made changes -
            Fix Version/s 10.4 [ 22408 ]
            Fix Version/s 10.5 [ 23123 ]
            alice Alice Sherepa made changes -
            Status Open [ 1 ] Confirmed [ 10101 ]
            alice Alice Sherepa made changes -
            Assignee Sergei Petrunia [ psergey ]
            igor Igor Babaev (Inactive) made changes -
            Assignee Sergei Petrunia [ psergey ] Igor Babaev [ igor ]
            igor Igor Babaev (Inactive) made changes -
            Status Confirmed [ 10101 ] In Progress [ 3 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 114724 ] MariaDB v4 [ 144572 ]
            alice Alice Sherepa made changes -
            alice Alice Sherepa made changes -
            Affects Version/s 10.6 [ 24028 ]
            alice Alice Sherepa made changes -
            Fix Version/s 10.6 [ 24028 ]
            alice Alice Sherepa made changes -
            Labels not-10.9
            JIraAutomate JiraAutomate made changes -
            Status In Progress [ 3 ] Stalled [ 10000 ]
            alice Alice Sherepa made changes -
            Labels not-10.9
            alice Alice Sherepa made changes -
            Labels not-11.0+
            alice Alice Sherepa made changes -
            Fix Version/s 10.11 [ 27614 ]
            Fix Version/s 10.4 [ 22408 ]
            alice Alice Sherepa made changes -
            Comment [ Still reproducible on 10.4-10.6, not on 10.9+
            {noformat}
            Version: '10.4.32-MariaDB-debug-log'
            230915 16:30:58 [ERROR] mysqld got signal 11 ;

            Server version: 10.4.32-MariaDB-debug-log source revision: b1ab4ec4e25b231da77a2683d69366ab5dea4d66

            sql/signal_handler.cc:238(handle_fatal_signal)[0x56032c5711d7]
            sigaction.c:0(__restore_rt)[0x7fa4c4edc420]
            sql/item_cmpfunc.cc:7111(Item_equal::val_int())[0x56032c67e19c]
            sql/sql_type.cc:4607(Type_handler_int_result::Item_val_bool(Item*) const)[0x56032c333452]
            sql/item.h:1474(Item::val_bool())[0x56032baf3d52]
            sql/item_cmpfunc.cc:5359(Item_cond_and::val_int())[0x56032c66fb5e]
            sql/sql_select.cc:22243(end_send_group(JOIN*, st_join_table*, bool))[0x56032bf09846]
            sql/sql_select.cc:20354(do_select(JOIN*, Procedure*))[0x56032befc2f3]
            sql/sql_select.cc:4605(JOIN::exec_inner())[0x56032be8a54c]
            sql/sql_select.cc:4388(JOIN::exec())[0x56032be87b78]
            sql/sql_select.cc:4828(mysql_select(THD*, TABLE_LIST*, unsigned int, List<Item>&, Item*, unsigned int, st_order*, st_order*, Item*, st_order*, unsigned long long, select_result*, st_select_lex_unit*, st_select_lex*))[0x56032be8bd58]
            sql/sql_select.cc:442(handle_select(THD*, LEX*, select_result*, unsigned long))[0x56032be5c86c]
            sql/sql_parse.cc:6475(execute_sqlcom_select(THD*, TABLE_LIST*))[0x56032bdc8676]
            sql/sql_parse.cc:3978(mysql_execute_command(THD*))[0x56032bdb5ded]
            sql/sql_parse.cc:8012(mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool))[0x56032bdd1b51]
            sql/sql_parse.cc:1860(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool))[0x56032bda7f77]
            sql/sql_parse.cc:1378(do_command(THD*))[0x56032bda4aa2]
            sql/sql_connect.cc:1420(do_handle_one_connection(CONNECT*))[0x56032c1b26d7]
            sql/sql_connect.cc:1325(handle_one_connection)[0x56032c1b1f7b]
            perfschema/pfs.cc:1871(pfs_spawn_thread)[0x56032ce5c196]
            nptl/pthread_create.c:478(start_thread)[0x7fa4c4ed0609]

            Query (0x62b0000a1290): select * from t1
            where id=3
            group by t1.a
            having descr = 'b' and tp = 1
            {noformat} ]
            serg Sergei Golubchik made changes -
            Assignee Igor Babaev [ igor ] Oleg Smirnov [ JIRAUSER50405 ]
            serg Sergei Golubchik made changes -
            Priority Major [ 3 ] Critical [ 2 ]
            oleg.smirnov Oleg Smirnov made changes -
            Summary Crash on SELECT assertion failure on multiple equalities present in HAVING during execution phase
            oleg.smirnov Oleg Smirnov made changes -
            Summary assertion failure on multiple equalities present in HAVING during execution phase Assertion failure on multiple equalities present in HAVING during execution phase
            oleg.smirnov Oleg Smirnov made changes -
            Status Stalled [ 10000 ] In Progress [ 3 ]
            oleg.smirnov Oleg Smirnov made changes -
            Assignee Oleg Smirnov [ JIRAUSER50405 ] Sergei Petrunia [ psergey ]
            Status In Progress [ 3 ] In Review [ 10002 ]
            psergei Sergei Petrunia made changes -
            Assignee Sergei Petrunia [ psergey ] Oleg Smirnov [ JIRAUSER50405 ]
            Status In Review [ 10002 ] Stalled [ 10000 ]
            shagalla Galina Shalygina (Inactive) made changes -
            Assignee Oleg Smirnov [ JIRAUSER50405 ] Galina Shalygina [ shagalla ]
            shagalla Galina Shalygina (Inactive) made changes -
            Status Stalled [ 10000 ] In Progress [ 3 ]
            shagalla Galina Shalygina (Inactive) made changes -
            Assignee Galina Shalygina [ shagalla ] Igor Babaev [ igor ]
            Status In Progress [ 3 ] In Review [ 10002 ]
            shagalla Galina Shalygina (Inactive) made changes -
            Summary Assertion failure on multiple equalities present in HAVING during execution phase Crash caused by the call of Item::remove_eq_conds() for constant HAVING equalities
            igor Igor Babaev (Inactive) made changes -
            Summary Crash caused by the call of Item::remove_eq_conds() for constant HAVING equalities Crash caused by query containing with constant having clause
            shagalla Galina Shalygina (Inactive) made changes -
            Summary Crash caused by query containing with constant having clause Crash caused by query containing constant having clause
            igor Igor Babaev (Inactive) made changes -
            Status In Review [ 10002 ] Stalled [ 10000 ]
            shagalla Galina Shalygina (Inactive) made changes -
            Fix Version/s 10.5.26 [ 29832 ]
            Fix Version/s 10.5 [ 23123 ]
            Fix Version/s 10.6 [ 24028 ]
            Fix Version/s 10.11 [ 27614 ]
            Assignee Igor Babaev [ igor ] Galina Shalygina [ shagalla ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            JIraAutomate JiraAutomate made changes -
            Fix Version/s 10.6.19 [ 29833 ]
            Fix Version/s 10.11.9 [ 29834 ]
            Fix Version/s 11.1.6 [ 29835 ]
            Fix Version/s 11.2.5 [ 29836 ]
            Fix Version/s 11.4.3 [ 29837 ]
            Fix Version/s 11.5.2 [ 29838 ]
            dbart Daniel Bartholomew made changes -
            Fix Version/s 10.5.27 [ 29902 ]
            Fix Version/s 10.6.20 [ 29903 ]
            Fix Version/s 10.11.10 [ 29904 ]
            Fix Version/s 11.1.7 [ 29905 ]
            Fix Version/s 11.2.6 [ 29906 ]
            Fix Version/s 11.4.4 [ 29907 ]
            Fix Version/s 10.5.26 [ 29832 ]
            Fix Version/s 10.6.19 [ 29833 ]
            Fix Version/s 10.11.9 [ 29834 ]
            Fix Version/s 11.1.6 [ 29835 ]
            Fix Version/s 11.2.5 [ 29836 ]
            Fix Version/s 11.4.3 [ 29837 ]
            Fix Version/s 11.5.2 [ 29838 ]
            ralf.gebhardt Ralf Gebhardt made changes -
            Fix Version/s 11.1.7 [ 29905 ]

            People

              shagalla Galina Shalygina (Inactive)
              sahlroos Sami Ahlroos
              Votes:
              2 Vote for this issue
              Watchers:
              13 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.