InnoDB: Failing assertion: table->data_dir_path while dropping table after recovery

Bug #1553692 reported by Shahriyar Rzayev
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona XtraBackup moved to https://jira.percona.com/projects/PXB
Status tracked in 2.4
2.3
Triaged
High
Unassigned
2.4
Triaged
High
Unassigned

Bug Description

Here is a description:

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 TABLE `t2` ( `c1` int(11) NOT NULL, PRIMARY KEY (`c1`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 data directory='/tmp/foo';
Query OK, 0 rows affected (0,33 sec)

mysql> insert into t2 values(1);
Query OK, 1 row affected (0,06 sec)

mysql> insert into t2 values(2);
Query OK, 1 row affected (0,06 sec)

Take full backup + prepare backup + copy back to /var/lib/mysql

Then remove original path of table:

root@shrzayev:/tmp# rm -rf foo/

Start MySQL server :

2016-03-06 13:14:26 8751 [ERROR] InnoDB: A link file was found named './test/t2.isl' but the linked tablespace '/tmp/foo/test/t2.ibd' could not be opened.
2016-03-06 13:14:26 8751 [Note] InnoDB: The InnoDB data dictionary table SYS_DATAFILES for tablespace ID 15 was updated to use file ./test/t2.ibd.

and try to drop table:

mysql> drop table t2;
ERROR 2013 (HY000): Lost connection to MySQL server during query

From error log:

2016-03-06 13:17:22 7f02307d3700 InnoDB: Assertion failure in thread 139647380174592 in file row0mysql.cc line 4202
InnoDB: Failing assertion: table->data_dir_path
/usr/sbin/mysqld[0x9cdebe]
/usr/sbin/mysqld[0x936b83]
/usr/sbin/mysqld(_Z15ha_delete_tableP3THDP10handlertonPKcS4_S4_b+0xb4)[0x5b9194]
/usr/sbin/mysqld(_Z23mysql_rm_table_no_locksP3THDP10TABLE_LISTbbbb+0x4ed)[0x73df0d]
/usr/sbin/mysqld(_Z14mysql_rm_tableP3THDP10TABLE_LISTcc+0x11f)[0x73f0df]
/usr/sbin/mysqld(_Z21mysql_execute_commandP3THD+0x3139)[0x6ed559]
/usr/sbin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x368)[0x6f0c08]
/usr/sbin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x100f)[0x6f23af]
/usr/sbin/mysqld(_Z24do_handle_one_connectionP3THD+0x142)[0x6bfba2]
/usr/sbin/mysqld(handle_one_connection+0x40)[0x6bfc50]
/usr/sbin/mysqld(pfs_spawn_thread+0x143)[0x915273]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x8182)[0x7f0244a47182]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f0243f5447d]

From core dump:

[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/'.
Program terminated with signal SIGABRT, Aborted.
#0 0x00007f0697caf621 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
61 ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c: No such file or directory.
Traceback (most recent call last):
  File "/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py", line 63, in <module>
    from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named 'libstdcxx'
(gdb) bt
#0 0x00007f0697caf621 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1 0x000000000067062d in handle_fatal_signal ()
#2 <signal handler called>
#3 0x00007f06970f3cc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#4 0x00007f06970f70d8 in __GI_abort () at abort.c:89
#5 0x00000000009cdebe in ?? ()
#6 0x0000000000936b83 in ?? ()
#7 0x00000000005b9194 in ha_delete_table(THD*, handlerton*, char const*, char const*, char const*, bool) ()
#8 0x000000000073df0d in mysql_rm_table_no_locks(THD*, TABLE_LIST*, bool, bool, bool, bool) ()
#9 0x000000000073f0df in mysql_rm_table(THD*, TABLE_LIST*, char, char) ()
#10 0x00000000006ed559 in mysql_execute_command(THD*) ()
#11 0x00000000006f0c08 in mysql_parse(THD*, char*, unsigned int, Parser_state*) ()
#12 0x00000000006f23af in dispatch_command(enum_server_command, THD*, char*, unsigned int) ()
#13 0x00000000006bfba2 in do_handle_one_connection(THD*) ()
#14 0x00000000006bfc50 in handle_one_connection ()
#15 0x0000000000915273 in pfs_spawn_thread ()
#16 0x00007f0697caa182 in start_thread (arg=0x7f0683a36700) at pthread_create.c:312
#17 0x00007f06971b747d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Seems to be related to Upstream:

http://bugs.mysql.com/bug.php?id=80625

Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PXB-464

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.