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

mysqld: storage/innobase/dict/dict0load.cc:1998: void dict_load_virtual_one_col(dict_table_t*, ulint, dict_v_col_t*, mem_heap_t*): Assertion `pos == vcol_pos' failed.

    XMLWordPrintable

    Details

      Description

      10.2.31 commit 7d313214641241e8ce839d9de01529c2335c620f 2020-01-10
      10.3.23 commit b0fa30808622fe12d474a70af1838906e60b9897 2020-02-02
      10.4.13 commit d87b725eebbddb6d319ee99e51924a62635185a1 2020-01-31
      10.5.1 commit 287c1db7867502348dcbc9ff7ccaae3d289cdbb1 2020-02.03
      all compiled with debug.
      In case of non debug binaries no replay or other bad effect.
       
      Snip of the run on 10.2
      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' ;
      CREATE TABLE t4 ( col1 INT, col_varchar VARCHAR(500), col_text TEXT ) ENGINE = InnoDB;
      ALTER TABLE t4 ADD COLUMN col_text_g_copy TEXT GENERATED ALWAYS AS (SUBSTR(col_text,1,499)) AFTER col1  ;
      ALTER TABLE t4 CHANGE COLUMN col_text_g_copy col_text_G TEXT GENERATED ALWAYS AS (SUBSTR(col_text,1,499)) ;
      ALTER TABLE t4 MODIFY COLUMN col_text_g TEXT GENERATED ALWAYS AS (SUBSTR(col_text,1,499)) AFTER col1 ;
      ALTER TABLE t4 ADD COLUMN col_text_g_copy TEXT GENERATED ALWAYS AS (SUBSTR(col_text,1,499)) AFTER col_varchar  ;
      ALTER TABLE t4 DROP COLUMN col_text_g  ;
      ERROR HY000: Lost connection to MySQL server during query
      DROP TABLE t4;
      ERROR HY000: MySQL server has gone away
      main.ml_weg5 'innodb'                    [ fail ]
              Test ended at 2020-02-04 19:29:16
      CURRENT_TEST: main.ml_weg5
       
      Server [mysqld.1 - pid: 10539, winpid: 10539, exit: 256] failed during test run
      Server log from this test:
      ----------SERVER LOG START-----------
      Version: '10.2.31-MariaDB-debug-log'  socket: '...
      mysqld: /home/mleich/Server/10.2/storage/innobase/dict/dict0load.cc:1998: void dict_load_virtual_one_col(dict_table_t*, ulint, dict_v_col_t*, mem_heap_t*): Assertion `pos == vcol_pos' failed.
      200204 19:29:15 [ERROR] mysqld got signal 6 ;
      ...
      Query (0x7f5044011910): ALTER TABLE t4 DROP COLUMN col_text_g
      Connection ID (thread ID): 9
      Status: NOT_KILLED
      ...
      Thread 1 (Thread 0x7f5092f3c700 (LWP 10572)):
      #0  __pthread_kill (threadid=<optimized out>, signo=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:57
      #1  0x0000563e77144bb0 in my_write_core (sig=6) at mysys/stacktrace.c:477
      #2  0x0000563e76999e05 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  0x00007f509c8fcf5d in __GI_abort () at abort.c:90
      #6  0x00007f509c8f2f17 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x563e77404ce2 "pos == vcol_pos", file=file@entry=0x563e77403e28 "storage/innobase/dict/dict0load.cc", line=line@entry=1998, function=function@entry=0x563e774071a0 <dict_load_virtual_one_col(dict_table_t*, unsigned long, dict_v_col_t*, mem_block_info_t*)::__PRETTY_FUNCTION__> "void dict_load_virtual_one_col(dict_table_t*, ulint, dict_v_col_t*, mem_heap_t*)") at assert.c:92
      #7  0x00007f509c8f2fc2 in __GI___assert_fail (assertion=0x563e77404ce2 "pos == vcol_pos", file=0x563e77403e28 "storage/innobase/dict/dict0load.cc", line=1998, function=0x563e774071a0 <dict_load_virtual_one_col(dict_table_t*, unsigned long, dict_v_col_t*, mem_block_info_t*)::__PRETTY_FUNCTION__> "void dict_load_virtual_one_col(dict_table_t*, ulint, dict_v_col_t*, mem_heap_t*)") at assert.c:101
      #8  0x0000563e76e74f75 in dict_load_virtual_one_col (table=0x7f5044006718, nth_v_col=0, v_col=0x7f5044008d40, heap=0x7f5044035a00) at storage/innobase/dict/dict0load.cc:1998
      #9  0x0000563e76e75079 in dict_load_virtual (table=0x7f5044006718, heap=0x7f5044035a00) at storage/innobase/dict/dict0load.cc:2021
      #10 0x0000563e76e77c18 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:2989
      #11 0x0000563e76e771fe in dict_load_table (name=0x7f5092f38080 "test/t4", ignore_err=DICT_ERR_IGNORE_NONE) at storage/innobase/dict/dict0load.cc:2796
      #12 0x0000563e76e5b42a in dict_table_open_on_name (table_name=0x7f5092f38080 "test/t4", dict_locked=1, try_drop=1, ignore_err=DICT_ERR_IGNORE_NONE) at storage/innobase/dict/dict0dict.cc:1157
      #13 0x0000563e76bee983 in ha_innobase::commit_inplace_alter_table (this=0x7f5044095a20, altered_table=0x7f5044033968, ha_alter_info=0x7f5092f38c10, commit=true) at storage/innobase/handler/handler0alter.cc:8709
      #14 0x0000563e769a52d2 in handler::ha_commit_inplace_alter_table (this=0x7f5044095a20, altered_table=0x7f5044033968, ha_alter_info=0x7f5092f38c10, commit=true) at sql/handler.cc:4359
      #15 0x0000563e767ecf57 in mysql_inplace_alter_table (thd=0x7f5044000cd8, table_list=0x7f5044011a08, table=0x7f5044092588, altered_table=0x7f5044033968, ha_alter_info=0x7f5092f38c10, inplace_supported=HA_ALTER_INPLACE_NO_LOCK_AFTER_PREPARE, target_mdl_request=0x7f5092f38ca0, alter_ctx=0x7f5092f39250) at sql/sql_table.cc:7457
      #16 0x0000563e767f2b63 in mysql_alter_table (thd=0x7f5044000cd8, new_db=0x7f5044012020 "test", new_name=0x0, create_info=0x7f5092f39e70, table_list=0x7f5044011a08, alter_info=0x7f5092f39dc0, order_num=0, order=0x0, ignore=false) at sql/sql_table.cc:9590
      #17 0x0000563e7686f0be in Sql_cmd_alter_table::execute (this=0x7f5044012058, thd=0x7f5044000cd8) at sql/sql_alter.cc:333
      #18 0x0000563e76722406 in mysql_execute_command (thd=0x7f5044000cd8) at sql/sql_parse.cc:5972
      #19 0x0000563e76727506 in mysql_parse (thd=0x7f5044000cd8, rawbuf=0x7f5044011910 "ALTER TABLE t4 DROP COLUMN col_text_g", length=37, parser_state=0x7f5092f3b1f0, is_com_multi=false, is_next_command=false) at sql/sql_parse.cc:7740
      #20 0x0000563e767157ff in dispatch_command (command=COM_QUERY, thd=0x7f5044000cd8, packet=0x7f50441899b9 "ALTER TABLE t4 DROP COLUMN col_text_g  ", packet_length=39, is_com_multi=false, is_next_command=false) at sql/sql_parse.cc:1830
      #21 0x0000563e76714155 in do_command (thd=0x7f5044000cd8) at sql/sql_parse.cc:1384
      #22 0x0000563e76869c76 in do_handle_one_connection (connect=0x563e7a5bdf88) at sql/sql_connect.cc:1336
      #23 0x0000563e768699e1 in handle_one_connection (arg=0x563e7a5bdf88) at sql/sql_connect.cc:1241
      #24 0x0000563e770980ab in pfs_spawn_thread (arg=0x563e7aa732c8) at storage/perfschema/pfs.cc:1862
      #25 0x00007f509d59e7fc in start_thread (arg=0x7f5092f3c700) at pthread_create.c:465
      #26 0x00007f509c9d8b5f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
       
      This bug seems to be a sibling of This bug seems to be a sibling of https://jira.mariadb.org/browse/MDEV-21800
      

        Attachments

        1. ml_weg5.test
          0.7 kB
        2. prt
          60 kB

          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: