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

Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed in row0purge.cc:140: bool row_purge_remove_clust_if_poss_low after crash recovery with virtual columns

Details

    Description

      10.2 654b587999456

      mysqld: /data/src/10.2/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
      180921 18:18:09 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f79cc0a0ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
      #8  0x0000563b59eb0067 in row_purge_remove_clust_if_poss_low (node=0x563b5d747f00, mode=2) at /data/src/10.2/storage/innobase/row/row0purge.cc:139
      #9  0x0000563b59eb03cd in row_purge_remove_clust_if_poss (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:216
      #10 0x0000563b59eb1acf in row_purge_del_mark (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:799
      #11 0x0000563b59eb2656 in row_purge_record_func (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48, updated_extern=false) at /data/src/10.2/storage/innobase/row/row0purge.cc:1093
      #12 0x0000563b59eb28cd in row_purge (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1154
      #13 0x0000563b59eb2c0c in row_purge_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1240
      #14 0x0000563b59e441f7 in que_thr_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1049
      #15 0x0000563b59e443f5 in que_run_threads_low (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1111
      #16 0x0000563b59e4459e in que_run_threads (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1151
      #17 0x0000563b59efea71 in srv_task_execute () at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2535
      #18 0x0000563b59efebbf in srv_worker_thread (arg=0x0) at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2582
      #19 0x00007f79cdd77494 in start_thread (arg=0x7f79897fa700) at pthread_create.c:333
      #20 0x00007f79cc15d93f in clone () from /lib/x86_64-linux-gnu/libc.so.6
      

      To reproduce:

      • download the attached files data-mdev17215.tar.gz and ib_logfiles-mdev17215.tar.gz;
      • remove a directory named data if exists in the current folder;
      • untar data-mdev17215.tar.gz, it will create data folder with some contents in it;
      • untar ib_logfiles-mdev17215.tar.gz, it will put ib_logfiles into the datadir created on the previous step (they are packed separately to fit into 10M attachment limitation in JIRA);
      • start 10.2 server on the created datadir data. All default options will do.

      The server starts all right, but in a few seconds it aborts with the assertion above.

      The attached datadir was created on the same version/build of MariaDB server, by creating tables with virtual columns, performing some DML on them and at some point killing the server with SIGKILL. The datadir was stored after that, before any attempt to restart the server. Full general log and error log from the beginning up to SIGKILL can be found in logs-mdev17215.tar.gz.

      All threads' stack trace is also attached.


      In case we need to re-create the whole scenario:

      github.com/MariaDB/randgen --branch elenst-mdev14046 1348571d03a

      perl ./runall-trials.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --skip-gendata --gendata-advanced --vcols --scenario=CrashUpgrade --duration=90 --basedir=/data/bld/10.3 --no-mask --seed=1537184920 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10  --vardir1=/dev/shm/vardir --trials=5
      

      Attachments

        1. data-mdev17215.tar.gz
          3.47 MB
        2. ib_logfiles-mdev17215.tar.gz
          9.51 MB
        3. logs-mdev17215.tar.gz
          3.61 MB
        4. threads
          32 kB

        Issue Links

          Activity

            elenst Elena Stepanova created issue -
            elenst Elena Stepanova made changes -
            Field Original Value New Value
            Affects Version/s 10.2 [ 14601 ]
            Affects Version/s N/A [ 14700 ]
            elenst Elena Stepanova made changes -
            Description {noformat:title=bb-10.2-marko 5897e4d2c224}
            mysqld: /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
            180917 16:26:48 [ERROR] mysqld got signal 6 ;

            #7 0x00007f847a626ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
            #8 0x0000563ab2bb1967 in row_purge_remove_clust_if_poss_low (node=0x563ab537fef0, mode=2) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:139
            #9 0x0000563ab2bb1ccd in row_purge_remove_clust_if_poss (node=0x563ab537fef0) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:216
            #10 0x0000563ab2bb33cf in row_purge_del_mark (node=0x563ab537fef0) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:799
            #11 0x0000563ab2bb3f56 in row_purge_record_func (node=0x563ab537fef0, undo_rec=0x7f843800af98 "\016G\016", thr=0x563ab537fe38, updated_extern=false) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1093
            #12 0x0000563ab2bb41cd in row_purge (node=0x563ab537fef0, undo_rec=0x7f843800af98 "\016G\016", thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1154
            #13 0x0000563ab2bb450c in row_purge_step (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1240
            #14 0x0000563ab2b45af7 in que_thr_step (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1049
            #15 0x0000563ab2b45cf5 in que_run_threads_low (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1111
            #16 0x0000563ab2b45e9e in que_run_threads (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1151
            #17 0x0000563ab2c00371 in srv_task_execute () at /data/src/bb-10.2-marko/storage/innobase/srv/srv0srv.cc:2535
            #18 0x0000563ab2c004bf in srv_worker_thread (arg=0x0) at /data/src/bb-10.2-marko/storage/innobase/srv/srv0srv.cc:2582
            #19 0x00007f847c2fd494 in start_thread (arg=0x7f8437fff700) at pthread_create.c:333
            #20 0x00007f847a6e393f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            {noformat:title=elenst-mdev14046 1348571d03a3}
            perl ./runall-new.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --gendata=conf/mariadb/innodb_upgrade.zz --gendata-advanced --vcols --mysqld=--server-id=111 --scenario=CrashUpgrade --duration=90 --basedir=/data/src/bb-10.2-marko --mysqld=--file-key-management --mysqld=--file-key-management-filename=/data/bld/keys.txt --mysqld=--plugin-load-add=file_key_management.so --mysqld=--innodb-encrypt-tables --mysqld=--innodb-encrypt-log --mysqld=--innodb-encryption-threads=4 --mysqld=--aria-encrypt-tables=1 --mysqld=--encrypt-tmp-disk-tables=1 --mysqld=--encrypt-binlog --mysqld=--innodb-page-size=32K --mysqld=--innodb-compression-algorithm=none --mysqld=--loose-innodb-file-format=Barracuda --mysqld=--loose-innodb-file-per-table=1 --gendata=conf/mariadb/innodb_upgrade.zz --no-mask --seed=1537184878 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10 --mysqld=--loose-innodb_log_compressed_pages=on --mtr-build-thread=300 --vardir1=/dev/shm/vardir4
            {noformat}

            _Note: Reproducible on the above-mentioned revision on bb-10.2-marko tree -- not every time, but fairly well, maybe 50% of the runs. Couldn't reproduce so far on the vanilla 10.2 c3124174c3e. However, according to [~marko], the bug itself is unrelated to his changes and related to MDEV-15855, hence the separate JIRA item._
            {noformat:title=bb-10.2-marko 5897e4d2c224}
            mysqld: /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
            180917 16:26:48 [ERROR] mysqld got signal 6 ;

            #7 0x00007f847a626ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
            #8 0x0000563ab2bb1967 in row_purge_remove_clust_if_poss_low (node=0x563ab537fef0, mode=2) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:139
            #9 0x0000563ab2bb1ccd in row_purge_remove_clust_if_poss (node=0x563ab537fef0) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:216
            #10 0x0000563ab2bb33cf in row_purge_del_mark (node=0x563ab537fef0) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:799
            #11 0x0000563ab2bb3f56 in row_purge_record_func (node=0x563ab537fef0, undo_rec=0x7f843800af98 "\016G\016", thr=0x563ab537fe38, updated_extern=false) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1093
            #12 0x0000563ab2bb41cd in row_purge (node=0x563ab537fef0, undo_rec=0x7f843800af98 "\016G\016", thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1154
            #13 0x0000563ab2bb450c in row_purge_step (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1240
            #14 0x0000563ab2b45af7 in que_thr_step (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1049
            #15 0x0000563ab2b45cf5 in que_run_threads_low (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1111
            #16 0x0000563ab2b45e9e in que_run_threads (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1151
            #17 0x0000563ab2c00371 in srv_task_execute () at /data/src/bb-10.2-marko/storage/innobase/srv/srv0srv.cc:2535
            #18 0x0000563ab2c004bf in srv_worker_thread (arg=0x0) at /data/src/bb-10.2-marko/storage/innobase/srv/srv0srv.cc:2582
            #19 0x00007f847c2fd494 in start_thread (arg=0x7f8437fff700) at pthread_create.c:333
            #20 0x00007f847a6e393f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            {noformat:title=elenst-mdev14046 1348571d03a3}
            perl ./runall-new.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --gendata=conf/mariadb/innodb_upgrade.zz --gendata-advanced --vcols --mysqld=--server-id=111 --scenario=CrashUpgrade --duration=90 --basedir=/data/src/bb-10.2-marko --mysqld=--file-key-management --mysqld=--file-key-management-filename=/data/bld/keys.txt --mysqld=--plugin-load-add=file_key_management.so --mysqld=--innodb-encrypt-tables --mysqld=--innodb-encrypt-log --mysqld=--innodb-encryption-threads=4 --mysqld=--aria-encrypt-tables=1 --mysqld=--encrypt-tmp-disk-tables=1 --mysqld=--encrypt-binlog --mysqld=--innodb-page-size=32K --mysqld=--innodb-compression-algorithm=none --mysqld=--loose-innodb-file-format=Barracuda --mysqld=--loose-innodb-file-per-table=1 --gendata=conf/mariadb/innodb_upgrade.zz --no-mask --seed=1537184878 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10 --mysqld=--loose-innodb_log_compressed_pages=on --mtr-build-thread=300 --vardir1=/dev/shm/vardir4
            {noformat}

            _Note: Reproducible on the above-mentioned revision on bb-10.2-marko tree -- not every time, but fairly well, maybe 50% of the runs. Couldn't so far reproduce locally on the vanilla 10.2 c3124174c3e, however it did happen in auto tests on 10.2.
            elenst Elena Stepanova made changes -
            Description {noformat:title=bb-10.2-marko 5897e4d2c224}
            mysqld: /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
            180917 16:26:48 [ERROR] mysqld got signal 6 ;

            #7 0x00007f847a626ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
            #8 0x0000563ab2bb1967 in row_purge_remove_clust_if_poss_low (node=0x563ab537fef0, mode=2) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:139
            #9 0x0000563ab2bb1ccd in row_purge_remove_clust_if_poss (node=0x563ab537fef0) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:216
            #10 0x0000563ab2bb33cf in row_purge_del_mark (node=0x563ab537fef0) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:799
            #11 0x0000563ab2bb3f56 in row_purge_record_func (node=0x563ab537fef0, undo_rec=0x7f843800af98 "\016G\016", thr=0x563ab537fe38, updated_extern=false) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1093
            #12 0x0000563ab2bb41cd in row_purge (node=0x563ab537fef0, undo_rec=0x7f843800af98 "\016G\016", thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1154
            #13 0x0000563ab2bb450c in row_purge_step (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1240
            #14 0x0000563ab2b45af7 in que_thr_step (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1049
            #15 0x0000563ab2b45cf5 in que_run_threads_low (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1111
            #16 0x0000563ab2b45e9e in que_run_threads (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1151
            #17 0x0000563ab2c00371 in srv_task_execute () at /data/src/bb-10.2-marko/storage/innobase/srv/srv0srv.cc:2535
            #18 0x0000563ab2c004bf in srv_worker_thread (arg=0x0) at /data/src/bb-10.2-marko/storage/innobase/srv/srv0srv.cc:2582
            #19 0x00007f847c2fd494 in start_thread (arg=0x7f8437fff700) at pthread_create.c:333
            #20 0x00007f847a6e393f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            {noformat:title=elenst-mdev14046 1348571d03a3}
            perl ./runall-new.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --gendata=conf/mariadb/innodb_upgrade.zz --gendata-advanced --vcols --mysqld=--server-id=111 --scenario=CrashUpgrade --duration=90 --basedir=/data/src/bb-10.2-marko --mysqld=--file-key-management --mysqld=--file-key-management-filename=/data/bld/keys.txt --mysqld=--plugin-load-add=file_key_management.so --mysqld=--innodb-encrypt-tables --mysqld=--innodb-encrypt-log --mysqld=--innodb-encryption-threads=4 --mysqld=--aria-encrypt-tables=1 --mysqld=--encrypt-tmp-disk-tables=1 --mysqld=--encrypt-binlog --mysqld=--innodb-page-size=32K --mysqld=--innodb-compression-algorithm=none --mysqld=--loose-innodb-file-format=Barracuda --mysqld=--loose-innodb-file-per-table=1 --gendata=conf/mariadb/innodb_upgrade.zz --no-mask --seed=1537184878 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10 --mysqld=--loose-innodb_log_compressed_pages=on --mtr-build-thread=300 --vardir1=/dev/shm/vardir4
            {noformat}

            _Note: Reproducible on the above-mentioned revision on bb-10.2-marko tree -- not every time, but fairly well, maybe 50% of the runs. Couldn't so far reproduce locally on the vanilla 10.2 c3124174c3e, however it did happen in auto tests on 10.2.
            {noformat:title=bb-10.2-marko 5897e4d2c224}
            mysqld: /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
            180917 16:26:48 [ERROR] mysqld got signal 6 ;

            #7 0x00007f847a626ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
            #8 0x0000563ab2bb1967 in row_purge_remove_clust_if_poss_low (node=0x563ab537fef0, mode=2) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:139
            #9 0x0000563ab2bb1ccd in row_purge_remove_clust_if_poss (node=0x563ab537fef0) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:216
            #10 0x0000563ab2bb33cf in row_purge_del_mark (node=0x563ab537fef0) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:799
            #11 0x0000563ab2bb3f56 in row_purge_record_func (node=0x563ab537fef0, undo_rec=0x7f843800af98 "\016G\016", thr=0x563ab537fe38, updated_extern=false) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1093
            #12 0x0000563ab2bb41cd in row_purge (node=0x563ab537fef0, undo_rec=0x7f843800af98 "\016G\016", thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1154
            #13 0x0000563ab2bb450c in row_purge_step (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1240
            #14 0x0000563ab2b45af7 in que_thr_step (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1049
            #15 0x0000563ab2b45cf5 in que_run_threads_low (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1111
            #16 0x0000563ab2b45e9e in que_run_threads (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1151
            #17 0x0000563ab2c00371 in srv_task_execute () at /data/src/bb-10.2-marko/storage/innobase/srv/srv0srv.cc:2535
            #18 0x0000563ab2c004bf in srv_worker_thread (arg=0x0) at /data/src/bb-10.2-marko/storage/innobase/srv/srv0srv.cc:2582
            #19 0x00007f847c2fd494 in start_thread (arg=0x7f8437fff700) at pthread_create.c:333
            #20 0x00007f847a6e393f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            {noformat:title=elenst-mdev14046 1348571d03a3}
            perl ./runall-new.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --gendata=conf/mariadb/innodb_upgrade.zz --gendata-advanced --vcols --mysqld=--server-id=111 --scenario=CrashUpgrade --duration=90 --basedir=/data/src/bb-10.2-marko --mysqld=--file-key-management --mysqld=--file-key-management-filename=/data/bld/keys.txt --mysqld=--plugin-load-add=file_key_management.so --mysqld=--innodb-encrypt-tables --mysqld=--innodb-encrypt-log --mysqld=--innodb-encryption-threads=4 --mysqld=--aria-encrypt-tables=1 --mysqld=--encrypt-tmp-disk-tables=1 --mysqld=--encrypt-binlog --mysqld=--innodb-page-size=32K --mysqld=--innodb-compression-algorithm=none --mysqld=--loose-innodb-file-format=Barracuda --mysqld=--loose-innodb-file-per-table=1 --gendata=conf/mariadb/innodb_upgrade.zz --no-mask --seed=1537184878 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10 --mysqld=--loose-innodb_log_compressed_pages=on --mtr-build-thread=300 --vardir1=/dev/shm/vardir4
            {noformat}

            _Note: Reproducible on the above-mentioned revision on bb-10.2-marko tree -- not every time, but fairly well, maybe 50% of the runs. Couldn't so far reproduce locally on the vanilla 10.2 c3124174c3e, however it did happen in auto tests on 10.2._
            elenst Elena Stepanova made changes -
            Attachment threads [ 46511 ]
            Attachment logs-mdev17215.tar.gz [ 46512 ]
            Attachment ib_logfiles-mdev17215.tar.gz [ 46513 ]
            Attachment data-mdev17215.tar.gz [ 46514 ]
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.3 [ 22126 ]
            Affects Version/s 10.3 [ 22126 ]
            Description {noformat:title=bb-10.2-marko 5897e4d2c224}
            mysqld: /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
            180917 16:26:48 [ERROR] mysqld got signal 6 ;

            #7 0x00007f847a626ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
            #8 0x0000563ab2bb1967 in row_purge_remove_clust_if_poss_low (node=0x563ab537fef0, mode=2) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:139
            #9 0x0000563ab2bb1ccd in row_purge_remove_clust_if_poss (node=0x563ab537fef0) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:216
            #10 0x0000563ab2bb33cf in row_purge_del_mark (node=0x563ab537fef0) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:799
            #11 0x0000563ab2bb3f56 in row_purge_record_func (node=0x563ab537fef0, undo_rec=0x7f843800af98 "\016G\016", thr=0x563ab537fe38, updated_extern=false) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1093
            #12 0x0000563ab2bb41cd in row_purge (node=0x563ab537fef0, undo_rec=0x7f843800af98 "\016G\016", thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1154
            #13 0x0000563ab2bb450c in row_purge_step (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/row/row0purge.cc:1240
            #14 0x0000563ab2b45af7 in que_thr_step (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1049
            #15 0x0000563ab2b45cf5 in que_run_threads_low (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1111
            #16 0x0000563ab2b45e9e in que_run_threads (thr=0x563ab537fe38) at /data/src/bb-10.2-marko/storage/innobase/que/que0que.cc:1151
            #17 0x0000563ab2c00371 in srv_task_execute () at /data/src/bb-10.2-marko/storage/innobase/srv/srv0srv.cc:2535
            #18 0x0000563ab2c004bf in srv_worker_thread (arg=0x0) at /data/src/bb-10.2-marko/storage/innobase/srv/srv0srv.cc:2582
            #19 0x00007f847c2fd494 in start_thread (arg=0x7f8437fff700) at pthread_create.c:333
            #20 0x00007f847a6e393f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            {noformat:title=elenst-mdev14046 1348571d03a3}
            perl ./runall-new.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --gendata=conf/mariadb/innodb_upgrade.zz --gendata-advanced --vcols --mysqld=--server-id=111 --scenario=CrashUpgrade --duration=90 --basedir=/data/src/bb-10.2-marko --mysqld=--file-key-management --mysqld=--file-key-management-filename=/data/bld/keys.txt --mysqld=--plugin-load-add=file_key_management.so --mysqld=--innodb-encrypt-tables --mysqld=--innodb-encrypt-log --mysqld=--innodb-encryption-threads=4 --mysqld=--aria-encrypt-tables=1 --mysqld=--encrypt-tmp-disk-tables=1 --mysqld=--encrypt-binlog --mysqld=--innodb-page-size=32K --mysqld=--innodb-compression-algorithm=none --mysqld=--loose-innodb-file-format=Barracuda --mysqld=--loose-innodb-file-per-table=1 --gendata=conf/mariadb/innodb_upgrade.zz --no-mask --seed=1537184878 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10 --mysqld=--loose-innodb_log_compressed_pages=on --mtr-build-thread=300 --vardir1=/dev/shm/vardir4
            {noformat}

            _Note: Reproducible on the above-mentioned revision on bb-10.2-marko tree -- not every time, but fairly well, maybe 50% of the runs. Couldn't so far reproduce locally on the vanilla 10.2 c3124174c3e, however it did happen in auto tests on 10.2._
            {noformat:title=10.2 654b587999456}
            mysqld: /data/src/10.2/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
            180921 18:18:09 [ERROR] mysqld got signal 6 ;

            #7 0x00007f79cc0a0ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
            #8 0x0000563b59eb0067 in row_purge_remove_clust_if_poss_low (node=0x563b5d747f00, mode=2) at /data/src/10.2/storage/innobase/row/row0purge.cc:139
            #9 0x0000563b59eb03cd in row_purge_remove_clust_if_poss (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:216
            #10 0x0000563b59eb1acf in row_purge_del_mark (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:799
            #11 0x0000563b59eb2656 in row_purge_record_func (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48, updated_extern=false) at /data/src/10.2/storage/innobase/row/row0purge.cc:1093
            #12 0x0000563b59eb28cd in row_purge (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1154
            #13 0x0000563b59eb2c0c in row_purge_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1240
            #14 0x0000563b59e441f7 in que_thr_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1049
            #15 0x0000563b59e443f5 in que_run_threads_low (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1111
            #16 0x0000563b59e4459e in que_run_threads (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1151
            #17 0x0000563b59efea71 in srv_task_execute () at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2535
            #18 0x0000563b59efebbf in srv_worker_thread (arg=0x0) at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2582
            #19 0x00007f79cdd77494 in start_thread (arg=0x7f79897fa700) at pthread_create.c:333
            #20 0x00007f79cc15d93f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            To reproduce:
            - download the attached files [^data-mdev17215.tar.gz] and [ib_logfiles-mdev17215.tar.gz];
            - remove a directory named {{data}} if exists in the current folder;
            - untar data-mdev17215.tar.gz, it will create {{data}} folder with some contents in it;
            - untar ib_logfiles-mdev17215.tar.gz, it will put ib_logfiles into the datadir created on the previous step (they are packed separately to fit into 10M attachment limitation in JIRA);
            - start 10.2 server on the created datadir {{data}.

            The server starts all right, but in a few seconds it aborts with the assertion above.

            The attached datadir was created on the same version/build of MariaDB server, by creating tables with virtual columns, performing some DML on them and at some point killing the server with SIGKILL. The datadir was stored after that, before any attempt to restart the server. Full general log and error log from the beginning up to SIGKILL can be found in logs-mdev17215.tar.gz.

            All threads' stack trace is also attached.

            -----

            In case we need to re-create the whole scenario:
            {noformat:title=github.com/MariaDB/randgen --branch elenst-mdev14046 1348571d03a}
            perl ./runall-trials.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --skip-gendata --gendata-advanced --vcols --scenario=CrashUpgrade --duration=90 --basedir=/data/bld/10.3 --no-mask --seed=1537184920 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10 --vardir1=/dev/shm/vardir --trials=5
            {noformat}
            Environment bb-10.2-marko 5897e4d2c224
            Summary [Draft] Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed in row0purge.cc:140: bool row_purge_remove_clust_if_poss_low Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed in row0purge.cc:140: bool row_purge_remove_clust_if_poss_low after crash recovery with virtual columns
            elenst Elena Stepanova made changes -
            Description {noformat:title=10.2 654b587999456}
            mysqld: /data/src/10.2/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
            180921 18:18:09 [ERROR] mysqld got signal 6 ;

            #7 0x00007f79cc0a0ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
            #8 0x0000563b59eb0067 in row_purge_remove_clust_if_poss_low (node=0x563b5d747f00, mode=2) at /data/src/10.2/storage/innobase/row/row0purge.cc:139
            #9 0x0000563b59eb03cd in row_purge_remove_clust_if_poss (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:216
            #10 0x0000563b59eb1acf in row_purge_del_mark (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:799
            #11 0x0000563b59eb2656 in row_purge_record_func (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48, updated_extern=false) at /data/src/10.2/storage/innobase/row/row0purge.cc:1093
            #12 0x0000563b59eb28cd in row_purge (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1154
            #13 0x0000563b59eb2c0c in row_purge_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1240
            #14 0x0000563b59e441f7 in que_thr_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1049
            #15 0x0000563b59e443f5 in que_run_threads_low (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1111
            #16 0x0000563b59e4459e in que_run_threads (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1151
            #17 0x0000563b59efea71 in srv_task_execute () at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2535
            #18 0x0000563b59efebbf in srv_worker_thread (arg=0x0) at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2582
            #19 0x00007f79cdd77494 in start_thread (arg=0x7f79897fa700) at pthread_create.c:333
            #20 0x00007f79cc15d93f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            To reproduce:
            - download the attached files [^data-mdev17215.tar.gz] and [ib_logfiles-mdev17215.tar.gz];
            - remove a directory named {{data}} if exists in the current folder;
            - untar data-mdev17215.tar.gz, it will create {{data}} folder with some contents in it;
            - untar ib_logfiles-mdev17215.tar.gz, it will put ib_logfiles into the datadir created on the previous step (they are packed separately to fit into 10M attachment limitation in JIRA);
            - start 10.2 server on the created datadir {{data}.

            The server starts all right, but in a few seconds it aborts with the assertion above.

            The attached datadir was created on the same version/build of MariaDB server, by creating tables with virtual columns, performing some DML on them and at some point killing the server with SIGKILL. The datadir was stored after that, before any attempt to restart the server. Full general log and error log from the beginning up to SIGKILL can be found in logs-mdev17215.tar.gz.

            All threads' stack trace is also attached.

            -----

            In case we need to re-create the whole scenario:
            {noformat:title=github.com/MariaDB/randgen --branch elenst-mdev14046 1348571d03a}
            perl ./runall-trials.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --skip-gendata --gendata-advanced --vcols --scenario=CrashUpgrade --duration=90 --basedir=/data/bld/10.3 --no-mask --seed=1537184920 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10 --vardir1=/dev/shm/vardir --trials=5
            {noformat}
            {noformat:title=10.2 654b587999456}
            mysqld: /data/src/10.2/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
            180921 18:18:09 [ERROR] mysqld got signal 6 ;

            #7 0x00007f79cc0a0ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
            #8 0x0000563b59eb0067 in row_purge_remove_clust_if_poss_low (node=0x563b5d747f00, mode=2) at /data/src/10.2/storage/innobase/row/row0purge.cc:139
            #9 0x0000563b59eb03cd in row_purge_remove_clust_if_poss (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:216
            #10 0x0000563b59eb1acf in row_purge_del_mark (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:799
            #11 0x0000563b59eb2656 in row_purge_record_func (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48, updated_extern=false) at /data/src/10.2/storage/innobase/row/row0purge.cc:1093
            #12 0x0000563b59eb28cd in row_purge (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1154
            #13 0x0000563b59eb2c0c in row_purge_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1240
            #14 0x0000563b59e441f7 in que_thr_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1049
            #15 0x0000563b59e443f5 in que_run_threads_low (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1111
            #16 0x0000563b59e4459e in que_run_threads (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1151
            #17 0x0000563b59efea71 in srv_task_execute () at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2535
            #18 0x0000563b59efebbf in srv_worker_thread (arg=0x0) at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2582
            #19 0x00007f79cdd77494 in start_thread (arg=0x7f79897fa700) at pthread_create.c:333
            #20 0x00007f79cc15d93f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            To reproduce:
            - download the attached files [^data-mdev17215.tar.gz] and [^ib_logfiles-mdev17215.tar.gz];
            - remove a directory named {{data}} if exists in the current folder;
            - untar data-mdev17215.tar.gz, it will create {{data}} folder with some contents in it;
            - untar ib_logfiles-mdev17215.tar.gz, it will put ib_logfiles into the datadir created on the previous step (they are packed separately to fit into 10M attachment limitation in JIRA);
            - start 10.2 server on the created datadir {{data}.

            The server starts all right, but in a few seconds it aborts with the assertion above.

            The attached datadir was created on the same version/build of MariaDB server, by creating tables with virtual columns, performing some DML on them and at some point killing the server with SIGKILL. The datadir was stored after that, before any attempt to restart the server. Full general log and error log from the beginning up to SIGKILL can be found in logs-mdev17215.tar.gz.

            All threads' stack trace is also attached.

            -----

            In case we need to re-create the whole scenario:
            {noformat:title=github.com/MariaDB/randgen --branch elenst-mdev14046 1348571d03a}
            perl ./runall-trials.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --skip-gendata --gendata-advanced --vcols --scenario=CrashUpgrade --duration=90 --basedir=/data/bld/10.3 --no-mask --seed=1537184920 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10 --vardir1=/dev/shm/vardir --trials=5
            {noformat}
            elenst Elena Stepanova made changes -
            Description {noformat:title=10.2 654b587999456}
            mysqld: /data/src/10.2/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
            180921 18:18:09 [ERROR] mysqld got signal 6 ;

            #7 0x00007f79cc0a0ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
            #8 0x0000563b59eb0067 in row_purge_remove_clust_if_poss_low (node=0x563b5d747f00, mode=2) at /data/src/10.2/storage/innobase/row/row0purge.cc:139
            #9 0x0000563b59eb03cd in row_purge_remove_clust_if_poss (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:216
            #10 0x0000563b59eb1acf in row_purge_del_mark (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:799
            #11 0x0000563b59eb2656 in row_purge_record_func (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48, updated_extern=false) at /data/src/10.2/storage/innobase/row/row0purge.cc:1093
            #12 0x0000563b59eb28cd in row_purge (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1154
            #13 0x0000563b59eb2c0c in row_purge_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1240
            #14 0x0000563b59e441f7 in que_thr_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1049
            #15 0x0000563b59e443f5 in que_run_threads_low (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1111
            #16 0x0000563b59e4459e in que_run_threads (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1151
            #17 0x0000563b59efea71 in srv_task_execute () at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2535
            #18 0x0000563b59efebbf in srv_worker_thread (arg=0x0) at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2582
            #19 0x00007f79cdd77494 in start_thread (arg=0x7f79897fa700) at pthread_create.c:333
            #20 0x00007f79cc15d93f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            To reproduce:
            - download the attached files [^data-mdev17215.tar.gz] and [^ib_logfiles-mdev17215.tar.gz];
            - remove a directory named {{data}} if exists in the current folder;
            - untar data-mdev17215.tar.gz, it will create {{data}} folder with some contents in it;
            - untar ib_logfiles-mdev17215.tar.gz, it will put ib_logfiles into the datadir created on the previous step (they are packed separately to fit into 10M attachment limitation in JIRA);
            - start 10.2 server on the created datadir {{data}.

            The server starts all right, but in a few seconds it aborts with the assertion above.

            The attached datadir was created on the same version/build of MariaDB server, by creating tables with virtual columns, performing some DML on them and at some point killing the server with SIGKILL. The datadir was stored after that, before any attempt to restart the server. Full general log and error log from the beginning up to SIGKILL can be found in logs-mdev17215.tar.gz.

            All threads' stack trace is also attached.

            -----

            In case we need to re-create the whole scenario:
            {noformat:title=github.com/MariaDB/randgen --branch elenst-mdev14046 1348571d03a}
            perl ./runall-trials.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --skip-gendata --gendata-advanced --vcols --scenario=CrashUpgrade --duration=90 --basedir=/data/bld/10.3 --no-mask --seed=1537184920 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10 --vardir1=/dev/shm/vardir --trials=5
            {noformat}
            {noformat:title=10.2 654b587999456}
            mysqld: /data/src/10.2/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
            180921 18:18:09 [ERROR] mysqld got signal 6 ;

            #7 0x00007f79cc0a0ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
            #8 0x0000563b59eb0067 in row_purge_remove_clust_if_poss_low (node=0x563b5d747f00, mode=2) at /data/src/10.2/storage/innobase/row/row0purge.cc:139
            #9 0x0000563b59eb03cd in row_purge_remove_clust_if_poss (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:216
            #10 0x0000563b59eb1acf in row_purge_del_mark (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:799
            #11 0x0000563b59eb2656 in row_purge_record_func (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48, updated_extern=false) at /data/src/10.2/storage/innobase/row/row0purge.cc:1093
            #12 0x0000563b59eb28cd in row_purge (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1154
            #13 0x0000563b59eb2c0c in row_purge_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1240
            #14 0x0000563b59e441f7 in que_thr_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1049
            #15 0x0000563b59e443f5 in que_run_threads_low (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1111
            #16 0x0000563b59e4459e in que_run_threads (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1151
            #17 0x0000563b59efea71 in srv_task_execute () at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2535
            #18 0x0000563b59efebbf in srv_worker_thread (arg=0x0) at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2582
            #19 0x00007f79cdd77494 in start_thread (arg=0x7f79897fa700) at pthread_create.c:333
            #20 0x00007f79cc15d93f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            To reproduce:
            - download the attached files [^data-mdev17215.tar.gz] and [^ib_logfiles-mdev17215.tar.gz];
            - remove a directory named {{data}} if exists in the current folder;
            - untar data-mdev17215.tar.gz, it will create {{data}} folder with some contents in it;
            - untar ib_logfiles-mdev17215.tar.gz, it will put ib_logfiles into the datadir created on the previous step (they are packed separately to fit into 10M attachment limitation in JIRA);
            - start 10.2 server on the created datadir {{data}}.

            The server starts all right, but in a few seconds it aborts with the assertion above.

            The attached datadir was created on the same version/build of MariaDB server, by creating tables with virtual columns, performing some DML on them and at some point killing the server with SIGKILL. The datadir was stored after that, before any attempt to restart the server. Full general log and error log from the beginning up to SIGKILL can be found in logs-mdev17215.tar.gz.

            All threads' stack trace is also attached.

            -----

            In case we need to re-create the whole scenario:
            {noformat:title=github.com/MariaDB/randgen --branch elenst-mdev14046 1348571d03a}
            perl ./runall-trials.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --skip-gendata --gendata-advanced --vcols --scenario=CrashUpgrade --duration=90 --basedir=/data/bld/10.3 --no-mask --seed=1537184920 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10 --vardir1=/dev/shm/vardir --trials=5
            {noformat}
            elenst Elena Stepanova made changes -
            Description {noformat:title=10.2 654b587999456}
            mysqld: /data/src/10.2/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
            180921 18:18:09 [ERROR] mysqld got signal 6 ;

            #7 0x00007f79cc0a0ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
            #8 0x0000563b59eb0067 in row_purge_remove_clust_if_poss_low (node=0x563b5d747f00, mode=2) at /data/src/10.2/storage/innobase/row/row0purge.cc:139
            #9 0x0000563b59eb03cd in row_purge_remove_clust_if_poss (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:216
            #10 0x0000563b59eb1acf in row_purge_del_mark (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:799
            #11 0x0000563b59eb2656 in row_purge_record_func (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48, updated_extern=false) at /data/src/10.2/storage/innobase/row/row0purge.cc:1093
            #12 0x0000563b59eb28cd in row_purge (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1154
            #13 0x0000563b59eb2c0c in row_purge_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1240
            #14 0x0000563b59e441f7 in que_thr_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1049
            #15 0x0000563b59e443f5 in que_run_threads_low (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1111
            #16 0x0000563b59e4459e in que_run_threads (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1151
            #17 0x0000563b59efea71 in srv_task_execute () at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2535
            #18 0x0000563b59efebbf in srv_worker_thread (arg=0x0) at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2582
            #19 0x00007f79cdd77494 in start_thread (arg=0x7f79897fa700) at pthread_create.c:333
            #20 0x00007f79cc15d93f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            To reproduce:
            - download the attached files [^data-mdev17215.tar.gz] and [^ib_logfiles-mdev17215.tar.gz];
            - remove a directory named {{data}} if exists in the current folder;
            - untar data-mdev17215.tar.gz, it will create {{data}} folder with some contents in it;
            - untar ib_logfiles-mdev17215.tar.gz, it will put ib_logfiles into the datadir created on the previous step (they are packed separately to fit into 10M attachment limitation in JIRA);
            - start 10.2 server on the created datadir {{data}}.

            The server starts all right, but in a few seconds it aborts with the assertion above.

            The attached datadir was created on the same version/build of MariaDB server, by creating tables with virtual columns, performing some DML on them and at some point killing the server with SIGKILL. The datadir was stored after that, before any attempt to restart the server. Full general log and error log from the beginning up to SIGKILL can be found in logs-mdev17215.tar.gz.

            All threads' stack trace is also attached.

            -----

            In case we need to re-create the whole scenario:
            {noformat:title=github.com/MariaDB/randgen --branch elenst-mdev14046 1348571d03a}
            perl ./runall-trials.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --skip-gendata --gendata-advanced --vcols --scenario=CrashUpgrade --duration=90 --basedir=/data/bld/10.3 --no-mask --seed=1537184920 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10 --vardir1=/dev/shm/vardir --trials=5
            {noformat}
            {noformat:title=10.2 654b587999456}
            mysqld: /data/src/10.2/storage/innobase/row/row0purge.cc:140: bool row_purge_remove_clust_if_poss_low(purge_node_t*, ulint): Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed.
            180921 18:18:09 [ERROR] mysqld got signal 6 ;

            #7 0x00007f79cc0a0ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
            #8 0x0000563b59eb0067 in row_purge_remove_clust_if_poss_low (node=0x563b5d747f00, mode=2) at /data/src/10.2/storage/innobase/row/row0purge.cc:139
            #9 0x0000563b59eb03cd in row_purge_remove_clust_if_poss (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:216
            #10 0x0000563b59eb1acf in row_purge_del_mark (node=0x563b5d747f00) at /data/src/10.2/storage/innobase/row/row0purge.cc:799
            #11 0x0000563b59eb2656 in row_purge_record_func (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48, updated_extern=false) at /data/src/10.2/storage/innobase/row/row0purge.cc:1093
            #12 0x0000563b59eb28cd in row_purge (node=0x563b5d747f00, undo_rec=0x563b5d7483d8 "\016}\016", thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1154
            #13 0x0000563b59eb2c0c in row_purge_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/row/row0purge.cc:1240
            #14 0x0000563b59e441f7 in que_thr_step (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1049
            #15 0x0000563b59e443f5 in que_run_threads_low (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1111
            #16 0x0000563b59e4459e in que_run_threads (thr=0x563b5d747e48) at /data/src/10.2/storage/innobase/que/que0que.cc:1151
            #17 0x0000563b59efea71 in srv_task_execute () at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2535
            #18 0x0000563b59efebbf in srv_worker_thread (arg=0x0) at /data/src/10.2/storage/innobase/srv/srv0srv.cc:2582
            #19 0x00007f79cdd77494 in start_thread (arg=0x7f79897fa700) at pthread_create.c:333
            #20 0x00007f79cc15d93f in clone () from /lib/x86_64-linux-gnu/libc.so.6
            {noformat}

            To reproduce:
            - download the attached files [^data-mdev17215.tar.gz] and [^ib_logfiles-mdev17215.tar.gz];
            - remove a directory named {{data}} if exists in the current folder;
            - untar data-mdev17215.tar.gz, it will create {{data}} folder with some contents in it;
            - untar ib_logfiles-mdev17215.tar.gz, it will put ib_logfiles into the datadir created on the previous step (they are packed separately to fit into 10M attachment limitation in JIRA);
            - start 10.2 server on the created datadir {{data}}. All default options will do.

            The server starts all right, but in a few seconds it aborts with the assertion above.

            The attached datadir was created on the same version/build of MariaDB server, by creating tables with virtual columns, performing some DML on them and at some point killing the server with SIGKILL. The datadir was stored after that, before any attempt to restart the server. Full general log and error log from the beginning up to SIGKILL can be found in logs-mdev17215.tar.gz.

            All threads' stack trace is also attached.

            -----

            In case we need to re-create the whole scenario:
            {noformat:title=github.com/MariaDB/randgen --branch elenst-mdev14046 1348571d03a}
            perl ./runall-trials.pl --grammar=conf/mariadb/oltp-transactional.yy --grammar2=conf/mariadb/oltp_and_ddl.yy --skip-gendata --gendata-advanced --vcols --scenario=CrashUpgrade --duration=90 --basedir=/data/bld/10.3 --no-mask --seed=1537184920 --threads=4 --queries=100M --mysqld=--loose-max-statement-time=20 --mysqld=--loose-lock-wait-timeout=20 --mysqld=--loose-innodb-lock-wait-timeout=10 --vardir1=/dev/shm/vardir --trials=5
            {noformat}
            elenst Elena Stepanova made changes -
            Assignee Elena Stepanova [ elenst ] Marko Mäkelä [ marko ]
            elenst Elena Stepanova made changes -
            Labels affects-tests
            elenst Elena Stepanova made changes -
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Thirunarayanan Balathandayuthapani [ thiru ]
            thiru Thirunarayanan Balathandayuthapani made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            thiru Thirunarayanan Balathandayuthapani made changes -
            Assignee Thirunarayanan Balathandayuthapani [ thiru ] Marko Mäkelä [ marko ]
            Status In Progress [ 3 ] In Review [ 10002 ]

            Looks OK to me. I only had some minor suggestions.

            marko Marko Mäkelä added a comment - Looks OK to me. I only had some minor suggestions .
            marko Marko Mäkelä made changes -
            Assignee Marko Mäkelä [ marko ] Thirunarayanan Balathandayuthapani [ thiru ]
            Status In Review [ 10002 ] Stalled [ 10000 ]
            thiru Thirunarayanan Balathandayuthapani made changes -
            Fix Version/s 10.3.10 [ 23140 ]
            Fix Version/s 10.2.19 [ 23207 ]
            Fix Version/s 10.2 [ 14601 ]
            Fix Version/s 10.3 [ 22126 ]
            Resolution Fixed [ 1 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            marko Marko Mäkelä made changes -
            Fix Version/s 10.3.11 [ 23141 ]
            Fix Version/s 10.3.10 [ 23140 ]
            serg Sergei Golubchik made changes -
            Workflow MariaDB v3 [ 89630 ] MariaDB v4 [ 154942 ]

            People

              thiru Thirunarayanan Balathandayuthapani
              elenst Elena Stepanova
              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.