Percona Server 5.5.29 crashing when replicating

Hi there,

I am running a simple master → slave replication to just a single node. I did an update to an application which added in some triggers and then attempted to start replication back up with taking a copy from the master with innobackupex, applied the logs, and then copied it over and set it up. Replication will run for a little bit, catching up, but before too long it will crash bringing down the slave database service.

The error log is as follows that relates to the crash:

130526 12:29:21 InnoDB: Assertion failure in thread 140087775872768 in file btr0cur.c line 363
InnoDB: Failing assertion: btr_page_get_next(get_block->frame, mtr) == page_get_page_no(page)
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to [URL=“http://bugs.mysql.com”]http://bugs.mysql.com[/URL=“http://bugs.mysql.com”].
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: [URL=“MySQL :: MySQL 8.0 Reference Manual :: 15.21.3 Forcing InnoDB Recovery”]http://dev.mysql.com/doc/refman/5.5/…-recovery.html[/URL=“MySQL :: MySQL 8.0 Reference Manual :: 15.21.3 Forcing InnoDB Recovery”]
InnoDB: about forcing recovery.
17:29:21 UTC - mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.
Please help us make Percona Server better by reporting any
bugs at [URL=“http://bugs.percona.com/”]http://bugs.percona.com/[/URL=“http://bugs.percona.com/”]

key_buffer_size=33554432
read_buffer_size=131072
max_used_connections=0
max_threads=700
thread_count=0
connection_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 1564548 K bytes of memory
Hope that’s ok; if not, decrease some variables in the equation.

Thread pointer: 0x0

Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong…

stack_bottom = 0 thread_stack 0x40000
/usr/sbin/mysqld(my_print_stacktrace+0x35)[0x7ac7e5]
/usr/sbin/mysqld(handle_fatal_signal+0x4a4)[0x688084]
/lib64/libpthread.so.0[0x3091a0f4a0]
/lib64/libc.so.6(gsignal+0x35)[0x3091632885]
/lib64/libc.so.6(abort+0x175)[0x3091634065]
/usr/sbin/mysqld[0x897ab3]
/usr/sbin/mysqld[0x8994a0]
/usr/sbin/mysqld[0x903469]
/usr/sbin/mysqld[0x9049ee]
/usr/sbin/mysqld[0x8995b3]
/usr/sbin/mysqld[0x849017]
/usr/sbin/mysqld[0x95045e]
/usr/sbin/mysqld[0x95096e]
/usr/sbin/mysqld[0x951648]
/usr/sbin/mysqld[0x945baf]
/usr/sbin/mysqld[0x869997]
/usr/sbin/mysqld[0x8600bc]
/lib64/libpthread.so.0[0x3091a077f1]
/lib64/libc.so.6(clone+0x6d)[0x30916e5ccd]

You may download the Percona Server operations manual by visiting
[URL=“Percona Server for MySQL is a drop-in replacement for MySQL”]http://www.percona.com/software/percona-server/[/URL=“http://www.percona.com/software/percona-server/”]. You may find information
in the manual which will help you identify the cause of the crash.

Anyone have any thoughts?

One thing I noticed on this last run of trying also is that, where as there is no errors on the master server, and no corrupted tables as far as mysqlcheck is concerned, the slave is having a bunch of messages of these type:

130526 15:47:58 InnoDB: Error: page 37755 log sequence number 1425377063093
InnoDB: is in the future! Current system log sequence number 790471970292.
InnoDB: Your database may be corrupt or you may have copied the InnoDB
InnoDB: tablespace but not the InnoDB log files. See
InnoDB: [URL=“MySQL :: MySQL 8.0 Reference Manual :: 15.21.3 Forcing InnoDB Recovery”]http://dev.mysql.com/doc/refman/5.5/…-recovery.html[/URL=“MySQL :: MySQL 8.0 Reference Manual :: 15.21.3 Forcing InnoDB Recovery”]
InnoDB: for more information.

Reading about how to fix it, the only thing I’ve really heard is dump the database and restore, and given the size of our db is around 50gigs, it would incur a downtime of over four hours on our production system which we can’t afford to do. Is the eventual crash associated to the being in the future errors? And is there a way to fix this without bringing down the existing site or dumping in massive amounts of data?

Hi,

Probably it’s bug.
[URL=“Bug #1167882 “Percona mysql 5.5 restarting frequently” : Series 5.5 : Bugs : Percona Server moved to https://jira.percona.com/projects/PS”]https://bugs.launchpad.net/percona-server/5.5/+bug/1167882[/URL=“https://bugs.launchpad.net/percona-server/5.5/+bug/1167882”]

[URL=“https://bugs.launchpad.net/percona-server/+bug/995258”]https://bugs.launchpad.net/percona-server/+bug/995258[/URL=“https://bugs.launchpad.net/percona-server/+bug/995258”]

[URL=“MySQL Bugs: #65196: InnoDB: Assertion failure in thread ... in file btr0cur.c”]MySQL Bugs: #65196: InnoDB: Assertion failure in thread ... in file btr0cur.c

Found couple of bugs with this assertion failure, first twp leads to that percona bug above, other ended up nowhere, but with table corruption assumed. Can you make some repeatable test case for the same? You can also try to use latest version of Percona Server / xtrabackup and check. It would be helpful if you can provide my.cnf too.