Bug #80745 | Segmentation fault while altering table engine to innodb from memory engine | ||
---|---|---|---|
Submitted: | 15 Mar 2016 11:34 | Modified: | 6 May 2016 10:48 |
Reporter: | Shahriyar Rzayev | Email Updates: | |
Status: | Duplicate | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S1 (Critical) |
Version: | 5.7.11 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[15 Mar 2016 11:34]
Shahriyar Rzayev
[15 Mar 2016 12:17]
MySQL Verification Team
Hello Shahriyar, Thank you for the report. Thanks, Umesh
[15 Mar 2016 12:18]
MySQL Verification Team
-- Only debug build is affected -- Single user can be used for all steps(just used to see if more pri required) -- As a root mysql> create user 'bug'@'localhost'; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL ON db1.* TO 'bug'@'localhost'; Query OK, 0 rows affected (0.00 sec) mysql> CREATE TABLESPACE `s1` ADD DATAFILE 'ts1.ibd' ENGINE=INNODB; Query OK, 0 rows affected (0.00 sec) mysql> create database db1; Query OK, 1 row affected (0.01 sec) -- As a bug user [umshastr@hod03]/export/umesh/server/binaries/mysql-5.7.11: bin/mysql -ubug -S/tmp/mysql_ushastry.sock Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.7.11 MySQL Community Server (GPL) Copyright (c) 2000, 2016, 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> use db1 Database changed mysql> DROP TABLE IF EXISTS sbtest1; Query OK, 0 rows affected, 1 warning (0.00 sec) mysql> CREATE TABLE `sbtest1` ( -> `id` int(10) unsigned NOT NULL AUTO_INCREMENT, -> `k` int(10) unsigned NOT NULL DEFAULT '0', -> `c` char(120) NOT NULL DEFAULT '', -> `pad` char(60) NOT NULL DEFAULT '', -> PRIMARY KEY (`id`), -> KEY `k_1` (`k`) -> ) ENGINE=InnoDB TABLESPACE=s1 AUTO_INCREMENT=685441 DEFAULT CHARSET=utf8 MAX_ROWS=1000000; Query OK, 0 rows affected (0.01 sec) mysql> alter table sbtest1 engine=memory; Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table sbtest1 encryption='y'; Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table sbtest1 compression='zlib'; Query OK, 0 rows affected (0.00 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> show create table sbtest1\G *************************** 1. row *************************** Table: sbtest1 Create Table: CREATE TABLE `sbtest1` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `k` int(10) unsigned NOT NULL DEFAULT '0', `c` char(120) NOT NULL DEFAULT '', `pad` char(60) NOT NULL DEFAULT '', PRIMARY KEY (`id`), KEY `k_1` (`k`) ) /*!50100 TABLESPACE `s1` */ ENGINE=MEMORY AUTO_INCREMENT=685441 DEFAULT CHARSET=utf8 MAX_ROWS=1000000 COMPRESSION='zlib' ENCRYPTION='y' 1 row in set (0.00 sec) -- With release build mysql> alter table sbtest1 engine=innodb; ERROR 3183 (HY000): This tablespace can't be encrypted. -- With debug build mysql> alter table sbtest1 engine=innodb; ERROR 2013 (HY000): Lost connection to MySQL server during query mysql> \q (gdb) bt #0 0x00007f675dcf5771 in pthread_kill () from /lib64/libpthread.so.0 #1 0x00000000017aa0cd in my_write_core (sig=6) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/mysys/stacktrace.c:247 #2 0x0000000000d8b058 in handle_fatal_signal (sig=6) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/sql/signal_handler.cc:220 #3 <signal handler called> #4 0x00007f675c8fb5d7 in raise () from /lib64/libc.so.6 #5 0x00007f675c8fccc8 in abort () from /lib64/libc.so.6 #6 0x0000000001a337a7 in ut_dbg_assertion_failed (expr=0x2211a10 "block->magic_n == MEM_BLOCK_MAGIC_N", file=0x2211978 "/export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/storage/innobase/include/mem0mem.ic", line=157) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/storage/innobase/ut/ut0dbg.cc:67 #7 0x0000000001afaf7e in mem_block_validate (block=0x7f66d491f5c8) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/storage/innobase/include/mem0mem.ic:157 #8 0x0000000001afb22f in mem_heap_free (heap=0x7f66d491f5c8) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/storage/innobase/include/mem0mem.ic:523 #9 0x0000000001afc4c3 in dict_mem_table_free (table=0x7f66d491f760) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/storage/innobase/dict/dict0mem.cc:224 #10 0x00000000018164b9 in create_table_info_t::create_table_def (this=0x7f671a7acab0) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/storage/innobase/handler/ha_innodb.cc:10044 #11 0x00000000018039e8 in create_table_info_t::create_table (this=0x7f671a7acab0) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/storage/innobase/handler/ha_innodb.cc:11567 #12 0x000000000180464d in ha_innobase::create (this=0x7f66d4011d90, name=0x7f671a7ae454 "./db1/#sql-2a9c_2", form=0x7f671a7acc00, create_info=0x7f671a7afc40) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/storage/innobase/handler/ha_innodb.cc:11917 #13 0x0000000000e0cc76 in handler::ha_create (this=0x7f66d4011d90, name=0x7f671a7ae454 "./db1/#sql-2a9c_2", form=0x7f671a7acc00, info=0x7f671a7afc40) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/sql/handler.cc:4819 #14 0x0000000000e0d2a5 in ha_create_table (thd=0x7f66d4000b70, path=0x7f671a7ae454 "./db1/#sql-2a9c_2", db=0x7f66d40064b8 "db1", table_name=0x7f671a7adc00 "#sql-2a9c_2", create_info=0x7f671a7afc40, update_create_info=false, is_temp_table=false) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/sql/handler.cc:4978 #15 0x00000000014f1723 in mysql_alter_table (thd=0x7f66d4000b70, new_db=0x7f66d40064b8 "db1", new_name=0x0, create_info=0x7f671a7afc40, table_list=0x7f66d4005f30, alter_info=0x7f671a7afd40) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/sql/sql_table.cc:9570 #16 0x0000000001679969 in Sql_cmd_alter_table::execute (this=0x7f66d40064c8, thd=0x7f66d4000b70) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/sql/sql_alter.cc:316 #17 0x000000000145ccfe in mysql_execute_command (thd=0x7f66d4000b70, first_level=true) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/sql/sql_parse.cc:4806 #18 0x000000000145ec61 in mysql_parse (thd=0x7f66d4000b70, parser_state=0x7f671a7b1690) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/sql/sql_parse.cc:5518 #19 0x0000000001453776 in dispatch_command (thd=0x7f66d4000b70, com_data=0x7f671a7b1e00, command=COM_QUERY) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/sql/sql_parse.cc:1428 #20 0x0000000001452631 in do_command (thd=0x7f66d4000b70) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/sql/sql_parse.cc:996 #21 0x0000000001588c6d in handle_connection (arg=0x4ee26a0) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/sql/conn_handler/connection_handler_per_thread.cc:301 #22 0x0000000001bc0c75 in pfs_spawn_thread (arg=0x5032610) at /export/home/pb2/build/sb_0-17781605-1454370718.35/mysql-5.7.11/storage/perfschema/pfs.cc:2192 #23 0x00007f675dcf0df5 in start_thread () from /lib64/libpthread.so.0 #24 0x00007f675c9bc60d in clone () from /lib64/libc.so.6 (gdb)
[15 Mar 2016 22:55]
Roel Van de Paar
ERROR 3183 (HY000): This tablespace can't be encrypted. This looks incorrect in release build too (it's either already encrypted as shown or encryption is not possible for MEMORY, or ... :)
[6 May 2016 10:48]
Erlend Dahl
Fixed in 5.7.13 along with Bug#80182 Unsupported extension error for new features while 'create table like'