Server crash when "START TRANSACTION WITH CONSISTENT SNAPSHOT" / mysqldump --single-transaction is executed while binlog is disabled
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
MySQL patches by Codership |
Invalid
|
Undecided
|
Unassigned | |||
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
|
Critical
|
Alexey Kopytov |
Bug Description
This applies to PXC 5.6.19-67.0-56-log Percona XtraDB Cluster (GPL), Release 25.6, wsrep_25.6.r4111
When binlog is disabled, and START TRANSACTION WITH CONSISTENT SNAPSHOT" is executed, the server crash with the following stack:
18:47:24 UTC - mysqld got signal 11 ;
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_size=0
read_buffer_
max_used_
max_threads=153
thread_count=3
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: 0x7f56b8b65eb0
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 = 7f568ed24e00 thread_stack 0x30000
/usr/sbin/
/usr/sbin/
/lib/x86_
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/lib/x86_
/lib/x86_
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (7f5670004f80): is an invalid pointer
Connection ID (thread ID): 3
Status: NOT_KILLED
When binlog is enabled, the server doesn't crash
This applies only on PXC. Percona Server 5.6 doesn't seem to be affected by this issue.
Could be related with the following enhancement? https:/
PXC 5.6.15 doesn't seem to be affected
Related branches
- Raghavendra D Prabhu: Pending requested
affects: | percona-server → percona-xtradb-cluster |
summary: |
- Server crash when "START TRANSACTION WITH CONSISTENT SNAPSHOT" is - executed while binlog is disable + Server crash when "START TRANSACTION WITH CONSISTENT SNAPSHOT" / + mysqldump --single-transaction is executed while binlog is disabled |
More info:
When using mysqldump with --single- transaction, the START TRANSACTION WITH CONSISTENT SNAPHOST is executed, thus server crash:
root@daniel- vbox:/etc/ mysql# mysqldump --version
mysqldump Ver 10.13 Distrib 5.6.19-67.0, for debian-linux-gnu (x86_64)
root@daniel- vbox:/etc/ mysql# mysqldump --single- transaction dani -uroot -ptoor ------- ------- ------- ------- ------- ------- -----
Warning: Using a password on the command line interface can be insecure.
-- MySQL dump 10.13 Distrib 5.6.19-67.0, for debian-linux-gnu (x86_64)
--
-- Host: localhost Database: dani
-- -------
-- Server version 5.6.19-67.0-56
/*!40101 SET @OLD_CHARACTER_ SET_CLIENT= @@CHARACTER_ SET_CLIENT */; SET_RESULTS= @@CHARACTER_ SET_RESULTS */; CONNECTION= @@COLLATION_ CONNECTION */; ZONE=@@ TIME_ZONE */; CHECKS= @@UNIQUE_ CHECKS, UNIQUE_CHECKS=0 */; KEY_CHECKS= @@FOREIGN_ KEY_CHECKS, FOREIGN_ KEY_CHECKS= 0 */; MODE=@@ SQL_MODE, SQL_MODE= 'NO_AUTO_ VALUE_ON_ ZERO' */; NOTES=@ @SQL_NOTES, SQL_NOTES=0 */;
/*!40101 SET @OLD_CHARACTER_
/*!40101 SET @OLD_COLLATION_
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_
/*!40014 SET @OLD_FOREIGN_
/*!40101 SET @OLD_SQL_
/*!40111 SET @OLD_SQL_
mysqldump: Couldn't execute 'START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */': Lost connection to MySQL server during query (2013)
mysql> show variables like 'log_bin'; ------- --+---- ---+ ------- --+---- ---+ ------- --+---- ---+
+------
| Variable_name | Value |
+------
| log_bin | OFF |
+------
1 row in set (0,00 sec)
Stack: mysqld( my_print_ stacktrace+ 0x2c)[0x7f2183d 7c04c] mysqld( handle_ fatal_signal+ 0x3cb)[ 0x7f2183ac2a2b] 64-linux- gnu/libpthread. so.0(+0x10340) [0x7f2181f6d340 ] mysqld( +0x6e4cd7) [0x7f2183d26cd7 ] mysqld( +0x3a8a5a) [0x7f21839eaa5a ] mysqld( _Z24plugin_ foreach_ with_maskP3THDP FcS0_P13st_ plugin_ intPvEijS3_ +0x1dd) [0x7f2183b66b8d ] mysqld( _Z28ha_ start_consisten t_snapshotP3THD +0x281) [0x7f21839efa51 ] mysqld( _Z11trans_ beginP3THDj+ 0x100)[ 0x7f2183bed910] mysqld( _Z21mysql_ execute_ commandP3THD+ 0x2b9b) [0x7f2183b560fb ] mysqld( +0x519ee8) [0x7f2183b5bee8 ] mysqld( _Z16dispatch_ command19enum_ server_ commandP3THDPcj +0x1280) [0x7f2183b5d680 ] mysqld( _Z10do_ commandP3THD+ 0x16c)[ 0x7f2183b5f8fc] mysqld( _Z24do_ handle_ one_connectionP 3THD+0x31d) [0x7f2183b20d3d ] mysqld( handle_ one_connection+ 0x40)[0x7f2183b 20de0] mysqld( pfs_spawn_ thread+ 0x140)[ 0x7f2183ff4fb0] 64-linux- gnu/libpthread. so.0(+0x8182) [0x7f2181f65182 ] 64-linux- gnu/libc. so.6(clone+ 0x6d)[0x7f21814 7230d]
Thread pointer: 0x7f218681c2a0
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 = 7f215c89ee00 thread_stack 0x30000
/usr/sbin/
/usr/sbin/
/lib/x86_
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/usr/sbin/
/lib/x86_
/lib/x86_
http:// www.percona. com/doc/ percona- server/ 5.6/management/ start_transacti on_with_ consistent_ snapshot. html#mysqldump Documentation specifies that STWCS is used when --single- transaction AND --master-data are used, but i was able to reproduce this only with --single- transaction