Assertion failure in Xtrabackup --stats run on MySQL datadir (xtrabackup_56)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona XtraBackup moved to https://jira.percona.com/projects/PXB |
Fix Released
|
High
|
Alexey Kopytov | ||
2.0 |
Fix Released
|
High
|
Alexey Kopytov | ||
2.1 |
Fix Released
|
High
|
Alexey Kopytov |
Bug Description
I am running xtrabackup_56 --stats on server data directory and getting following assertion failure
2013-05-02 18:31:12 7fff7c5aa960 InnoDB: Assertion failure in thread 140735279704416 in file mtr0mtr.cc line 317
InnoDB: Failing assertion: !srv_read_only_mode
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://
InnoDB: about forcing recovery.
Full log is following:
test❯ gdb --args /Users/
GNU gdb 6.3.50-20050815 (Apple version gdb-1824) (Wed Feb 6 22:51:23 UTC 2013)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "x86_64-
(gdb) r
Starting program: /Users/
Reading symbols for shared libraries ++.....
/Users/
xtrabackup: cd to /Users/
xtrabackup: Target instance is assumed as followings.
xtrabackup: innodb_
xtrabackup: innodb_
xtrabackup: innodb_
xtrabackup: innodb_
xtrabackup: innodb_
xtrabackup: Starting 'read-only' InnoDB instance to gather index statistics.
xtrabackup: Using 104857600 bytes for buffer pool (set by --use-memory parameter)
InnoDB: Started in read only mode
2013-05-02 18:31:10 7fff7c5aa960 InnoDB: !!!!!!!! UNIV_DEBUG switched on !!!!!!!!!
2013-05-02 18:31:10 7fff7c5aa960 InnoDB: !!!!!!!! UNIV_IBUF_DEBUG switched on !!!!!!!!!
2013-05-02 18:31:10 7fff7c5aa960 InnoDB: !!!!!!!! UNIV_SYNC_DEBUG switched on !!!!!!!!!
2013-05-02 18:31:10 7fff7c5aa960 InnoDB: !!!!!!!! UNIV_SEARCH_DEBUG switched on !!!!!!!!!
2013-05-02 18:31:10 7fff7c5aa960 InnoDB: !!!!!!!! UNIV_LOG_LSN_DEBUG switched on !!!!!!!!!
2013-05-02 18:31:10 7fff7c5aa960 InnoDB: !!!!!!!! UNIV_MEM_DEBUG switched on !!!!!!!!!
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3 with validation
InnoDB: CPU does not support crc32 instructions
InnoDB: Disabling background IO write threads.
InnoDB: Initializing buffer pool, size = 100.0M
InnoDB: Completed initialization of buffer pool
Io handler thread 0 starts, id 4446801920
Io handler thread 1 starts, id 4452352000
Io handler thread 2 starts, id 4452888576
Io handler thread 3 starts, id 4453425152
InnoDB: Highest supported file format is Barracuda.
2013-05-02 18:31:12 7fff7c5aa960 InnoDB: Assertion failure in thread 140735279704416 in file mtr0mtr.cc line 317
InnoDB: Failing assertion: !srv_read_only_mode
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://
InnoDB: about forcing recovery.
Program received signal SIGABRT, Aborted.
0x00007fff9235fce2 in __pthread_kill ()
(gdb) bt
#0 0x00007fff9235fce2 in __pthread_kill ()
#1 0x00007fff936b37d2 in pthread_kill ()
#2 0x00007fff936a4a7a in abort ()
#3 0x000000010032ca2b in mtr_commit (mtr=0x7fff5fbf
#4 0x00000001004929c6 in trx_sys_
#5 0x000000010049284c in trx_sys_
#6 0x0000000100492a34 in trx_sys_
#7 0x000000010045dfab in innobase_
#8 0x000000010000877d in innodb_init () at xtrabackup.cc:3422
#9 0x00000001000049a9 in xtrabackup_
#10 0x0000000100002ca3 in main (argc=0, argv=0x101b010f0) at xtrabackup.cc:8618
(gdb) bt full
#0 0x00007fff9235fce2 in __pthread_kill ()
No symbol table info available.
#1 0x00007fff936b37d2 in pthread_kill ()
No symbol table info available.
#2 0x00007fff936a4a7a in abort ()
No symbol table info available.
#3 0x000000010032ca2b in mtr_commit (mtr=0x7fff5fbf
No locals.
#4 0x00000001004929c6 in trx_sys_
mtr = {
state = 56456,
memo = {
heap = 0x0,
used = 32,
data = "\002\000\
base = {
count = 140734799782480,
start = 0x7fff5fc0ef50,
end = 0x101223b01
},
list = {
prev = 0x7fff5fbfa390,
next = 0x7fff5fc3d140
},
buf_end = 0,
magic_n = 375767
},
log = {
heap = 0x0,
used = 14,
data = "\b\000\
base = {
count = 4299771424,
start = 0x4330000000000000,
end = 0x300
},
list = {
prev = 0x100ab1fe2,
next = 0x101116460
},
buf_end = 0,
magic_n = 375767
},
inside_ibuf = 0,
modifications = 1,
made_dirty = 1,
n_log_recs = 1,
n_freed_pages = 0,
log_mode = 21,
start_lsn = 140734799783184,
end_lsn = 0,
magic_n = 54551
}
ptr = (unsigned char *) 0x102c67ff0 "��r��P[
block = (buf_block_t *) 0x102801080
tag_value = 117939276495370
#5 0x000000010049284c in trx_sys_
ret = 0
#6 0x0000000100492a34 in trx_sys_
format_id = 184467440737095
#7 0x000000010045dfab in innobase_
sum_of_
err = DB_SUCCESS
i = 2
logfile0 = 0x0
unit = 77 'M'
min_flushed_lsn = 1638320
srv_n_
dirnamelen = 69
size = 100
io_limit = 256
mtr = {
state = 788282676452494
memo = {
heap = 0x617261702079726f,
used = 2860321072244077,
data = "�\n�\001\
base = {
count = 4313988493,
start = 0x101223d83,
end = 0x1
},
list = {
prev = 0x7fff5fbfe080,
next = 0x7fff5fc179cd
},
buf_end = 4313988483,
magic_n = 140734800059248
},
log = {
heap = 0x7fff5fbfe060,
used = 140734799891296,
data = "/+j��
base = {
count = 0,
start = 0x0,
end = 0x7fff5fbfe300
},
list = {
prev = 0x6400000,
next = 0x0
},
buf_end = 2,
magic_n = 3270308424552834418
},
inside_ibuf = 0,
modifications = 1,
made_dirty = 0,
n_log_recs = 163780800,
n_freed_pages = 85899346421,
log_mode = 0,
start_lsn = 1367494240,
end_lsn = 0,
magic_n = 1367494241
}
logfilename = "/Users/
create_new_db = 0
max_flushed_lsn = 1638320
sum_of_new_sizes = 0
tablespace_
ib_bh = (struct ib_bh_t *) 0x10a003600
#8 0x000000010000877d in innodb_init () at xtrabackup.cc:3422
err = 1486297351
#9 0x00000001000049a9 in xtrabackup_
n = 2
#10 0x0000000100002ca3 in main (argc=0, argv=0x101b010f0) at xtrabackup.cc:8618
ho_error = 0
(gdb) q
Related branches
- Sergei Glushchenko (community): Approve (g2)
-
Diff: 79 lines (+22/-7)2 files modifiedpatches/innodb56.patch (+15/-4)
src/xtrabackup.cc (+7/-3)
- Sergei Glushchenko (community): Approve (g2)
-
Diff: 55 lines (+19/-4)3 files modifiedpatches/innodb56.patch (+12/-1)
src/innodb_int.h (+5/-1)
src/xtrabackup.cc (+2/-2)
description: | updated |
affects: | percona-server → percona-xtrabackup |
Assertion failed when server tries to update max file format in datafiles being run in read only mode. xtrabackup prior to 5.6 sets srv_max_ file_format_ at_startup as DICT_TF_FORMAT_51 (which is 0 or UNIV_FORMAT_A, Antelope format) while 5.6-based version sets it to UNIV_FORMAT_MAX (which is 1 or UNIV_FORMAT_B or DICT_F_FORMAT_ZIP, Barracuda format).
I can propose 2 solutions: file_format_ at_startup to 0 for 5.6 as well
1. Set srv_max_
2. Patch InnoDB to not update file format tag at startup