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

Server crashes when reading information_schema.COLUMNS after creating a table with virtual columns using the GIS data type

Details

    Description

      SET sql_mode='';
      CREATE TABLE t (a POINT GENERATED ALWAYS AS (1) STORED,b INT GENERATED ALWAYS AS (1) VIRTUAL);
      SET sql_mode=DEFAULT;
      SELECT * FROM information_schema.COLUMNS;
      

      Leads to:

      CS 11.8.1 1c4aed7c680c0402d6e97e097f03815c0e9bf4c5 (Optimized) Build 17/02/2025

      Core was generated by `/test/MD170225-mariadb-11.8.1-linux-x86_64-opt/bin/mariadbd --no-defaults --max'.
      Program terminated with signal SIGSEGV, Segmentation fault.
      #0  Item::print_parenthesised (this=0x0, str=0x14ca7f3bffa8, query_type=8857, parent_prec=LOWEST_PRECEDENCE) at /test/11.8_opt/sql/item.cc:512
      512	  bool need_parens= precedence() < parent_prec;
      [Current thread is 1 (Thread 0x14ca7f3c36c0 (LWP 3688570))]
      (gdb) bt
      #0  Item::print_parenthesised (this=0x0, str=0x14ca7f3bffa8, query_type=8857, parent_prec=LOWEST_PRECEDENCE) at /test/11.8_opt/sql/item.cc:512
      #1  0x0000562ee8f5406f in Item::print_for_table_def (this=0x0, str=0x14ca7f3bffa8) at /test/11.8_opt/sql/item.h:2051
      #2  Virtual_column_info::print (this=0x14ca2050ad60, str=0x14ca7f3bffa8)at /test/11.8_opt/sql/item.h:8232
      #3  get_schema_column_record (thd=0x14ca20000c68, tables=0x14ca7f3c08c0, table=0x14ca20027f40, res=<optimized out>, db_name=0x14ca2001ee38, table_name=0x14ca20045590) at /test/11.8_opt/sql/sql_show.cc:6579
      #4  0x0000562ee8f4a6a9 in fill_schema_table_from_frm (thd=0x14ca20000c68, mem_root=0x14ca7f3c0540, table=0x14ca20027f40, db_name=0x14ca2001ee38, table_name=0x14ca20045590, open_tables_state_backup=0x14ca7f3c04b0, can_deadlock=false, schema_table=<optimized out>)at /test/11.8_opt/sql/sql_show.cc:5295
      #5  get_all_tables (thd=0x14ca20000c68, tables=0x14ca20017c48, cond=<optimized out>) at /test/11.8_opt/sql/sql_show.cc:5648
      #6  0x0000562ee8f528e6 in get_schema_tables_result (join=join@entry=0x14ca200198b0, executed_place=executed_place@entry=PROCESSED_BY_JOIN_EXEC)at /test/11.8_opt/sql/sql_show.cc:9713
      #7  0x0000562ee8f10375 in JOIN::exec_inner (this=this@entry=0x14ca200198b0)at /test/11.8_opt/sql/sql_select.cc:5020
      #8  0x0000562ee8ef6297 in JOIN::exec (this=0x14ca200198b0)at /test/11.8_opt/sql/sql_select.cc:4842
      #9  mysql_select (thd=thd@entry=0x14ca20000c68, tables=<optimized out>, fields=@0x14ca20017898: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14ca20017bc8, last = 0x14ca2001c1b0, elements = 24}, <No data fields>}, conds=<optimized out>, og_num=<optimized out>, order=<optimized out>, group=0x0, having=0x0, proc_param=0x0, select_options=<optimized out>, result=0x14ca20019888, unit=0x14ca20004fc0, select_lex=0x14ca200175e0)at /test/11.8_opt/sql/sql_select.cc:5375
      #10 0x0000562ee8ef5f19 in handle_select (thd=thd@entry=0x14ca20000c68, lex=lex@entry=0x14ca20004ee0, result=result@entry=0x14ca20019888, setup_tables_done_option=setup_tables_done_option@entry=0)at /test/11.8_opt/sql/sql_select.cc:633
      #11 0x0000562ee8ec350e in execute_sqlcom_select (thd=thd@entry=0x14ca20000c68, all_tables=0x14ca20017c48) at /test/11.8_opt/sql/sql_parse.cc:6191
      #12 0x0000562ee8ec1a00 in mysql_execute_command (thd=thd@entry=0x14ca20000c68, is_called_from_prepared_stmt=false) at /test/11.8_opt/sql/sql_parse.cc:3979
      #13 0x0000562ee8eba261 in mysql_parse (thd=thd@entry=0x14ca20000c68, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14ca7f3c2430)at /test/11.8_opt/sql/sql_parse.cc:7915
      #14 0x0000562ee8eb86f0 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14ca20000c68, packet=packet@entry=0x14ca200088a9 "SELECT * FROM information_schema.COLUMNS", packet_length=packet_length@entry=40, blocking=true)at /test/11.8_opt/sql/sql_parse.cc:1902
      #15 0x0000562ee8eba671 in do_command (thd=thd@entry=0x14ca20000c68, blocking=true) at /test/11.8_opt/sql/sql_parse.cc:1415
      #16 0x0000562ee8fe5e8d in do_handle_one_connection (connect=<optimized out>, connect@entry=0x562f03af3dd8, put_in_cache=true)at /test/11.8_opt/sql/sql_connect.cc:1415
      #17 0x0000562ee8fe5c4f in handle_one_connection (arg=arg@entry=0x562f03af3dd8)at /test/11.8_opt/sql/sql_connect.cc:1327
      #18 0x0000562ee936ad29 in pfs_spawn_thread (arg=0x562f03aa06c8)at /test/11.8_opt/storage/perfschema/pfs.cc:2198
      #19 0x000014ca84c9caa4 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
      #20 0x000014ca84d29c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
      

      Bug confirmed present in:
      MariaDB: 11.7.2 (dbg), 11.7.2 (opt), 11.8.1 (dbg), 11.8.1 (opt)

      Bug (or feature/syntax) confirmed not present in:
      MariaDB: 10.6.21 (dbg), 10.6.21 (opt), 10.11.12 (dbg), 10.11.12 (opt), 11.4.6 (dbg), 11.4.6 (opt)

      Attachments

        Activity

          People

            serg Sergei Golubchik
            ramesh Ramesh Sivaraman
            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.