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

Server crash in ut_list_insert or Assertion `n_fields < dtuple_get_n_fields(entry)' failed in dtuple_convert_big_rec

    XMLWordPrintable

    Details

      Description

      Note: Run with --innodb-page-size=4K.

      --source include/have_innodb.inc
      --source include/have_innodb_4k.inc
       
      CREATE TABLE t1 (
        pk INT PRIMARY KEY,
        a CHAR(255) NOT NULL,
        b CHAR(255) NOT NULL,
        c INT
      ) ENGINE=InnoDB CHARSET utf32;
      ALTER TABLE t1 DROP c;
       
      # Cleanup
      DROP TABLE t1;
      

      10.4 82efe4a1 non-debug

      #3  <signal handler called>
      #4  0x00005627781eb06a in ut_list_insert<ut_list_base<mem_block_info_t, ut_list_node<mem_block_info_t> mem_block_info_t::*> > (elem2=0x7f83d8088eb0, elem1=0x7f83d8088090, list=...) at /data/src/10.4/storage/innobase/include/ut0lst.h:244
      #5  mem_heap_add_block (heap=heap@entry=0x7f83d8085cd0, n=n@entry=20) at /data/src/10.4/storage/innobase/mem/mem0mem.cc:387
      #6  0x000056277830aa9e in mem_heap_alloc (n=20, heap=0x7f83d8085cd0) at /data/src/10.4/storage/innobase/include/mem0mem.ic:191
      #7  dtuple_convert_big_rec (index=index@entry=0x7f83d812c2a8, upd=upd@entry=0x0, entry=entry@entry=0x7f83d80853f8, n_ext=n_ext@entry=0x7f842c3d22a8) at /data/src/10.4/storage/innobase/data/data0data.cc:722
      #8  0x00005627782cff61 in btr_cur_optimistic_insert (flags=flags@entry=2, cursor=cursor@entry=0x7f842c3d2350, offsets=offsets@entry=0x7f842c3d2338, heap=heap@entry=0x7f842c3d2330, entry=entry@entry=0x7f83d80853f8, rec=rec@entry=0x7f842c3d2348, big_rec=0x7f842c3d2328, n_ext=<optimized out>, thr=0x7f83d8085598, mtr=0x7f842c3d2a90) at /data/src/10.4/storage/innobase/btr/btr0cur.cc:3481
      #9  0x0000562778230901 in row_ins_clust_index_entry_low (flags=flags@entry=2, mode=<optimized out>, mode@entry=33, index=index@entry=0x7f83d812c2a8, n_uniq=n_uniq@entry=1, entry=entry@entry=0x7f83d80853f8, n_ext=n_ext@entry=0, thr=0x7f83d8085598) at /data/src/10.4/storage/innobase/row/row0ins.cc:2750
      #10 0x00005627781a8b10 in innobase_instant_try (ha_alter_info=ha_alter_info@entry=0x7f842c3d4cd0, ctx=ctx@entry=0x7f83d80119e0, trx=trx@entry=0x7f842c67d118, table=<optimized out>, altered_table=<optimized out>, altered_table=<optimized out>) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:6030
      #11 0x00005627781a98b0 in commit_try_norebuild (ha_alter_info=0x7f842c3d4cd0, ctx=<optimized out>, altered_table=0x7f842c3d4d70, old_table=0x7f83d8184fe8, trx=<optimized out>, table_name=<optimized out>) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:10383
      #12 0x000056277819e916 in ha_innobase::commit_inplace_alter_table (this=<optimized out>, altered_table=<optimized out>, ha_alter_info=<optimized out>, commit=<optimized out>) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:11173
      #13 0x0000562777e2c85f in mysql_inplace_alter_table (thd=0x7f83d8000c48, table_list=0x7f83d8010150, table=0x7f83d8184fe8, altered_table=0x7f842c3d4d70, ha_alter_info=0x7f842c3d4cd0, alter_ctx=0x7f842c3d6700, target_mdl_request=<optimized out>) at /data/src/10.4/sql/sql_table.cc:7833
      #14 0x0000562777e385a1 in mysql_alter_table (thd=thd@entry=0x7f83d8000c48, new_db=new_db@entry=0x7f83d8005250, new_name=new_name@entry=0x7f83d8005658, create_info=create_info@entry=0x7f842c3d72f0, table_list=<optimized out>, table_list@entry=0x7f83d8010150, alter_info=alter_info@entry=0x7f842c3d7230, order_num=0, order=0x0, ignore=false) at /data/src/10.4/sql/sql_table.cc:10183
      #15 0x0000562777e91782 in Sql_cmd_alter_table::execute (this=<optimized out>, thd=0x7f83d8000c48) at /data/src/10.4/sql/sql_alter.cc:520
      #16 0x0000562777d8de80 in mysql_execute_command (thd=0x7f83d8000c48) at /data/src/10.4/sql/sql_parse.cc:6161
      #17 0x0000562777d956e3 in mysql_parse (thd=0x7f83d8000c48, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/src/10.4/sql/sql_parse.cc:7959
      #18 0x0000562777d97c9a in dispatch_command (command=COM_QUERY, thd=0x7f83d8000c48, packet=<optimized out>, packet_length=<optimized out>, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /data/src/10.4/sql/sql_class.h:1170
      #19 0x0000562777d99eaa in do_command (thd=0x7f83d8000c48) at /data/src/10.4/sql/sql_parse.cc:1373
      #20 0x0000562777e8d28e in do_handle_one_connection (connect=connect@entry=0x56277a464c28) at /data/src/10.4/sql/sql_connect.cc:1412
      #21 0x0000562777e8d3af in handle_one_connection (arg=arg@entry=0x56277a464c28) at /data/src/10.4/sql/sql_connect.cc:1316
      #22 0x00005627784ac3e6 in pfs_spawn_thread (arg=0x56277a451e68) at /data/src/10.4/storage/perfschema/pfs.cc:1869
      #23 0x00007f8432f2d609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #24 0x00007f8432b1c293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.4 82efe4a1 debug

      mysqld: /data/src/10.4/storage/innobase/data/data0data.cc:734: big_rec_t* dtuple_convert_big_rec(dict_index_t*, upd_t*, dtuple_t*, ulint*): Assertion `n_fields < dtuple_get_n_fields(entry)' failed.
      210304 21:04:39 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007fba421c3f36 in __GI___assert_fail (assertion=0x5592ce8ed940 "n_fields < dtuple_get_n_fields(entry)", file=0x5592ce8ed4b0 "/data/src/10.4/storage/innobase/data/data0data.cc", line=734, function=0x5592ce8ed830 "big_rec_t* dtuple_convert_big_rec(dict_index_t*, upd_t*, dtuple_t*, ulint*)") at assert.c:101
      #8  0x00005592ce205f38 in dtuple_convert_big_rec (index=0x7fb9e41927e0, upd=0x0, entry=0x7fb9e41a5e20, n_ext=0x7fba373619b8) at /data/src/10.4/storage/innobase/data/data0data.cc:734
      #9  0x00005592ce18394f in btr_cur_optimistic_insert (flags=2, cursor=0x7fba37361a90, offsets=0x7fba37361a28, heap=0x7fba37361a20, entry=0x7fb9e41a5e20, rec=0x7fba37361a30, big_rec=0x7fba37361a18, n_ext=7, thr=0x7fb9e41a5fd0, mtr=0x7fba37361df0) at /data/src/10.4/storage/innobase/btr/btr0cur.cc:3481
      #10 0x00005592ce03d69f in row_ins_clust_index_entry_low (flags=2, mode=33, index=0x7fb9e41927e0, n_uniq=1, entry=0x7fb9e41a5e20, n_ext=0, thr=0x7fb9e41a5fd0) at /data/src/10.4/storage/innobase/row/row0ins.cc:2750
      #11 0x00005592cdefc26d in innobase_instant_try (ha_alter_info=0x7fba37363d20, ctx=0x7fb9e40160c8, altered_table=0x7fba37363dc0, table=0x7fb9e4195f70, trx=0x7fba37c01228) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:6030
      #12 0x00005592cdf2109a in commit_try_norebuild (ha_alter_info=0x7fba37363d20, ctx=0x7fb9e40160c8, altered_table=0x7fba37363dc0, old_table=0x7fb9e4195f70, trx=0x7fba37c01228, table_name=0x7fb9e4191dc5 "t1") at /data/src/10.4/storage/innobase/handler/handler0alter.cc:10383
      #13 0x00005592cdf0da43 in ha_innobase::commit_inplace_alter_table (this=0x7fb9e4043e38, altered_table=0x7fba37363dc0, ha_alter_info=0x7fba37363d20, commit=true) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:11173
      #14 0x00005592cdc6614e in handler::ha_commit_inplace_alter_table (this=0x7fb9e4043e38, altered_table=0x7fba37363dc0, ha_alter_info=0x7fba37363d20, commit=true) at /data/src/10.4/sql/handler.cc:4626
      #15 0x00005592cd9de71f in mysql_inplace_alter_table (thd=0x7fb9e4000d90, table_list=0x7fb9e4014838, table=0x7fb9e4195f70, altered_table=0x7fba37363dc0, ha_alter_info=0x7fba37363d20, target_mdl_request=0x7fba37364b90, alter_ctx=0x7fba373656d0) at /data/src/10.4/sql/sql_table.cc:7833
      #16 0x00005592cd9e56b4 in mysql_alter_table (thd=0x7fb9e4000d90, new_db=0x7fb9e4005558, new_name=0x7fb9e4005960, create_info=0x7fba373662d0, table_list=0x7fb9e4014838, alter_info=0x7fba37366210, order_num=0, order=0x0, ignore=false) at /data/src/10.4/sql/sql_table.cc:10183
      #17 0x00005592cda7fa48 in Sql_cmd_alter_table::execute (this=0x7fb9e4014f28, thd=0x7fb9e4000d90) at /data/src/10.4/sql/sql_alter.cc:520
      #18 0x00005592cd8f6869 in mysql_execute_command (thd=0x7fb9e4000d90) at /data/src/10.4/sql/sql_parse.cc:6161
      #19 0x00005592cd8fbe17 in mysql_parse (thd=0x7fb9e4000d90, rawbuf=0x7fb9e4014768 "ALTER TABLE t1 DROP c", length=21, parser_state=0x7fba37367550, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7959
      #20 0x00005592cd8e8121 in dispatch_command (command=COM_QUERY, thd=0x7fb9e4000d90, packet=0x7fb9e400abc1 "ALTER TABLE t1 DROP c", packet_length=21, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1855
      #21 0x00005592cd8e6989 in do_command (thd=0x7fb9e4000d90) at /data/src/10.4/sql/sql_parse.cc:1373
      #22 0x00005592cda761a5 in do_handle_one_connection (connect=0x5592d1b2deb0) at /data/src/10.4/sql/sql_connect.cc:1412
      #23 0x00005592cda75eee in handle_one_connection (arg=0x5592d1b2deb0) at /data/src/10.4/sql/sql_connect.cc:1316
      #24 0x00005592ce499992 in pfs_spawn_thread (arg=0x5592d1b74ea0) at /data/src/10.4/storage/perfschema/pfs.cc:1869
      #25 0x00007fba42a44609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #26 0x00007fba422af293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Reproducible on 10.4-10.6, debug- and non-debug as described above.
      Couldn't reproduce on 10.3.

        Attachments

          Activity

            People

            Assignee:
            thiru Thirunarayanan Balathandayuthapani
            Reporter:
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: