Bug #90346 InnoDB: Failing assertion: format != 0
Submitted: 9 Apr 2018 8:59 Modified: 10 Apr 2018 8:41
Reporter: javen zhen Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: DDL Severity:S3 (Non-critical)
Version:5.7.19 OS:MacOS
Assigned to: CPU Architecture:Any

[9 Apr 2018 8:59] javen zhen
Description:
2018-04-09 16:00:21 0x700007f04000  InnoDB: Assertion failure in thread 123145435496448 in file ha_innodb.cc line 20927
InnoDB: Failing assertion: format != 0
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
08:00:21 UTC - mysqld got signal 6 ;
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.
Attempting to collect some information that could help diagnose the problem.
As this is a crash and something is definitely wrong, the information
collection process might fail.

key_buffer_size=8388608
read_buffer_size=16777216
max_used_connections=1
max_threads=512
thread_count=2
connection_count=1
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 25180932 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x7f86b59eda00
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 = 700007f03e90 thread_stack 0x40000
0   mysqld                              0x000000010385b12a my_print_stacktrace + 58
1   mysqld                              0x00000001037b7e30 handle_fatal_signal + 688
2   libsystem_platform.dylib            0x00007fff7ab81f5a _sigtramp + 26
3   mysqld                              0x0000000104175c4b _ZZN10binary_log4Uuid9to_stringEPKhPcE11byte_to_hex + 78811
4   libsystem_c.dylib                   0x00007fff7a9ac312 abort + 127
5   mysqld                              0x0000000103ab1471 _Z23ut_dbg_assertion_failedPKcS0_m + 161
6   mysqld                              0x0000000103970147 _Z11ib_senderrfP3THD14ib_log_level_tjz + 359
7   mysqld                              0x0000000103982b27 _Z7ib_errfP3THD14ib_log_level_tjPKcz + 199
8   mysqld                              0x0000000103984f9c _ZL25innobase_alter_tablespaceP10handlertonP3THDP19st_alter_tablespace + 1260
9   mysqld                              0x00000001037353e4 _Z22mysql_alter_tablespaceP3THDP19st_alter_tablespace + 228
10  mysqld                              0x00000001036c6920 _Z21mysql_execute_commandP3THDb + 12816
11  mysqld                              0x00000001036c2d28 _Z11mysql_parseP3THDP12Parser_state + 872
12  mysqld                              0x00000001036c1b98 _Z16dispatch_commandP3THDPK8COM_DATA19enum_server_command + 4728
13  mysqld                              0x00000001036c2789 _Z10do_commandP3THD + 505
14  mysqld                              0x000000010379ba44 handle_connection + 436
15  mysqld                              0x0000000103b11756 pfs_spawn_thread + 310
16  libsystem_pthread.dylib             0x00007fff7ab8b6c1 _pthread_body + 340
17  libsystem_pthread.dylib             0x00007fff7ab8b56d _pthread_body + 0
18  libsystem_pthread.dylib             0x00007fff7ab8ac5d thread_start + 13

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (7f86b589dc30): drop tablespace ts1
Connection ID (thread ID): 4
Status: NOT_KILLED

The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.

How to repeat:
create tablespace ts1 add datafile 'ts1';
drop tablespace ts1;
[9 Apr 2018 10:54] MySQL Verification Team
Thank you for the bug report. It's your how to repeat the right way to repeat the issue?

C:\tmp\mysql-5.7.19-winx64>bin\mysql -uroot -p test
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.7.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, 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> create tablespace ts1 add datafile 'ts1';
ERROR 3121 (HY000): Incorrect File Name 'ts1'.
mysql> drop tablespace ts1;
ERROR 1529 (HY000): Failed to drop TABLESPACE ts1
mysql>
[10 Apr 2018 2:03] javen zhen
Sorry!I forgot to add the .ibd.
The correct syntax is.

create tablespace ts1 add datafile 'ts1.ibd';
drop tablespace ts1;
[10 Apr 2018 8:25] MySQL Verification Team
Thank you for the feedback. Not repeatable with most recent source server:

Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.23 Source distribution 2018-APR-04

Copyright (c) 2000, 2018, 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 5.7 > create tablespace ts1 add datafile 'ts1.ibd';
Query OK, 0 rows affected (0,14 sec)

mysql 5.7 > drop tablespace ts1;
]Query OK, 0 rows affected (0,10 sec)

mysql 5.7 >

miguel@tikal:~/dbsd $ ./57c
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.23-debug Source distribution 2018-APR-04

Copyright (c) 2000, 2018, 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 5.7 > create tablespace ts1 add datafile 'ts1.ibd';
Query OK, 0 rows affected (0,14 sec)

mysql 5.7 > drop tablespace ts1;
Query OK, 0 rows affected (0,09 sec)

mysql 5.7 >
[10 Apr 2018 8:31] MySQL Verification Team
Also not repeatable on Windows with version reported:

C:\tmp\mysql-5.7.19-winx64>bin\mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.19 MySQL Community Server (GPL)

Copyright (c) 2000, 2017, 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> create tablespace ts1 add datafile 'ts1.ibd';
Query OK, 0 rows affected (0.03 sec)

mysql> drop tablespace ts1;
Query OK, 0 rows affected (0.02 sec)

mysql>
[10 Apr 2018 8:41] MySQL Verification Team
Not repeatable with current released version on MAC OS X. Thank you for the bug report and feedback.

miguel:~ miguel$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.21 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, 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> create tablespace ts1 add datafile 'ts1.ibd';
Query OK, 0 rows affected (0.01 sec)

mysql> drop tablespace ts1;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye
miguel:~ miguel$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.13.4
BuildVersion:	17E199
miguel:~ miguel$