CREATE TABLE ... LIKE ... may create a system table with an unsupported enforced engine | Assertion `!"Transactional table"' failed in sql/sql_base.cc:10502
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS | Status tracked in 5.7 | |||||
5.5 |
Fix Released
|
Medium
|
Laurynas Biveinis | |||
5.6 |
Fix Released
|
Medium
|
Laurynas Biveinis | |||
5.7 |
Fix Released
|
Medium
|
Laurynas Biveinis |
Bug Description
Error info
mysqld: /sda/ps5.
ional table"' failed.
12:02:18 UTC - mysqld got signal 6 ;
Testcase
# mysqld options required for replay: --log-output=none --sql_mode=
DROP DATABASE test;CREATE DATABASE test;USE test;
RENAME TABLE mysql.proc TO proc_backup;
CREATE TABLE mysql.proc LIKE proc_backup;
select routine_
The attached tarball (1454325471_
$ vi 1454325471_mybase # STEP1: Update the base path in this file (usually the only change required!). If you use a non-binary distribution, please update SOURCE_DIR location also
$ ./1454325471_init # STEP2: Initializes the data dir
$ ./1454325471_start # STEP3: Starts mysqld
$ ./1454325471_cl # STEP4: To check mysqld is up
$ ./1454325471_
$ ./1454325471_run # OPTIONAL: Run the testcase with the mysql CLI (may not reproduce the issue, as the pquery binary was used for the original testcase reduction)
$ vi /dev/shm/
$ ./1454325471_gdb # OPTIONAL: Brings you to a gdb prompt with gdb attached to the used mysqld and attached to the generated core
$ ./1454325471_
GDB info
#0 0x00007fd87a30e741 in pthread_kill () from /lib64/
#1 0x0000000001811a80 in my_write_core (sig=6) at /sda/ps5.
#2 0x0000000000e60b43 in handle_fatal_signal (sig=6) at /sda/ps5.
#3 <signal handler called>
#4 0x00007fd87849b5f7 in raise () from /lib64/libc.so.6
#5 0x00007fd87849cce8 in abort () from /lib64/libc.so.6
#6 0x00007fd878494566 in __assert_fail_base () from /lib64/libc.so.6
#7 0x00007fd878494612 in __assert_fail () from /lib64/libc.so.6
#8 0x000000000148c0f4 in open_nontrans_
#9 0x000000000144f65c in open_proc_
#10 0x000000000157b9f5 in fill_schema_proc (thd=0x7fd83901
#11 0x0000000001584189 in do_fill_table (thd=0x7fd83901
#12 0x000000000158456e in get_schema_
#13 0x000000000155a9a1 in JOIN::prepare_
#14 0x00000000014bd57c in JOIN::exec (this=0x7fd8390
#15 0x0000000001559576 in handle_query (thd=0x7fd83901
#16 0x000000000150e373 in execute_
#17 0x000000000150776d in mysql_execute_
#18 0x000000000150f32a in mysql_parse (thd=0x7fd83901
#19 0x0000000001504341 in dispatch_command (thd=0x7fd83901
#20 0x000000000150325b in do_command (thd=0x7fd83901
#21 0x000000000163ad13 in handle_connection (arg=0x7fd861ff
#22 0x00000000018b119c in pfs_spawn_thread (arg=0x7fd8533f
#23 0x00007fd87a309dc5 in start_thread () from /lib64/
#24 0x00007fd87855c21d in clone () from /lib64/libc.so.6
summary: |
- Assertion `!"Transact ional table"' failed in sql/sql_base.cc:10502 + Assertion `!"Transactional table"' failed in sql/sql_base.cc:10502 |
tags: | added: enforce-se |
summary: |
- Assertion `!"Transactional table"' failed in sql/sql_base.cc:10502 + CREATE TABLE ... LIKE ... may create a system table with an unsupported + enforced engine | Assertion `!"Transactional table"' failed in + sql/sql_base.cc:10502 |
Cannot reproduce:
RENAME TABLE mysql.proc TO proc_backup;
CREATE TABLE mysql.proc LIKE proc_backup;
ERROR 42000: Unknown storage engine 'MyISAM'
query 'select routine_ name,routine_ schema from information_ schema. routines where routine_schema like 'bug0%'' failed: 1146: Table 'mysql.proc' doesn't exist
Ramesh, please confirm your source tree revision and CLI output.