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

Assertion `(size_t)(ptr - buf) < MAX_TEXT - 4' failed in key_text::key_text

    XMLWordPrintable

    Details

      Description

      --source include/have_innodb.inc
       
      --error ER_CANT_CREATE_TABLE
      CREATE TABLE t1 (
          a012345678901234567890123456789012345678901 char(255),
          b char(255),
          FOREIGN KEY ( a012345678901234567890123456789012345678901, b ) REFERENCES tx (ax, bx)
      ) ENGINE=InnoDB;
      

      10.5 e76edf70

      mysqld: /data/src/10.5/storage/innobase/handler/ha_innodb.cc:12220: key_text::key_text(Key*): Assertion `(size_t)(ptr - buf) < MAX_TEXT - 4' failed.
      191122 15:26:59 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007efc593b4f12 in __GI___assert_fail (assertion=0x5563881bb428 "(size_t)(ptr - buf) < MAX_TEXT - 4", file=0x5563881b5b58 "/data/src/10.5/storage/innobase/handler/ha_innodb.cc", line=12220, function=0x5563881c62a0 <key_text::key_text(Key*)::__PRETTY_FUNCTION__> "key_text::key_text(Key*)") at assert.c:101
      #8  0x000055638798db6b in key_text::key_text (this=0x7efc4e762fb0, key=0x7efc180143f8) at /data/src/10.5/storage/innobase/handler/ha_innodb.cc:12220
      #9  0x0000556387976511 in create_table_info_t::create_foreign_keys (this=0x7efc4e7633f0) at /data/src/10.5/storage/innobase/handler/ha_innodb.cc:12461
      #10 0x00005563879774a8 in create_table_info_t::create_table (this=0x7efc4e7633f0, create_fk=true) at /data/src/10.5/storage/innobase/handler/ha_innodb.cc:12776
      #11 0x000055638798e4ea in ha_innobase::create (this=0x7efc1800abe8, name=0x7efc4e765730 "./test/t1", form=0x7efc4e763950, create_info=0x7efc4e765b70, file_per_table=true, trx=0x7efc54222268) at /data/src/10.5/storage/innobase/handler/ha_innodb.cc:13224
      #12 0x00005563879782c5 in ha_innobase::create (this=0x7efc1800abe8, name=0x7efc4e765730 "./test/t1", form=0x7efc4e763950, create_info=0x7efc4e765b70) at /data/src/10.5/storage/innobase/handler/ha_innodb.cc:13277
      #13 0x0000556387572e24 in handler::ha_create (this=0x7efc1800abe8, name=0x7efc4e765730 "./test/t1", form=0x7efc4e763950, info_arg=0x7efc4e765b70) at /data/src/10.5/sql/handler.cc:4718
      #14 0x00005563875745e5 in ha_create_table (thd=0x7efc18000b00, path=0x7efc4e765730 "./test/t1", db=0x7efc18013eb0 "test", table_name=0x7efc180137c8 "t1", create_info=0x7efc4e765b70, frm=0x7efc4e765720) at /data/src/10.5/sql/handler.cc:5182
      #15 0x0000556387314659 in create_table_impl (thd=0x7efc18000b00, orig_db=..., orig_table_name=..., db=..., table_name=..., path=0x7efc4e765730 "./test/t1", options=..., create_info=0x7efc4e765b70, alter_info=0x7efc4e765ab0, create_table_mode=0, is_trans=0x7efc4e76598e, key_info=0x7efc4e765710, key_count=0x7efc4e765704, frm=0x7efc4e765720) at /data/src/10.5/sql/sql_table.cc:5054
      #16 0x0000556387314a9f in mysql_create_table_no_lock (thd=0x7efc18000b00, db=0x7efc18013818, table_name=0x7efc18013828, create_info=0x7efc4e765b70, alter_info=0x7efc4e765ab0, is_trans=0x7efc4e76598e, create_table_mode=0, table_list=0x7efc18013800) at /data/src/10.5/sql/sql_table.cc:5141
      #17 0x0000556387314ea1 in mysql_create_table (thd=0x7efc18000b00, create_table=0x7efc18013800, create_info=0x7efc4e765b70, alter_info=0x7efc4e765ab0) at /data/src/10.5/sql/sql_table.cc:5230
      #18 0x00005563873273ab in Sql_cmd_create_table_like::execute (this=0x7efc180137a0, thd=0x7efc18000b00) at /data/src/10.5/sql/sql_table.cc:11461
      #19 0x000055638722bde2 in mysql_execute_command (thd=0x7efc18000b00) at /data/src/10.5/sql/sql_parse.cc:5957
      #20 0x0000556387232008 in mysql_parse (thd=0x7efc18000b00, rawbuf=0x7efc180135c0 "CREATE TABLE t1 (\na012345678901234567890123456789012345678901 char(255),\nb char(255),\nFOREIGN KEY ( a012345678901234567890123456789012345678901, b ) REFERENCES tx (ax, bx)\n) ENGINE=InnoDB", length=187, parser_state=0x7efc4e766580, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:7986
      #21 0x000055638721d0cf in dispatch_command (command=COM_QUERY, thd=0x7efc18000b00, packet=0x7efc18093fd1 "CREATE TABLE t1 (\na012345678901234567890123456789012345678901 char(255),\nb char(255),\nFOREIGN KEY ( a012345678901234567890123456789012345678901, b ) REFERENCES tx (ax, bx)\n) ENGINE=InnoDB", packet_length=187, is_com_multi=false, is_next_command=false) at /data/src/10.5/sql/sql_parse.cc:1846
      #22 0x000055638721b829 in do_command (thd=0x7efc18000b00) at /data/src/10.5/sql/sql_parse.cc:1364
      #23 0x00005563873bad2d in do_handle_one_connection (connect=0x55638b39d920, put_in_cache=true) at /data/src/10.5/sql/sql_connect.cc:1422
      #24 0x00005563873baa5c in handle_one_connection (arg=0x55638b39d920) at /data/src/10.5/sql/sql_connect.cc:1319
      #25 0x000055638790069f in pfs_spawn_thread (arg=0x55638b2ff450) at /data/src/10.5/storage/perfschema/pfs.cc:1862
      #26 0x00007efc5af2a4a4 in start_thread (arg=0x7efc4e767700) at pthread_create.c:456
      #27 0x00007efc59471d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      The failure was introduced by this commit:

      commit 5130f5206c150ba1e8a723aae63884ff64408012
      Author: Aleksey Midenkov <midenok@gmail.com>
      Date:   Wed Nov 20 13:18:31 2019 +0300
       
          MDEV-20480 Obsolete internal parser for FK in InnoDB
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              midenok Aleksey Midenkov
              Reporter:
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: