Comment 9 for bug 1328432

Revision history for this message
Akshay Suryawanshi (akshay-suryawanshi) wrote :

Similar crash with same Assertion Failure message was encountered a few days ago.

Server version: 5.6.22-71.0-log Percona Server (GPL), Release 71.0, Revision 726

2015-09-24 11:13:07 7f612f8bc700 InnoDB: Assertion failure in thread 140055386244864 in file os0file.cc line 5126
InnoDB: Failing assertion: slot != NULL
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to 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: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
05:43:07 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 http://bugs.percona.com/

key_buffer_size=1073741824
read_buffer_size=131072
max_used_connections=126
max_threads=1202
thread_count=7
connection_count=5
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 1527811 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+0x2c)[0x9091dc]
/usr/sbin/mysqld(handle_fatal_signal+0x352)[0x662482]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x10340)[0x7f909a1cb340]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39)[0x7f9099821bb9]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x148)[0x7f9099824fc8]
/usr/sbin/mysqld[0x98a2fb]
/usr/sbin/mysqld[0xa9dfb5]
/usr/sbin/mysqld[0x9f2d15]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x8182)[0x7f909a1c3182]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f90998e5efd]
You may download the Percona Server operations manual by visiting
http://www.percona.com/software/percona-server/. You may find information
in the manual which will help you identify the cause of the crash.
150924 11:13:07 mysqld_safe Number of processes running now: 0
150924 11:13:07 mysqld_safe mysqld restarted

However as specified in the reproducible case disk space wasnt a constraint. There was more than 100G space remaining on the mysql datadir volume.

Below is the my.cnf
[mysql]

port = 3306
socket = /dbvol/mysql/var/run/mysqld/mysqld.sock

[mysqld]

user = mysql
default-storage-engine = InnoDB
socket = /dbvol/mysql/var/run/mysqld/mysqld.sock
pid-file = /dbvol/mysql/var/run/mysqld/mysqld.pid

key-buffer-size = 1G
myisam-recover = FORCE,BACKUP

max-allowed-packet = 512M
max-connect-errors = 1000000

datadir = /dbvol/mysql/lib/mysql/

binlog-format = STATEMENT
log-bin = /dbvol/mysql/lib/mysql/mysql-bin
expire-logs-days = 21
sync-binlog = 1

read-only = 0
skip-slave-start = 1
log-slave-updates = 0
relay-log = /dbvol/mysql/lib/mysql/relay-bin
slave-net-timeout = 60
sync-master-info = 10000
sync-relay-log-info = 10000
server-id = 21300

tmp-table-size = 32M
max-heap-table-size = 32M
query-cache-type = 0
max-connections = 1200
thread-cache-size = 600
open-files-limit = 65535
table-definition-cache = 4096
table-open-cache-instances = 16
table-open-cache = 1500

innodb-flush-method = O_DIRECT
innodb-log-files-in-group = 2
innodb-log-file-size = 512M
innodb-flush-log-at-trx-commit = 1
innodb-file-per-table = 1
innodb-buffer-pool-size = 180G
innodb_log_buffer_size = 32M
innodb-buffer-pool-instances=12
innodb_io_capacity = 2000

innodb-flush-neighbors = 0

log-error = /dbvol/mysql/log/mysql-error.log
log-queries-not-using-indexes = 1
slow-query-log = 1
slow-query-log-file = /dbvol/mysql/log/mysql-slow.log
long_query_time = 5
slow_query_log_use_global_control = log_slow_rate_limit
log_slow_rate_limit = 100

The server doesnt have SWAP configured, would it be something which can also cause such an assertion ? There were OOM kill message either.

This has similar occurred on couple of other slaves with versions,
5.6.21-70.1-log Percona Server (GPL), Release 70.1, Revision 698
5.6.22-71.0-log Percona Server (GPL), Release 71.0, Revision 726