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

MariaDB SEGV issue

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 10.9.0
    • Fix Version/s: N/A
    • Component/s: N/A
    • Labels:
      None
    • Environment:
      Linux jie-2 5.4.143-1-pve #1 SMP PVE 5.4.143-1 (Tue, 28 Sep 2021 09:10:37 +0200) x86_64 x86_64 x86_64 GNU/Linux

      Description

      PoC:

      CREATE TABLE v0 ( EVENTS NUMERIC AS ( REPLACE ( 'x' , 'x' , v1 IN ( DAYOFMONTH ( v1 BETWEEN 'x' AND CURRENT_USER ) = v1 ) ) ) , v1 TIMESTAMP NOT NULL ) ;
      INSERT IGNORE INTO v0 VALUES ( ( CASE 'x' 'x' = DATE ( CONVERT ( v1 , TIME ) ) * 4206878.000000 WHEN v1 = NULL THEN v1 ELSE v1 END ) , NULL ) ;
      SELECT 'x' IN ( SELECT 'x' FROM v0 COLUMNS NATURAL JOIN v0 WHERE v1 = -1 ) ;
      

      report (compiled with ASAN):

      Thread pointer: 0x62b00015e218
      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 = 0x7f8249047880 thread_stack 0x5fc00
      ??:0(__interceptor_backtrace)[0x7cbadb]
      mysys/stacktrace.c:212(my_print_stacktrace)[0x2a86d37]
      sql/signal_handler.cc:0(handle_fatal_signal)[0x15af5d9]
      sigaction.c:0(__restore_rt)[0x7f826dffa3c0]
      sql/item_cmpfunc.cc:732(Arg_comparator::compare_datetime())[0x16b24b8]
      sql/item_cmpfunc.cc:1763(Item_func_eq::val_int())[0x16be219]
      sql/item_func.cc:753(Item_int_func::val_str(String*))[0x1782642]
      sql/item_strfunc.cc:1204(Item_func_replace::val_str_internal(String*, String*))[0x1866cc6]
      sql/item.cc:6764(Item::save_str_in_field(Field*, bool))[0x164c31e]
      sql/item.cc:6812(Item::save_in_field(Field*, bool))[0x164ce5a]
      sql/table.cc:8761(TABLE::update_virtual_fields(handler*, enum_vcol_update_mode))[0x1072e99]
      ??:0(handler::ha_rnd_next(unsigned char*))[0x15c4e50]
      sql/records.cc:519(rr_sequential(READ_RECORD*))[0x930065]
      sql/sql_select.cc:21092(sub_select(JOIN*, st_join_table*, bool))[0xd4c04e]
      ??:0(JOIN::exec_inner())[0xdc6798]
      sql/sql_select.cc:4528(JOIN::exec())[0xdc344d]
      ??:0(subselect_single_select_engine::exec())[0x1952e44]
      sql/item_subselect.cc:858(Item_subselect::exec())[0x1928ebc]
      sql/item_subselect.cc:1965(Item_in_subselect::val_bool())[0x193469b]
      sql/item_cmpfunc.cc:1638(Item_in_optimizer::val_int())[0x16bcbcb]
      sql/sql_type.cc:7502(Type_handler::Item_send_long(Item*, Protocol*, st_value*) const)[0x13548b2]
      sql/protocol.cc:1328(Protocol::send_result_set_row(List<Item>*))[0x920512]
      sql/sql_class.cc:3060(select_send::send_data(List<Item>&))[0xaf940a]
      sql/sql_select.cc:4615(JOIN::exec_inner())[0xdc7875]
      sql/sql_select.cc:4528(JOIN::exec())[0xdc344d]
      sql/sql_select.cc:5009(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*))[0xd4e4e9]
      sql/sql_select.cc:543(handle_select(THD*, LEX*, select_result*, unsigned long))[0xd4d74c]
      sql/sql_parse.cc:6252(execute_sqlcom_select(THD*, TABLE_LIST*))[0xc74411]
      sql/sql_parse.cc:3943(mysql_execute_command(THD*, bool))[0xc609ca]
      sql/sql_class.h:2734(THD::enter_stage(PSI_stage_info_v1 const*, char const*, char const*, unsigned int))[0xc4a67f]
      sql/sql_parse.cc:1894(dispatch_command(enum_server_command, THD*, char*, unsigned int, bool))[0xc41baa]
      sql/sql_parse.cc:1404(do_command(THD*, bool))[0xc4b74c]
      sql/sql_connect.cc:1418(do_handle_one_connection(CONNECT*, bool))[0x111f9f3]
      sql/sql_connect.cc:0(handle_one_connection)[0x111f249]
      perfschema/pfs.cc:2203(pfs_spawn_thread)[0x1f3f9de]
      nptl/pthread_create.c:478(start_thread)[0x7f826dfee609]
      ??:0(clone)[0x7f826dd04163]
       
      Trying to get some variables.
      Some pointers may be invalid and cause the dump to abort.
      Query (0x62900008c238): SELECT 'x' IN ( SELECT 'x' FROM v0 COLUMNS NATURAL JOIN v0 WHERE v1 = -1 )
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              fuboat Jingzhou Fu
              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.