Assertion failure in thread 140598511429376 in file ha_innodb.cc line 6759
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
MySQL patches by Codership | Status tracked in 5.6 | |||||
5.6 |
Fix Released
|
High
|
Yan Zhang | |||
Percona XtraDB Cluster moved to https://jira.percona.com/projects/PXC | Status tracked in 5.6 | |||||
5.5 |
Invalid
|
Undecided
|
Unassigned | |||
5.6 |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
We have a latest version of Percona Cluster (with percona repository):
Server version: 5.6.19-67.0-56-log Percona XtraDB Cluster (GPL), Release rel67.0, Revision 824, WSREP version 25.6, wsrep_25.6.r4111
Table structure (CMS Joomla 2.5):
mysql> show create table r8kmb_redirect_
.......
CREATE TABLE `r8kmb_
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`old_url` varchar(255) DEFAULT NULL,
`new_url` varchar(255) NOT NULL,
`referer` varchar(150) NOT NULL,
`comment` varchar(255) NOT NULL,
`published` tinyint(4) NOT NULL,
`created_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`modified_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_link_old` (`old_url`),
KEY `idx_link_modifed` (`modified_date`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Wsrep debug mode is enabled:
1) my.cnf -> wsrep_debug = on
2) my.cnf -> wsrep_provider_
Trying to execute SQL query:
INSERT INTO r8kmb_redirect_
Column "old_url", is a string containing UTF 8 characters.
Result:
mysql> truncate table r8kmb_redirect_
Query OK, 0 rows affected (0.06 sec)
mysql> INSERT INTO r8kmb_redirect_
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>
Now, the node is crashed. Full information from MySQL log (17:29:29 - node is running):
2014-07-23 17:29:29 18374 [Note] WSREP: Synchronized with group, ready for connections
2014-07-23 17:29:29 18374 [Note] WSREP: wsrep_notify_cmd is not defined, skipping notification.
2014-07-23 17:29:29 18374 [Note] WSREP: Nobody is waiting for SST.
2014-07-23 17:29:35 18374 [Note] WSREP: TO BEGIN: -1, 0 : truncate table r8kmb_redirect_
2014-07-23 17:29:35 18374 [Note] [Debug] WSREP: galera/
2014-07-23 17:29:35 18374 [Note] WSREP: TO BEGIN: 406, 2
2014-07-23 17:29:35 18374 [Note] WSREP: TO END: 406, 2 : truncate table r8kmb_redirect_
2014-07-23 17:29:35 18374 [Note] WSREP: Set WSREPXid for InnoDB: a6b54819-
2014-07-23 17:29:35 18374 [Note] WSREP: TO END: 406, update seqno
2014-07-23 17:29:35 18374 [Note] [Debug] WSREP: galera/
2014-07-23 17:29:35 18374 [Note] WSREP: TO END: 406
2014-07-23 17:32:35 7f650012e700 InnoDB: Assertion failure in thread 140071769663232 in file ha_innodb.cc line 6759
InnoDB: Failing assertion: buff <= buff_start + buff_len
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.
14:32:35 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 XtraDB Cluster better by reporting any
bugs at https:/
key_buffer_
read_buffer_
max_used_
max_threads=153
thread_count=52
connection_count=1
14:32:35 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 XtraDB Cluster better by reporting any
bugs at https:/
key_buffer_
read_buffer_
max_used_
max_threads=153
thread_count=52
connection_count=1
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_
Hope that's ok; if not, decrease some variables in the equation.
Thread pointer: 0x1f8ce50
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 = 7f650012dd38 thread_stack 0x40000
/usr/sbin/
/usr/sbin/
/lib64/
/lib64/
/lib64/
/lib64/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/lib64/
/lib64/
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (7f6554024600): is an invalid pointer
Connection ID (thread ID): 52
Status: NOT_KILLED
You may download the Percona XtraDB Cluster operations manual by visiting
http://
in the manual which will help you identify the cause of the crash.
140723 17:32:35 mysqld_safe Number of processes running now: 0
140723 17:32:35 mysqld_safe WSREP: not restarting wsrep node automatically
140723 17:32:35 mysqld_safe mysqld from pid file /var/lib/
I managed to work around the problem in 2 ways:
1) Drop unique index: UNIQUE KEY `idx_link_old` (`old_url`)
2) Change coding column 'old_url'. I've tried latin1: alter table r8kmb_redirect_
How to reproduce:
1) Create table `r8kmb_
2) Executing SQL query (INSERT INTO).
Initially, the error was discovered in a cluster of 3 nodes. For a detailed analysis of the problem, we used a virtual machine (one node: wsrep_cluster_size = 1).
On the virtual machine, we used the following configuration (my.cnf):
[mysqld]
# ///// General
user=mysql
datadir=
socket=
tmpdir=/tmp
symbolic-links=0
table_open_cache = 4096
table_definitio
thread_cache_size=4
default_
# ///// innodb
innodb_
innodb_
innodb_
innodb_open_files = 4096
innodb_
innodb_
innodb_
innodb_flush_method = O_DIRECT
innodb_
innodb_
innodb_
innodb_
innodb_support_xa = 0
innodb_
innodb_
# ///// binlog \ relaylog
log-bin = /var/lib/
max_binlog_size = 1024M
binlog_format = ROW
binlog_cache_size = 5M
expire_logs_days = 1
sync_binlog = 0
relay_log = /var/lib/
slave_load_tmpdir = /var/lib/
log_slave_updates = On
# ///// log
log_error = "/var/log/
# ///// Galera
wsrep_provider=
wsrep_provider_
wsrep_cluster_
wsrep_cluster_
wsrep_node_
wsrep_node_
wsrep_sst_
wsrep_replicate
wsrep_forced_
wsrep_log_conflicts = On
wsrep_auto_
wsrep_retry_
wsrep_slave_
wsrep_convert_
wsrep_debug = on
Related branches
tags: | added: upstream |
Changed in codership-mysql: | |
milestone: | none → 5.6.19-25.6 |
assignee: | nobody → Yan Zhang (yan.zhang) |
no longer affects: | codership-mysql/5.5 |
Reproduce (First run after "mysql_ install_ db"):
[root@vm-percona /]# mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 52
Server version: 5.6.19-67.0-56-log Percona XtraDB Cluster (GPL), Release rel67.0, Revision 824, WSREP version 25.6, wsrep_25.6.r4111
Copyright (c) 2009-2014 Percona LLC and/or its affiliates
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database `tested`;
Query OK, 1 row affected (0.03 sec)
mysql> use tested; redirect_ links` (
Database changed
mysql> CREATE TABLE `r8kmb_
-> `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-> `old_url` varchar(255) DEFAULT NULL,
-> `new_url` varchar(255) NOT NULL,
-> `referer` varchar(150) NOT NULL,
-> `comment` varchar(255) NOT NULL,
-> `published` tinyint(4) NOT NULL,
-> `created_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-> `modified_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-> PRIMARY KEY (`id`),
-> UNIQUE KEY `idx_link_old` (`old_url`),
-> KEY `idx_link_modifed` (`modified_date`)
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.09 sec)
mysql> INSERT INTO r8kmb_redirect_ links VALUES (550,'http:// mysite. com/images/ download/ß ÑÆ ’à±Ã »Ã‘  œÃƒâ€˜Ã¢ €¡Ã ½Ã ¸Ã ¹_à´Ã ¾Ã ³Ã ¾Ã ²Ã‘  œÃƒâ€˜Ã¢ ‚¬_à¾Ã‘ „àµÃ‘ .doc',' ','','' ,0,'2013- 07-15 14:29:42' ,'0000- 00-00 00:00:00');
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>