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

MariaDB assertion failure: (*select_ref)->fixed()

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Duplicate
    • 11.7.2
    • N/A
    • Optimizer
    • Ubuntu 24.04 LTS ARM64 VM

    Description

      The debug build of MariaDB (build with `cmake .. -DCMAKE_INSTALL_PREFIX=$(pwd) -DWITH_ASAN=ON -DCMAKE_BUILD_TYPE=Debug`) triggers assertion failure when executing the following statement. Seems benign with release build.

      DROP DATABASE IF EXISTS test123;
      CREATE DATABASE IF NOT EXISTS test123;
      USE test123;
      CREATE TABLE v0 ( v1 INT ) ;
      CREATE VIEW v4 ( v5 ) AS SELECT EXISTS ( SELECT v1 AS v2 WINDOW v3 AS ( PARTITION BY v1 ORDER BY v1 + v1 ^ -1 DESC ) ) FROM v0 WHERE v1 < 32678718.000000 GROUP BY v1 + -128 ;
      

      Assertion Failure: (*select_ref)->fixed()

      Assertion stack trace:

      #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #1 0x0000ffff8b8c4aac in __GI_abort () at abort.c:79
      #2 0x0000ffff8b8d1494 in __assert_fail_base (fmt=0xffff8b9cc908 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n",
      assertion=assertion@entry=0x3e56660 <str> "(*select_ref)->fixed()", file=file@entry=0x3e4cf00 <str> "/home/mariadb/mariadb-server/sql/item.cc",
      line=line@entry=5796,
      function=function@entry=0x3e565e0 <_PRETTY_FUNCTION_._ZL31resolve_ref_in_select_and_groupP3THDP10Item_identP13st_select_lex> "Item **resolve_ref_in_select_and_group(THD *, Item_ident *, SELECT_LEX *)") at assert.c:94
      #3 0x0000ffff8b8d14fc in _GI__assert_fail (assertion=0x3e56660 <str> "(*select_ref)->fixed()",
      file=0x3e4cf00 <str> "/home/mariadb/mariadb-server/sql/item.cc", line=5796,
      function=0x3e565e0 <_PRETTY_FUNCTION_._ZL31resolve_ref_in_select_and_groupP3THDP10Item_identP13st_select_lex> "Item **resolve_ref_in_select_and_group(THD *, Item_ident *, SELECT_LEX *)") at assert.c:103
      #4 0x0000000001b8acdc in resolve_ref_in_select_and_group (thd=<optimized out>, ref=<optimized out>, select=0xffff58c01358)
      at /home/mariadb/mariadb-server/sql/item.cc:5796
      #5 0x0000000001ba2fd0 in Item_ref::fix_fields (this=0xffff58c05a00, thd=0xffff5b6a0288, reference=0xffff599f6320)
      at /home/mariadb/mariadb-server/sql/item.cc:8358
      #6 0x0000000001b8bf14 in Item_field::fix_fields (this=0xffff58c01b70, thd=<optimized out>, reference=<optimized out>)
      at /home/mariadb/mariadb-server/sql/item.cc:6352
      #7 0x0000000001cf2e0c in Item::fix_fields_if_needed (this=0x0, thd=0xffff5b6a0288, ref=0xffff58c01fa8) at /home/mariadb/mariadb-server/sql/item.h:1168
      #8 Item_func::fix_fields (this=<optimized out>, thd=<optimized out>, ref=<optimized out>) at /home/mariadb/mariadb-server/sql/item_func.cc:348
      #9 0x0000000000f88ecc in Item::fix_fields_if_needed (this=0xffff58c01f28, thd=0xffff5b6a0288, ref=0x0) at /home/mariadb/mariadb-server/sql/item.h:1168
      #10 Item::fix_fields_if_needed_for_scalar (this=0xffff58c01f28, thd=0xffff5b6a0288, ref=0x0) at /home/mariadb/mariadb-server/sql/item.h:1177
      #11 Item::fix_fields_if_needed_for_order_by (this=0xffff58c01f28, thd=0xffff5b6a0288, ref=0x0) at /home/mariadb/mariadb-server/sql/item.h:1185
      #12 find_order_in_list (thd=<optimized out>, ref_pointer_array=..., tables=<optimized out>, order=0xffff58c02018, fields=..., all_fields=...,
      is_group_field=<optimized out>, add_to_all_fields=<optimized out>, from_window_spec=<optimized out>)
      at /home/mariadb/mariadb-server/sql/sql_select.cc:28392
      #13 0x000000000109e3e0 in setup_order (thd=0xffff5b6a0288, ref_pointer_array=..., tables=0x0, fields=..., all_fields=..., order=0xffff58c02018,
      from_window_spec=true) at /home/mariadb/mariadb-server/sql/sql_select.cc:28439
      #14 0x0000000001808500 in setup_windows (thd=<optimized out>, ref_pointer_array=..., tables=<optimized out>, fields=..., all_fields=..., win_specs=...,
      win_funcs=...) at /home/mariadb/mariadb-server/sql/sql_window.cc:248
      #15 0x0000000000f80740 in setup_without_group (thd=0xffff5b6a0288, ref_pointer_array=..., tables=0x0, leaves=..., fields=..., all_fields=...,
      conds=0xffff58c05590, order=0x0, group=<optimized out>, win_specs=..., win_funcs=..., hidden_group_fields=<optimized out>)
      at /home/mariadb/mariadb-server/sql/sql_select.cc:972
      #16 JOIN::prepare (this=<optimized out>, tables_init=<optimized out>, conds_init=<optimized out>, og_num=<optimized out>, order_init=<optimized out>,
      skip_order_by=<optimized out>, group_init=<optimized out>, having_init=<optimized out>, proc_param_init=<optimized out>,
      select_lex_arg=<optimized out>, unit_arg=<optimized out>) at /home/mariadb/mariadb-server/sql/sql_select.cc:1577
      #17 0x0000000001f195dc in subselect_single_select_engine::prepare (this=<optimized out>, thd=<optimized out>)
      at /home/mariadb/mariadb-server/sql/item_subselect.cc:3981
      #18 0x0000000001ee35b0 in Item_subselect::fix_fields (this=<optimized out>, thd_param=<optimized out>, ref=<optimized out>)
      at /home/mariadb/mariadb-server/sql/item_subselect.cc:294
      #19 0x0000000001f13074 in Item_exists_subselect::fix_fields (this=<optimized out>, thd=<optimized out>, ref=<optimized out>)
      at /home/mariadb/mariadb-server/sql/item_subselect.cc:3554
      #20 0x0000000000bf855c in Item::fix_fields_if_needed (this=0xffff58c029a0, thd=0xffff5b6a0288, ref=0xffff58c02ba8)
      at /home/mariadb/mariadb-server/sql/item.h:1168
      #21 Item::fix_fields_if_needed_for_scalar (this=0xffff58c029a0, thd=0xffff5b6a0288, ref=0xffff58c02ba8) at /home/mariadb/mariadb-server/sql/item.h:1177
      #22 setup_fields (thd=0xffff5b6a0288, ref_pointer_array=..., fields=..., column_usage=<optimized out>, sum_func_list=<optimized out>,
      pre_fix=<optimized out>, allow_sum_func=<optimized out>, where=<optimized out>) at /home/mariadb/mariadb-server/sql/sql_base.cc:8112
      #23 0x0000000000f80160 in JOIN::prepare (this=<optimized out>, tables_init=<optimized out>, conds_init=<optimized out>, og_num=<optimized out>,
      order_init=<optimized out>, skip_order_by=<optimized out>, group_init=<optimized out>, having_init=<optimized out>, proc_param_init=<optimized out>,
      select_lex_arg=<optimized out>, unit_arg=<optimized out>) at /home/mariadb/mariadb-server/sql/sql_select.cc:1572
      #24 0x00000000012b05f4 in st_select_lex_unit::prepare_join (this=<optimized out>, thd_arg=<optimized out>, sl=<optimized out>, tmp_result=<optimized out>,
      additional_options=<optimized out>, is_union_select=<optimized out>) at /home/mariadb/mariadb-server/sql/sql_union.cc:1103
      #25 0x000000000129f308 in st_select_lex_unit::prepare (this=0xffff5b6a47e8, derived_arg=<optimized out>, sel_result=<optimized out>,
      additional_options=<optimized out>) at /home/mariadb/mariadb-server/sql/sql_union.cc:1607
      #26 0x000000000131325c in mysql_create_view (thd=0xffff5b6a0288, views=<optimized out>, mode=<optimized out>)
      at /home/mariadb/mariadb-server/sql/sql_view.cc:557
      #27 0x0000000000e3f3d8 in mysql_execute_command (thd=0xffff5b6a0288, is_called_from_prepared_stmt=<optimized out>)
      at /home/mariadb/mariadb-server/sql/sql_parse.cc:5695
      #28 0x0000000000e224e0 in mysql_parse (thd=<optimized out>, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>)
      at /home/mariadb/mariadb-server/sql/sql_parse.cc:7915
      #29 0x0000000000e161dc in dispatch_command (command=<optimized out>, thd=0xffff5b6a0288, packet=<optimized out>, packet_length=<optimized out>,
      blocking=<optimized out>) at /home/mariadb/mariadb-server/sql/sql_parse.cc:1902
      #30 0x0000000000e240d8 in do_command (thd=0xffff5b6a0288, blocking=<optimized out>) at /home/mariadb/mariadb-server/sql/sql_parse.cc:1415
      #31 0x0000000001483da0 in do_handle_one_connection (connect=<optimized out>, put_in_cache=true) at /home/mariadb/mariadb-server/sql/sql_connect.cc:1415
      #32 0x00000000014837b4 in handle_one_connection (arg=0xffff86836f88) at /home/mariadb/mariadb-server/sql/sql_connect.cc:1327
      #33 0x00000000026476a0 in pfs_spawn_thread (arg=0xffff7ea09508) at /home/mariadb/mariadb-server/storage/perfschema/pfs.cc:2198
      #34 0x0000ffff8bc53624 in start_thread (arg=0x8a0b38 <asan_thread_start(void*)>) at pthread_create.c:477
      #35 0x0000ffff8b97566c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              luy70 Yu Liang
              Votes:
              0 Vote for this issue
              Watchers:
              4 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.