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

Assertion `0' failed in row_purge_remove_sec_if_poss_leaf on table with virtual columns and indexes

    Details

      Description

      Note: run the test with --repeat=N if it doesn't fail right away. N=20 has always been enough for me (usually N=3 is enough), but it can vary on different machines and different builds.

      --source include/have_innodb.inc
       
      CREATE TABLE t1 ( 
        pk SERIAL,
        vb TINYBLOB AS (b) VIRTUAL,
        b TINYBLOB,
        y YEAR,
        c CHAR(255),
        PRIMARY KEY(pk),
        INDEX (y,vb(64))
      ) ENGINE=InnoDB;
       
      INSERT IGNORE INTO t1 (b,y,c) VALUES ('foo',1981,'bar');
       
      SELECT * FROM t1 INTO OUTFILE 'load.data';
      LOAD DATA INFILE 'load.data' REPLACE INTO TABLE t1;
       
      # Cleanup
      DROP TABLE t1;
      --let $datadir= `SELECT @@datadir`
      --remove_file $datadir/test/load.data
      

      10.3 36779e624d8

      2018-05-19 21:12:11 3 [ERROR] InnoDB: tried to purge non-delete-marked record in index `y` of table `test`.`t1`: tuple: TUPLE (info_bits=0, 3 fields): {[1]Q(0x01),[3]foo(0x060F0F),[8]        (0x0000000000000001)}, record: COMPACT RECORD(info_bits=0, 3 fields): {[1]Q(0x01),[3]foo(0x060F0F),[8]        (0x0000000000000001)}
      mysqld: /data/src/10.3/storage/innobase/row/row0purge.cc:494: bool row_purge_remove_sec_if_poss_leaf(purge_node_t*, dict_index_t*, const dtuple_t*): Assertion `0' failed.
      180519 21:12:11 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f6138286ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
      #8  0x0000560ed2d7a311 in row_purge_remove_sec_if_poss_leaf (node=0x560ed5884208, index=0x7f60e01269c8, entry=0x7f6100014018) at /data/src/10.3/storage/innobase/row/row0purge.cc:494
      #9  0x0000560ed2d7a64d in row_purge_remove_sec_if_poss (node=0x560ed5884208, index=0x7f60e01269c8, entry=0x7f6100014018) at /data/src/10.3/storage/innobase/row/row0purge.cc:584
      #10 0x0000560ed2d7a849 in row_purge_del_mark (node=0x560ed5884208) at /data/src/10.3/storage/innobase/row/row0purge.cc:654
      #11 0x0000560ed2d7bca9 in row_purge_record_func (node=0x560ed5884208, undo_rec=0x560ed58847b8 "", thr=0x560ed5884038, updated_extern=false) at /data/src/10.3/storage/innobase/row/row0purge.cc:1042
      #12 0x0000560ed2d7bfc6 in row_purge (node=0x560ed5884208, undo_rec=0x560ed58847b8 "", thr=0x560ed5884038) at /data/src/10.3/storage/innobase/row/row0purge.cc:1107
      #13 0x0000560ed2d7c2c7 in row_purge_step (thr=0x560ed5884038) at /data/src/10.3/storage/innobase/row/row0purge.cc:1186
      #14 0x0000560ed2d00c86 in que_thr_step (thr=0x560ed5884038) at /data/src/10.3/storage/innobase/que/que0que.cc:1046
      #15 0x0000560ed2d00eb9 in que_run_threads_low (thr=0x560ed5884038) at /data/src/10.3/storage/innobase/que/que0que.cc:1108
      #16 0x0000560ed2d010aa in que_run_threads (thr=0x560ed5884038) at /data/src/10.3/storage/innobase/que/que0que.cc:1148
      #17 0x0000560ed2dccc45 in srv_task_execute () at /data/src/10.3/storage/innobase/srv/srv0srv.cc:2437
      #18 0x0000560ed2dccdea in srv_worker_thread (arg=0x0) at /data/src/10.3/storage/innobase/srv/srv0srv.cc:2485
      #19 0x00007f6139f5d494 in start_thread (arg=0x7f611cff9700) at pthread_create.c:333
      #20 0x00007f613834393f in clone () from /lib/x86_64-linux-gnu/libc.so.6
      

      Could not reproduce on 10.2.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                nikitamalyavin Nikita Malyavin
                Reporter:
                elenst Elena Stepanova
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated: