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

Assertion `!col->mbmaxlen || len >= col->mbminlen * (fixed_len / col->mbmaxlen)' failed in storage/innobase/row/row0merge.cc:777

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Duplicate
    • 10.4.2
    • N/A
    • None
    • Ubuntu 17 but most probably unimportant.

    Description

      The problem does not occur on actual 10.4 or 10.3.
      Its on
        bb-10.4-MDEV-15563 commit 60124c0d47f8d89bf04592a300de5dda3bb84280 2019-01-10
      only.
       
      MTR test
      --source include/have_innodb.inc
      # Is harmless! CREATE TABLE t1 (col_int INTEGER, col_string VARCHAR(20)) ENGINE = InnoDB ROW_FORMAT = Compact  ;
      # Is harmless! CREATE TABLE t1 (col_int INTEGER, col_string VARCHAR(20)) ENGINE = InnoDB ROW_FORMAT = Dynamic  ;
        CREATE TABLE t1 (col_int INTEGER, col_string VARCHAR(20) ) ENGINE = InnoDB ROW_FORMAT = Redundant  ;
      # Assert with ALGORITHM = COPY too!   ALTER TABLE t1 ADD INDEX idx3 ( col_string ), ALGORITHM = COPY;
      ALTER TABLE t1 ADD INDEX idx3 ( col_string );
      INSERT INTO t1 (col_int, col_string) VALUES ( 73, 'a' ) ;
      ALTER TABLE t1 CHANGE COLUMN col_string col_string CHAR(20);
       
      SHOW PROCESSLIST;
       
      ...
      Version: '10.4.2-MariaDB-debug-log'  socket: ...
      mysqld: storage/innobase/row/row0merge.cc:777: ulint row_merge_buf_add(row_merge_buf_t*, dict_index_t*, const dict_table_t*, const dict_table_t*, fts_psort_t*, const dtuple_t*, const row_ext_t*, doc_id_t*, mem_heap_t*, dberr_t*, mem_heap_t**, TABLE*, trx_t*): Assertion `!col->mbmaxlen || len >= col->mbminlen * (fixed_len / col->mbmaxlen)' failed.
      190114 16:46:53 [ERROR] mysqld got signal 6 ;
      ...
      Query (0x7fe2e4014190): ALTER TABLE t1 CHANGE COLUMN col_string col_string CHAR(20)
      Connection ID (thread ID): 9
      Status: NOT_KILLED
      ...
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
      #5  0x00007fe33a916f5d in __GI_abort () at abort.c:90
      #6  0x00007fe33a90cf17 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x55dc9258dfd0 "!col->mbmaxlen || len >= col->mbminlen * (fixed_len / col->mbmaxlen)", file=file@entry=0x55dc9258dcd0 "storage/innobase/row/row0merge.cc", line=line@entry=777, function=function@entry=0x55dc92590820 <row_merge_buf_add(row_merge_buf_t*, dict_index_t*, dict_table_t const*, dict_table_t const*, fts_psort_t*, dtuple_t const*, row_ext_t const*, unsigned long*, mem_block_info_t*, dberr_t*, mem_block_info_t**, TABLE*, trx_t*)::__PRETTY_FUNCTION__> "ulint row_merge_buf_add(row_merge_buf_t*, dict_index_t*, const dict_table_t*, const dict_table_t*, fts_psort_t*, const dtuple_t*, const row_ext_t*, doc_id_t*, mem_heap_t*, dberr_t*, mem_heap_t**, TABL"...) at assert.c:92
      #7  0x00007fe33a90cfc2 in __GI___assert_fail (assertion=0x55dc9258dfd0 "!col->mbmaxlen || len >= col->mbminlen * (fixed_len / col->mbmaxlen)", file=0x55dc9258dcd0 "storage/innobase/row/row0merge.cc", line=777, function=0x55dc92590820 <row_merge_buf_add(row_merge_buf_t*, dict_index_t*, dict_table_t const*, dict_table_t const*, fts_psort_t*, dtuple_t const*, row_ext_t const*, unsigned long*, mem_block_info_t*, dberr_t*, mem_block_info_t**, TABLE*, trx_t*)::__PRETTY_FUNCTION__> "ulint row_merge_buf_add(row_merge_buf_t*, dict_index_t*, const dict_table_t*, const dict_table_t*, fts_psort_t*, const dtuple_t*, const row_ext_t*, doc_id_t*, mem_heap_t*, dberr_t*, mem_heap_t**, TABL"...) at assert.c:101
      #8  0x000055dc91df1631 in row_merge_buf_add (buf=0x7fe2e419bbb8, fts_index=0x0, old_table=0x7fe2e41a1388, new_table=0x7fe2e405cf38, psort_info=0x0, row=0x7fe2e4064938, ext=0x0, doc_id=0x7fe3344962d0, conv_heap=0x0, err=0x7fe3344962bc, v_heap=0x7fe3344962c8, my_table=0x7fe2e405af68, trx=0x7fe334731138) at storage/innobase/row/row0merge.cc:777
      #9  0x000055dc91df72dd in row_merge_read_clustered_index (trx=0x7fe334731138, table=0x7fe2e405af68, old_table=0x7fe2e41a1388, new_table=0x7fe2e405cf38, online=true, index=0x7fe2e405cb98, fts_sort_idx=0x0, psort_info=0x0, files=0x7fe2e405eaf0, key_numbers=0x7fe2e405cba8, n_index=2, defaults=0x0, add_v=0x0, col_map=0x7fe2e405cc38, add_autoinc=18446744073709551615, sequence=..., block=0x7fe32c4aa000 <error: Cannot access memory at address 0x7fe32c4aa000>, skip_pk_sort=true, tmpfd=0x7fe334496f40, stage=0x7fe2e405dab0, pct_cost=33.333333333333336, crypt_block=0x0, eval_table=0x7fe2e405af68, allow_not_null=false) at storage/innobase/row/row0merge.cc:2373
      #10 0x000055dc91dfe014 in row_merge_build_indexes (trx=0x7fe334731138, old_table=0x7fe2e41a1388, new_table=0x7fe2e405cf38, online=true, indexes=0x7fe2e405cb98, key_numbers=0x7fe2e405cba8, n_indexes=2, table=0x7fe2e405af68, defaults=0x0, col_map=0x7fe2e405cc38, add_autoinc=18446744073709551615, sequence=..., skip_pk_sort=true, stage=0x7fe2e405dab0, add_v=0x0, eval_table=0x7fe2e405af68, allow_not_null=false) at storage/innobase/row/row0merge.cc:4743
      #11 0x000055dc91ce5129 in ha_innobase::inplace_alter_table (this=0x7fe2e40bade0, altered_table=0x7fe2e405af68, ha_alter_info=0x7fe334497bb0) at storage/innobase/handler/handler0alter.cc:8326
      #12 0x000055dc91858367 in handler::ha_inplace_alter_table (this=0x7fe2e40bade0, altered_table=0x7fe2e405af68, ha_alter_info=0x7fe334497bb0) at sql/handler.h:4216
      #13 0x000055dc9184d8d8 in mysql_inplace_alter_table (thd=0x7fe2e4000ce8, table_list=0x7fe2e40142b8, table=0x7fe2e41787b8, altered_table=0x7fe2e405af68, ha_alter_info=0x7fe334497bb0, inplace_supported=HA_ALTER_INPLACE_COPY_NO_LOCK, target_mdl_request=0x7fe334497ce0, alter_ctx=0x7fe3344988d0) at sql/sql_table.cc:7543
      #14 0x000055dc918539e4 in mysql_alter_table (thd=0x7fe2e4000ce8, new_db=0x7fe2e40053b0, new_name=0x7fe2e4005780, create_info=0x7fe3344994c0, table_list=0x7fe2e40142b8, alter_info=0x7fe334499400, order_num=0, order=0x0, ignore=false) at sql/sql_table.cc:9694
      #15 0x000055dc918dda72 in Sql_cmd_alter_table::execute (this=0x7fe2e4014a30, thd=0x7fe2e4000ce8) at sql/sql_alter.cc:491
      #16 0x000055dc9177bf69 in mysql_execute_command (thd=0x7fe2e4000ce8) at sql/sql_parse.cc:6302
      #17 0x000055dc91781124 in mysql_parse (thd=0x7fe2e4000ce8, rawbuf=0x7fe2e4014190 "ALTER TABLE t1 CHANGE COLUMN col_string col_string CHAR(20)", length=59, parser_state=0x7fe33449a5f0, is_com_multi=false, is_next_command=false) at sql/sql_parse.cc:8104
      #18 0x000055dc9176e054 in dispatch_command (command=COM_QUERY, thd=0x7fe2e4000ce8, packet=0x7fe2e400acd9 "ALTER TABLE t1 CHANGE COLUMN col_string col_string CHAR(20)", packet_length=59, is_com_multi=false, is_next_command=false) at sql/sql_parse.cc:1850
      #19 0x000055dc9176ca69 in do_command (thd=0x7fe2e4000ce8) at sql/sql_parse.cc:1395
      #20 0x000055dc918d7aa2 in do_handle_one_connection (connect=0x55dc93f580c8) at sql/sql_connect.cc:1402
      #21 0x000055dc918d7819 in handle_one_connection (arg=0x55dc93f580c8) at sql/sql_connect.cc:1308
      #22 0x000055dc921d4a11 in pfs_spawn_thread (arg=0x55dc93f9e4f8) at storage/perfschema/pfs.cc:1862
      #23 0x00007fe33b5b87fc in start_thread (arg=0x7fe33449b700) at pthread_create.c:465
       
      
      

      Attachments

        1. ts_7.test
          0.6 kB
          Matthias Leich

        Issue Links

          Activity

            People

              midenok Aleksey Midenkov
              mleich Matthias Leich
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.