[MDEV-12388] InnoDB: Failing assertion: rollback in innobase/btr/btr0cur.cc line 7142 upon upgrade Created: 2017-03-28  Updated: 2017-04-04  Resolved: 2017-04-04

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.2
Fix Version/s: 10.2.5

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates MDEV-12289 Keep 128 persistent rollback segments... Closed

 Description   

2017-03-27 04:47:43 0x7f2efc3fb700  InnoDB: Assertion failure in file /home/elenst/git/10.2/storage/innobase/btr/btr0cur.cc line 7142
InnoDB: Failing assertion: rollback

10.2 b56262f69677fd

#6  0x00007f2f297f710f in ut_dbg_assertion_failed (expr=0x7f2f29de6455 "rollback", file=0x7f2f29de3b48 "/home/elenst/git/10.2/storage/innobase/btr/btr0cur.cc", line=7142) at /home/elenst/git/10.2/storage/innobase/ut/ut0dbg.cc:60
#7  0x00007f2f29831ad8 in btr_free_externally_stored_field (index=0x7f2ef8c84d08, field_ref=0x7f2f0aa3b511 "", rec=0x0, offsets=0x0, page_zip=0x0, i=0, rollback=false, local_mtr=0x7f2efc3fa6a0) at /home/elenst/git/10.2/storage/innobase/btr/btr0cur.cc:7142
#8  0x00007f2f297445ab in row_purge_upd_exist_or_extern_func (thr=0x7f2f26069228, node=0x7f2f260692f0, undo_rec=0x7f2ef8c66088 "\th\214") at /home/elenst/git/10.2/storage/innobase/row/row0purge.cc:785
#9  0x00007f2f29744bf7 in row_purge_record_func (node=0x7f2f260692f0, undo_rec=0x7f2ef8c66088 "\th\214", thr=0x7f2f26069228, updated_extern=true) at /home/elenst/git/10.2/storage/innobase/row/row0purge.cc:966
#10 0x00007f2f29744d47 in row_purge (node=0x7f2f260692f0, undo_rec=0x7f2ef8c66088 "\th\214", thr=0x7f2f26069228) at /home/elenst/git/10.2/storage/innobase/row/row0purge.cc:1010
#11 0x00007f2f29745000 in row_purge_step (thr=0x7f2f26069228) at /home/elenst/git/10.2/storage/innobase/row/row0purge.cc:1089
#12 0x00007f2f296d0f56 in que_thr_step (thr=0x7f2f26069228) at /home/elenst/git/10.2/storage/innobase/que/que0que.cc:1052
#13 0x00007f2f296d1151 in que_run_threads_low (thr=0x7f2f26069228) at /home/elenst/git/10.2/storage/innobase/que/que0que.cc:1114
#14 0x00007f2f296d1305 in que_run_threads (thr=0x7f2f26069228) at /home/elenst/git/10.2/storage/innobase/que/que0que.cc:1154
#15 0x00007f2f297c2a9f in trx_purge (n_purge_threads=4, batch_size=300, truncate=false) at /home/elenst/git/10.2/storage/innobase/trx/trx0purge.cc:1743
#16 0x00007f2f29792882 in srv_do_purge (thd=0x7f2ef8c16070, n_threads=4, n_total_purged=0x7f2efc3fae30) at /home/elenst/git/10.2/storage/innobase/srv/srv0srv.cc:2818
#17 0x00007f2f29792e40 in srv_purge_coordinator_thread (arg=0x0) at /home/elenst/git/10.2/storage/innobase/srv/srv0srv.cc:2963
#18 0x00007f2f27491e9a in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#19 0x00007f2f269a8cbd in clone () from /lib/x86_64-linux-gnu/libc.so.6

The test ran 10.1.20 server, executed some DDL/DML on it, shut down it normally, and then tried to start 10.2 on the datadir.

10.1.20 startup options

--log-bin 
--binlog-format=ROW 
--innodb-page-size=4K 
--innodb-compression-algorithm=zlib 
--file-key-management 
--file-key-management-filename=encryption_keys.txt 
--plugin-load-add=file_key_management.so 
--innodb-encrypt-tables 
--innodb-encrypt-log 
--innodb-encryption-threads=4 
--aria-encrypt-tables=1 
--encrypt-tmp-disk-tables=1 
--encrypt-binlog 
--ignore-builtin-innodb 
--plugin-load-add=ha_innodb

10.2 startup options

--log-bin 
--binlog-format=ROW 
--innodb-page-size=4K 
--innodb-compression-algorithm=zlib 
--file-key-management 
--file-key-management-filename=encryption_keys.txt 
--plugin-load-add=file_key_management.so 
--innodb-encrypt-tables 
--innodb-encrypt-log 
--innodb-encryption-threads=4 
--aria-encrypt-tables=1 
--encrypt-tmp-disk-tables=1 
--encrypt-binlog

Datadir, coredump and mysqld binary: ftp://ftp.askmonty.org/public/mdev12388.tar.gz



 Comments   
Comment by Marko Mäkelä [ 2017-04-04 ]

Can you please confirm if this was fixed by MDEV-12289, which retains the old undo log format? Commit b56262f69677fdb158b3d19dd8848e5802b2dd27 is some days older than the commit of MDEV-12289.

Comment by Elena Stepanova [ 2017-04-04 ]

The test failure was a rare event, but I can confirm that on the provided datadir the server before 124bae082bf17e9af1fc77f78bbebd019635be5c (MDEV-12289 fix) crashes reliably, and from this revision on it starts all right.

Comment by Elena Stepanova [ 2017-04-04 ]

Fixed along with MDEV-12289.

Generated at Thu Feb 08 07:57:20 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.