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

mysqld: storage/innobase/dict/dict0load.cc:1689: const char* dict_load_column_low(dict_table_t*, mem_heap_t*, dict_col_t*, table_id_t*, const char**, const rec_t*, ulint*): Assertion `vcol->v_pos == dict_get_v_col_pos(pos)' failed.

    XMLWordPrintable

    Details

      Description

      TEST                                      RESULT   TIME (ms) or COMMENT
      --------------------------------------------------------------------------
       
      worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 16000..16019
      SET SESSION sql_mode = 'NO_ENGINE_SUBSTITUTION' ;
      SET DEFAULT_STORAGE_ENGINE= 'InnoDB' ;
      CREATE TABLE t4 (
      col1 INT PRIMARY KEY,
      col_string TEXT GENERATED ALWAYS AS (SUBSTR(col_text,1,499)),
      col_text TEXT )
      ENGINE = InnoDB ROW_FORMAT = Redundant ;
      ALTER TABLE t4 ADD COLUMN col_text_g_copy TEXT GENERATED ALWAYS AS (SUBSTR(col_text,1,499)) FIRST  ;
      ALTER TABLE t4 CHANGE COLUMN col_text_g_copy col_text_G TEXT GENERATED ALWAYS AS (SUBSTR(col_text,1,499))  ;   # col_text_G <-- upper case G
      ALTER TABLE t4 MODIFY COLUMN col_text_g TEXT GENERATED ALWAYS AS (SUBSTR(col_text,1,499))  ;         # col_text_g <-- lower case g
      ALTER TABLE t4 ADD COLUMN col_text_g_copy TEXT GENERATED ALWAYS AS (SUBSTR(col_text,1,499))  ;
      ALTER TABLE t4 DROP COLUMN IF EXISTS col_text_g  ;
      ERROR HY000: Lost connection to MySQL server during query
      ...
      Version: '10.2.32-MariaDB-debug-log'  socket: 'bld_debug/mysql-test/var/tmp/mysqld.1.sock'  port: 16000  Source distribution
      mysqld: storage/innobase/dict/dict0load.cc:1689: const char* dict_load_column_low(dict_table_t*, mem_heap_t*, dict_col_t*, table_id_t*, const char**, const rec_t*, ulint*): Assertion `vcol->v_pos == dict_get_v_col_pos(pos)' failed.
      200221 16:58:57 [ERROR] mysqld got signal 6 ;
      ...
      Query (0x7f96e8011930): ALTER TABLE t4 DROP COLUMN IF EXISTS col_text_g
      Connection ID (thread ID): 9
      Status: NOT_KILLED
      ...
      Thread 1 (Thread 0x7f974df9a700 (LWP 10866)):
      #0  __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
      #1  0x00005599f786cf6e in my_write_core (sig=6) at mysys/stacktrace.c:477
      #2  0x00005599f70d3f97 in handle_fatal_signal (sig=6) at sql/signal_handler.cc:343
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
      #5  0x00007f9768eccf5d in __GI_abort () at abort.c:90
      #6  0x00007f9768ec2f17 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x5599f7b2d6a8 "vcol->v_pos == dict_get_v_col_pos(pos)", file=file@entry=0x5599f7b2cae8 "storage/innobase/dict/dict0load.cc", line=line@entry=1689, function=function@entry=0x5599f7b2fd20 <dict_load_column_low(dict_table_t*, mem_block_info_t*, dict_col_t*, unsigned long*, char const**, unsigned char const*, unsigned long*)::__PRETTY_FUNCTION__> "const char* dict_load_column_low(dict_table_t*, mem_heap_t*, dict_col_t*, table_id_t*, const char**, const rec_t*, ulint*)") at assert.c:92
      #7  0x00007f9768ec2fc2 in __GI___assert_fail (assertion=0x5599f7b2d6a8 "vcol->v_pos == dict_get_v_col_pos(pos)", file=0x5599f7b2cae8 "storage/innobase/dict/dict0load.cc", line=1689, function=0x5599f7b2fd20 <dict_load_column_low(dict_table_t*, mem_block_info_t*, dict_col_t*, unsigned long*, char const**, unsigned char const*, unsigned long*)::__PRETTY_FUNCTION__> "const char* dict_load_column_low(dict_table_t*, mem_heap_t*, dict_col_t*, table_id_t*, const char**, const rec_t*, ulint*)") at assert.c:101
      #8  0x00005599f759cd36 in dict_load_column_low (table=0x7f96e818ac90, heap=0x7f96e8032770, column=0x0, table_id=0x0, col_name=0x7f974df94c08, rec=0x7f9758124a79 "", nth_v_col=0x7f974df94c10) at storage/innobase/dict/dict0load.cc:1689
      #9  0x00005599f759d3b1 in dict_load_columns (table=0x7f96e818ac90, heap=0x7f96e8032770) at storage/innobase/dict/dict0load.cc:1859
      #10 0x00005599f75a07b7 in dict_load_table_one (name=..., ignore_err=DICT_ERR_IGNORE_NONE, fk_tables=std::deque with 0 elements) at storage/innobase/dict/dict0load.cc:2987
      #11 0x00005599f759fdb6 in dict_load_table (name=0x7f974df96080 "test/t4", ignore_err=DICT_ERR_IGNORE_NONE) at storage/innobase/dict/dict0load.cc:2796
      #12 0x00005599f758403b in dict_table_open_on_name (table_name=0x7f974df96080 "test/t4", dict_locked=1, try_drop=1, ignore_err=DICT_ERR_IGNORE_NONE) at storage/innobase/dict/dict0dict.cc:1160
      #13 0x00005599f7317fa7 in ha_innobase::commit_inplace_alter_table (this=0x7f96e808b2a0, altered_table=0x7f96e8094408, ha_alter_info=0x7f974df96c10, commit=true) at storage/innobase/handler/handler0alter.cc:8709
      #14 0x00005599f70df464 in handler::ha_commit_inplace_alter_table (this=0x7f96e808b2a0, altered_table=0x7f96e8094408, ha_alter_info=0x7f974df96c10, commit=true) at sql/handler.cc:4359
      #15 0x00005599f6f27509 in mysql_inplace_alter_table (thd=0x7f96e8000cd8, table_list=0x7f96e8011a38, table=0x7f96e8096c78, altered_table=0x7f96e8094408, ha_alter_info=0x7f974df96c10, inplace_supported=HA_ALTER_INPLACE_NO_LOCK_AFTER_PREPARE, target_mdl_request=0x7f974df96ca0, alter_ctx=0x7f974df97250) at sql/sql_table.cc:7457
      #16 0x00005599f6f2d115 in mysql_alter_table (thd=0x7f96e8000cd8, new_db=0x7f96e8012050 "test", new_name=0x0, create_info=0x7f974df97e70, table_list=0x7f96e8011a38, alter_info=0x7f974df97dc0, order_num=0, order=0x0, ignore=false) at sql/sql_table.cc:9590
      #17 0x00005599f6fa94a4 in Sql_cmd_alter_table::execute (this=0x7f96e8012088, thd=0x7f96e8000cd8) at sql/sql_alter.cc:333
      #18 0x00005599f6e5d3a9 in mysql_execute_command (thd=0x7f96e8000cd8) at sql/sql_parse.cc:5971
      #19 0x00005599f6e624a8 in mysql_parse (thd=0x7f96e8000cd8, rawbuf=0x7f96e8011930 "ALTER TABLE t4 DROP COLUMN IF EXISTS col_text_g", length=47, parser_state=0x7f974df991f0, is_com_multi=false, is_next_command=false) at sql/sql_parse.cc:7739
      #20 0x00005599f6e507e1 in dispatch_command (command=COM_QUERY, thd=0x7f96e8000cd8, packet=0x7f96e8008489 "ALTER TABLE t4 DROP COLUMN IF EXISTS col_text_g  ", packet_length=49, is_com_multi=false, is_next_command=false) at sql/sql_parse.cc:1830
      #21 0x00005599f6e4f137 in do_command (thd=0x7f96e8000cd8) at sql/sql_parse.cc:1384
      #22 0x00005599f6fa405c in do_handle_one_connection (connect=0x5599f8f91db8) at sql/sql_connect.cc:1336
      #23 0x00005599f6fa3dc7 in handle_one_connection (arg=0x5599f8f91db8) at sql/sql_connect.cc:1241
      #24 0x00005599f77c0469 in pfs_spawn_thread (arg=0x5599fa8da238) at storage/perfschema/pfs.cc:1869
      #25 0x00007f9769b6e7fc in start_thread (arg=0x7f974df9a700) at pthread_create.c:465
      #26 0x00007f9768fa8b5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      origin/10.2 3ce49a0a5225eb7d185361e1ece65d03813ec550 2020-02-20T14:04:27+05:30
      origin/10.3 affe7fabc7baa36083e7632eb6c3611578d74b48 2020-02-19T21:29:49+03:00
      origin/10.4 e637355156cb28388a291b0e3a5e9ee863b2854d 2020-02-20T13:35:19+03:00
      origin/10.5 bc76cfe8f868fde245f8aa274fba349d352bbfa7 2020-02-21T11:57:29+02:00
       
      This bug seems to be a sibling of https://jira.mariadb.org/browse/MDEV-21663.
      
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              nikitamalyavin Nikita Malyavin
              Reporter:
              mleich Matthias Leich
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated: