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

Server crashes when checking/updatng a table having vector key after enabling innodb_force_primary_key

Details

    Description

      Test case 1
      --source include/have_innodb.inc
       
      CREATE TABLE t (v VECTOR (3) NOT NULL,VECTOR INDEX (v)) ENGINE=INNODB;
      SET GLOBAL innodb_force_primary_key=1;
      CHECK TABLE t EXTENDED;
      CHECK TABLE t EXTENDED;
       
      Test case 2
       
      --source include/have_innodb.inc
       
      CREATE TABLE t (v VECTOR (3) NOT NULL,VECTOR INDEX (v)) ENGINE=INNODB;
      SET GLOBAL innodb_force_primary_key=1;
      INSERT INTO t VALUES (0x1);
      INSERT INTO t VALUES (0x1);
      
      

      Leads to:

      CS 11.7.2 195dcfec6f09cc4a07991a6ceb90cd7f4e9f3369 (Debug)

      Core was generated by `/test/MD230125-mariadb-11.7.2-linux-x86_64-dbg/bin/mariadbd --no-defaults --max'.
      Program terminated with signal SIGSEGV, Segmentation fault.
      #0  0x0000564eb743ae52 in plugin_hton (plugin=0x147dbc00a6e8)at /test/11.7_dbg/sql/handler.h:1761
      [Current thread is 1 (Thread 0x147dd41c9700 (LWP 293250))]
      (gdb) bt
      #0  0x0000564eb743ae52 in plugin_hton (plugin=0x147dbc00a6e8) at /test/11.7_dbg/sql/handler.h:1761
      #1  TABLE_SHARE::init_from_sql_statement_string (this=this@entry=0x147dbc027c40, thd=0x147dbc000d48, write=write@entry=false, sql=0x147dbc01c4b8 "CREATE TABLE i (", ' ' <repeats 21 times>, "layer tinyint not null,", ' ' <repeats 12 times>, "tref varbinary(6),", ' ' <repeats 16 times>, "vec blob not null,", ' ' <repeats 17 times>, "neighbors blob not null,", ' ' <repeats 11 times>, "unique (tref),          "..., sql_length=244) at /test/11.7_dbg/sql/table.cc:3646
      #2  0x0000564eb72623f7 in TABLE::hlindex_open (this=this@entry=0x147dbc030ba8, nr=nr@entry=0) at /test/11.7_dbg/sql/sql_base.cc:9795
      #3  0x0000564eb726279c in TABLE::open_hlindexes_for_write (this=0x147dbc030ba8) at /test/11.7_dbg/sql/sql_base.cc:9859
      #4  0x0000564eb762fa89 in handler::prepare_for_modify (this=0x147dbc0283b8, can_set_fields=can_set_fields@entry=true, can_lookup=<optimized out>) at /test/11.7_dbg/sql/handler.cc:8135
      #5  0x0000564eb72a4303 in mysql_insert (thd=thd@entry=0x147dbc000d48, table_list=<optimized out>, fields=@0x147dbc005fc8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x564eb89f8880 <end_of_list>, last = 0x147dbc005fc8, elements = 0}, <No data fields>}, values_list=@0x147dbc006010: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x147dbc01b8e8, last = 0x147dbc01b8e8, elements = 1}, <No data fields>}, update_fields=@0x147dbc005ff8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x564eb89f8880 <end_of_list>, last = 0x147dbc005ff8, elements = 0}, <No data fields>}, update_values=@0x147dbc005fe0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x564eb89f8880 <end_of_list>, last = 0x147dbc005fe0, elements = 0}, <No data fields>}, duplic=DUP_ERROR, ignore=false, result=0x0) at /test/11.7_dbg/sql/sql_insert.cc:972
      #6  0x0000564eb72e552f in mysql_execute_command (thd=thd@entry=0x147dbc000d48, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/11.7_dbg/sql/sql_parse.cc:4485
      #7  0x0000564eb72d487d in mysql_parse (thd=thd@entry=0x147dbc000d48, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x147dd41c82c0) at /test/11.7_dbg/sql/sql_parse.cc:7915
      #8  0x0000564eb72ebdbb in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x147dbc000d48, packet=packet@entry=0x147dbc00b079 "INSERT INTO t VALUES (0x1)", packet_length=packet_length@entry=26, blocking=blocking@entry=true) at /test/11.7_dbg/sql/sql_class.h:1655
      #9  0x0000564eb72ee668 in do_command (thd=thd@entry=0x147dbc000d48, blocking=blocking@entry=true) at /test/11.7_dbg/sql/sql_parse.cc:1416
      #10 0x0000564eb7471bf5 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x564ebb4482f8, put_in_cache=put_in_cache@entry=true) at /test/11.7_dbg/sql/sql_connect.cc:1415
      #11 0x0000564eb74720cf in handle_one_connection (arg=0x564ebb4482f8) at /test/11.7_dbg/sql/sql_connect.cc:1327
      #12 0x0000147e09d56609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #13 0x0000147e09927133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Bug confirmed present in:
      MariaDB: 11.7.2 (dbg), 11.8.0 (dbg)

      Bug (or feature/syntax) confirmed not present in:
      MariaDB: 10.5.28 (dbg), 10.5.28 (opt), 10.6.21 (dbg), 10.6.21 (opt), 10.11.11 (dbg), 10.11.11 (opt), 11.7.2 (opt), 11.8.0 (opt)

      Unique IDs

      SIGSEGV|plugin_hton|TABLE_SHARE::db_type|get_schema_tables_record|fill_schema_table_by_open
      SIGSEGV|plugin_hton|TABLE_SHARE::db_type|get_schema_tables_record|fill_schema_table_from_frm
      SIGSEGV|plugin_hton|TABLE_SHARE::db_type|ha_table_exists|create_table_impl
      SIGSEGV|plugin_hton|TABLE_SHARE::db_type|ha_table_exists|fill_schema_table_names 
      SIGSEGV|plugin_hton|TABLE_SHARE::db_type|ha_table_exists|upgrade_lock_if_not_exists
      SIGSEGV|plugin_hton|TABLE_SHARE::db_type|open_table_from_share|open_table
      SIGSEGV|plugin_hton|TABLE_SHARE::db_type|TABLE::mark_columns_per_binlog_row_image|TABLE::mark_columns_needed_for_delete 
      SIGSEGV|plugin_hton|TABLE_SHARE::db_type|TABLE::mark_columns_per_binlog_row_image|TABLE::mark_columns_needed_for_insert
      SIGSEGV|plugin_hton|TABLE_SHARE::init_from_sql_statement_string|TABLE::hlindex_open|handler::ha_check
      SIGSEGV|plugin_hton|TABLE_SHARE::init_from_sql_statement_string|TABLE::hlindex_open|TABLE::hlindex_read_first
      SIGSEGV|plugin_hton|TABLE_SHARE::init_from_sql_statement_string|TABLE::hlindex_open|TABLE::open_hlindexes_for_write
      SIGSEGV|plugin_lock|mysql_rm_table_no_locks|mysql_rm_table|mysql_execute_command
      

      Attachments

        Issue Links

          Activity

            People

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