Percona server crashes on ALTER TABLE on temporary table
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
High
|
Laurynas Biveinis | ||
5.1 |
Fix Released
|
High
|
Laurynas Biveinis | ||
5.5 |
Fix Released
|
High
|
Laurynas Biveinis |
Bug Description
We have a 3.2TB big production server running SLES 11.1 and Mysql Server 5.1.54.
I created a backup with xtrabackup ( and cp, rsync, ... on other occasions ), and used this data to setup a new server on CentOS 6.2 with Percona server 5.5.21 ( and 5.1.61 later on to make sure it wasn't only related to 5.5, which it isnt, crashes on PS 5.1 as well. ).
Setting up a slave to the 'old' server from the CentOS server works like a charm, 25000 seconds worth of transactions completed just fine, and the PS 5.5 instance caught up with the master.
Then i wanted to create a temporary table, fill it with some data, and then needed to add a primary key to it. It crashed.
I have consistently been able to reproduce it on this data by doing:
mysql> use test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> create temporary table t1 (id int);
Query OK, 0 rows affected (1.97 sec)
mysql> alter table t1 engine=myisam;
ERROR 2013 (HY000): Lost connection to MySQL server during query
Tried both with engine=myisam and innodb.
I've resolved the stacktrace to this:
0x3188a0f4a0 _end + -2020000832
0x9149db fil_space_
0x8fdefa fil_space_
0x86c48a _ZN21ha_
0x81d241 _ZN21ha_
0x822310 _ZN21ha_
0x823e51 _ZN21ha_
0x9117f8 fil_space_
0x911f76 fil_space_
0x816cbd _ZN21ha_
0x817ceb _ZN21ha_
0x8e9e92 fil_space_
0x834bc6 _ZN21ha_
0x7f6b7b innobase_get_trx + 5419
0x5910aa _Z16check_
0x51654a unireg_abort + 2858
0x50fa79 _start + 41
Full mysqld.err attached ( disregard the beginning of the file, that was before my backup was restored there ;) ).
Using a clean /var/lib/mysql doesn't trigger the crash, so it must be some kind of corruption in the live data..
Good luck!
Related branches
- Stewart Smith (community): Approve
-
Diff: 525 lines (+300/-56)12 files modifiedPercona-Server/mysql-test/r/percona_server_variables_debug.result (+1/-0)
Percona-Server/mysql-test/suite/innodb/r/percona_corrupted_sys_stats.result (+18/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_corrupted_sys_stats.test (+37/-0)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_sys_stats_root_page_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_sys_stats_root_page_basic.test (+4/-0)
Percona-Server/storage/innobase/btr/btr0btr.c (+23/-0)
Percona-Server/storage/innobase/dict/dict0boot.c (+165/-56)
Percona-Server/storage/innobase/handler/ha_innodb.cc (+17/-0)
Percona-Server/storage/innobase/include/dict0boot.h (+20/-0)
Percona-Server/storage/innobase/include/srv0srv.h (+3/-0)
Percona-Server/storage/innobase/srv/srv0srv.c (+3/-0)
Percona-Server/storage/innobase/srv/srv0start.c (+6/-0)
- Laurynas Biveinis (community): Approve
- Alexey Kopytov: Pending requested
-
Diff: 511 lines (+296/-58)10 files modifiedPercona-Server/mysql-test/r/percona_server_variables_debug.result (+1/-0)
Percona-Server/mysql-test/suite/innodb_plugin/r/percona_corrupted_sys_stats.result (+18/-0)
Percona-Server/mysql-test/suite/innodb_plugin/t/percona_corrupted_sys_stats.test (+38/-0)
Percona-Server/storage/innodb_plugin/btr/btr0btr.c (+23/-0)
Percona-Server/storage/innodb_plugin/dict/dict0boot.c (+167/-58)
Percona-Server/storage/innodb_plugin/handler/ha_innodb.cc (+17/-0)
Percona-Server/storage/innodb_plugin/include/dict0boot.h (+20/-0)
Percona-Server/storage/innodb_plugin/include/srv0srv.h (+3/-0)
Percona-Server/storage/innodb_plugin/srv/srv0srv.c (+3/-0)
Percona-Server/storage/innodb_plugin/srv/srv0start.c (+6/-0)
I have just tried the same on a SLES 11.1p1 system running 5.1.54- community- log with the same 3.2TB dataset, runs just fine.
mysql> use test
Database changed
mysql> create temporary table t1 (id int);
Query OK, 0 rows affected (0.06 sec)
mysql> alter table t1 engine=myisam;
Query OK, 0 rows affected (0.10 sec)
Records: 0 Duplicates: 0 Warnings: 0