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

MariaDB debug build assertion failed in Item_func_hybrid_field_type::val_int

    XMLWordPrintable

Details

    • Not for Release Notes

    Description

      MariaDB debug build (12.2.2-MariaDB-asan-debug) crashes with an assertion failure when executing a LEFT OUTER JOIN with arithmetic expression in the ON clause involving LIKE operator. The crash occurs in `Item_func_hybrid_field_type::val_int()`.

      DROP DATABASE IF EXISTS sqlcraft;
      CREATE DATABASE sqlcraft;
      USE sqlcraft;
      CREATE OR REPLACE TABLE t0(c0 CHAR(100)  UNIQUE, PRIMARY KEY(c0));
       
      SELECT 1 FROM (  t0  LEFT OUTER JOIN ( t0 AS tom7 JOIN t0 AS tom8 USING (c0)) ON ( ( 1 ) NOT LIKE '_' ) * ( 1 ) ) ;
      

      crash logs:
       
      mariadbd: /app/dbms/mariadb-12.2.2/sql/item_func.h:1029: Item_func_hybrid_field_type::val_int(): Assertion failed.
      260420  9:51:55 [ERROR] /usr/local/mariadb-asan/bin/mariadbd got signal 6 ;
      Sorry, we probably made a mistake, and this is a bug.
       
      Your assistance in bug reporting will enable us to fix this for the next release.
      To report this bug, see https://mariadb.com/kb/en/reporting-bugs about how to report
      a bug on https://jira.mariadb.org/.
       
      Please include the information from the server start above, to the end of the
      information below.
       
      Server version: 12.2.2-MariaDB-asan-debug source revision: d26a6f44c1f2119377e79a9540886c6d8c01472f
       
      The information page at https://mariadb.com/kb/en/how-to-produce-a-full-stack-trace-for-mariadbd/
      contains instructions to obtain a better version of the backtrace below.
      Following these instructions will help MariaDB developers provide a fix quicker.
       
      Attempting backtrace. Include this in the bug report.
      (note: Retrieving this information may fail)
       
      Thread pointer: 0x52c0001c0218
      stack_bottom = 0x793059089000 thread_stack 0xb00000
      sanitizer_common/sanitizer_common_interceptors.inc:4193(__interceptor_backtrace.part.0)[0x793081045c0e]
      mysys/stacktrace.c:215(my_print_stacktrace)[0x5e654c6711b6]
      sql/signal_handler.cc:230(handle_fatal_signal)[0x5e654ae57b58]
      libc_sigaction.c:0(__restore_rt)[0x793080242520]
      nptl/pthread_kill.c:44(__pthread_kill_implementation)[0x7930802969fc]
      posix/raise.c:27(__GI_raise)[0x793080242476]
      stdlib/abort.c:81(__GI_abort)[0x7930802287f3]
      intl/loadmsgcat.c:1177(_nl_load_domain)[0x79308022871b]
      /lib/x86_64-linux-gnu/libc.so.6(+0x39e96)[0x793080239e96]
      sql/item_func.h:1029(Item_func_hybrid_field_type::val_int())[0x5e654a3e9570]
      sql/item.h:1817(Item::val_int_result())[0x5e654a01a0a6]
      sql/item.cc:10936(Item_cache_int::cache_value())[0x5e654af17119]
      sql/item.h:7883(Item_cache::has_value())[0x5e654abec730]
      sql/item.cc:10971(Item_cache_int::val_int())[0x5e654af1753e]
      sql/sql_type.cc:5259(Type_handler_int_result::Item_val_bool(Item*) const)[0x5e654abb2c21]
      /usr/local/mariadb-asan/bin/mariadbd(+0x1db196a)[0x5e654a0c296a]
      sql/item.h:1707(Item::val_bool())[0x5e654a07cfd0]
      sql/opt_range.cc:9011(Item::get_mm_tree_for_const(RANGE_OPT_PARAM*))[0x5e654a07d359]
      sql/opt_range.cc:9023(Item::get_mm_tree(RANGE_OPT_PARAM*, Item**))[0x5e654a07c208]
      sql/opt_range.cc:8908(Item_cond_and::get_mm_tree(RANGE_OPT_PARAM*, Item**))[0x5e654a07c208]
      sql/opt_range.cc:2981(SQL_SELECT::test_quick_select(THD*, Bitmap<64u>, unsigned long long, unsigned long long, bool, bool, bool, bool, Item_func::Bitmap))[0x5e654a054c5c]
      sql/sql_select.cc:14858(make_join_select(JOIN*, SQL_SELECT*, Item*))[0x5e654a5a29ec]
      sql/sql_select.cc:3074(JOIN::optimize_stage2())[0x5e654a5465be]
      sql/sql_select.cc:2794(JOIN::optimize_inner())[0x5e654a5435dd]
      sql/sql_select.cc:2021(JOIN::optimize())[0x5e654a53b57a]
      sql/sql_select.cc:5430(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*))[0x5e654a55eb8c]
      sql/sql_select.cc:636(handle_select(THD*, LEX*, select_result*, unsigned long long))[0x5e654a52c1ad]
      sql/sql_parse.cc:6203(execute_sqlcom_select(THD*, TABLE_LIST*))[0x5e654a4436cd]
      sql/sql_parse.cc:3985(mysql_execute_command(THD*, bool))[0x5e654a4332cf]
      sql/sql_parse.cc:7925(mysql_parse(THD*, char*, unsigned int, Parser_state*))[0x5e654a44e707]
      sql/sql_parse.cc:1898(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0x5e654a424c04]
      sql/sql_parse.cc:1432(do_command(THD*, bool))[0x5e654a42189c]
      sql/sql_connect.cc:1503(do_handle_one_connection(CONNECT*, bool))[0x5e654a94cad9]
      sql/sql_connect.cc:1417(handle_one_connection)[0x5e654a94c62c]
      perfschema/pfs.cc:2200(pfs_spawn_thread)[0x5e654b804b0a]
      nptl/pthread_create.c:442(start_thread)[0x793080294ac3]
      x86_64/clone3.S:83(__clone3)[0x7930803268d0]
       
      Connection ID (thread ID): 3
      Status: NOT_KILLED
      Query (0x52d00024e438): SELECT 1 
        FROM (  t0  LEFT OUTER JOIN ( t0 AS tom7 JOIN t0 AS tom8 USING (c0)) ON ( ( 1 ) NOT LIKE '_' ) * ( 1 ) )
      

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ammmkilo ammmkilo
              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.