Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.2(EOL), 10.3(EOL)
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
Issue Links
- relates to
-
MDEV-17218 Assertion `rw_lock_own(dict_operation_lock, RW_LOCK_S) || node->vcol_info.is_used()' failed in row0purge.cc:885: void row_purge_upd_exist_or_extern_func after crash recovery with virtual columns
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Affects Version/s | 10.2 [ 14601 ] | |
Affects Version/s | N/A [ 14700 ] |
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 |
{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. |
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._ |
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 |
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} |
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} |
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} |
Assignee | Elena Stepanova [ elenst ] | Marko Mäkelä [ marko ] |
Labels | affects-tests |
Link |
This issue relates to |
Assignee | Marko Mäkelä [ marko ] | Thirunarayanan Balathandayuthapani [ thiru ] |
Status | Open [ 1 ] | In Progress [ 3 ] |
Assignee | Thirunarayanan Balathandayuthapani [ thiru ] | Marko Mäkelä [ marko ] |
Status | In Progress [ 3 ] | In Review [ 10002 ] |
Assignee | Marko Mäkelä [ marko ] | Thirunarayanan Balathandayuthapani [ thiru ] |
Status | In Review [ 10002 ] | Stalled [ 10000 ] |
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 ] |
Fix Version/s | 10.3.11 [ 23141 ] | |
Fix Version/s | 10.3.10 [ 23140 ] |
Workflow | MariaDB v3 [ 89630 ] | MariaDB v4 [ 154942 ] |