Bug #91975 | InnoDB: Assertion failure: dict0dd.cc:1071:!fail | ||
---|---|---|---|
Submitted: | 11 Aug 2018 0:24 | Modified: | 17 May 2019 14:11 |
Reporter: | Roel Van de Paar | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S6 (Debug Builds) |
Version: | 8.0.12 | OS: | Any |
Assigned to: | CPU Architecture: | Any | |
Tags: | debug |
[11 Aug 2018 0:24]
Roel Van de Paar
[11 Aug 2018 0:25]
Roel Van de Paar
Additional testcase CREATE DATABASE test; USE test; CREATE TEMPORARY TABLE t5(c1 INT); create table t1(pk int key); SET GLOBAL super_read_only=1; CREATE TEMPORARY TABLE t1(c1 INT); RENAME TABLE t1 TO t5;
[11 Aug 2018 13:51]
MySQL Verification Team
Thank you for the bugh report. 2018-08-11T13:49:10.218161Z 0 [System] [MY-010931] [Server] /home/miguel/dbsd/8.0/bin/mysqld: ready for connections. Version: '8.0.13-debug' socket: '/tmp/mysql80.sock' port: 3380 Source distribution BUILD: 2018-JUL-20. 2018-08-11T13:49:11.414017Z 0 [ERROR] [MY-011300] [Server] Plugin mysqlx reported: 'Setup of bind-address: '*' port: 33060 failed, `bind()` failed with error: Address already in use (98). Do you already have another mysqld server running with Mysqlx ?' 2018-08-11T13:49:11.414162Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: '/tmp/mysqlx.sock' 2018-08-11T13:49:48.020219Z 9 [ERROR] [MY-013183] [InnoDB] Assertion failure: dict0dd.cc:1072:!fail thread 139726831269632 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/8.0/en/forcing-innodb-recovery.html InnoDB: about forcing recovery. 13:49:48 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=131072 max_used_connections=1 max_threads=151 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 = 67870 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x7f142011c720 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 = 7f14b024ac00 thread_stack 0x46000 /home/miguel/dbsd/8.0/bin/mysqld(my_print_stacktrace(unsigned char*, unsigned long)+0x43) [0x4148f2c] /home/miguel/dbsd/8.0/bin/mysqld(handle_fatal_signal+0x3f5) [0x2f1d23e] /lib64/libpthread.so.0(+0xf6d0) [0x7f14c2cf06d0] /lib64/libc.so.6(gsignal+0x37) [0x7f14c1007277] /lib64/libc.so.6(abort+0x148) [0x7f14c1008968] /home/miguel/dbsd/8.0/bin/mysqld(ut_dbg_assertion_failed(char const*, char const*, unsigned long)+0x187) [0x450a010] /home/miguel/dbsd/8.0/bin/mysqld(dd_rename_tablespace(unsigned long long, char const*, char const*)+0x574) [0x45fb086] /home/miguel/dbsd/8.0/bin/mysqld(int innobase_basic_ddl::rename_impl<dd::Table>(THD*, char const*, char const*, dd::Table const*, dd::Table const*)+0x423) [0x4292231] /home/miguel/dbsd/8.0/bin/mysqld(ha_innobase::rename_table(char const*, char const*, dd::Table const*, dd::Table*)+0x268) [0x4275910] /home/miguel/dbsd/8.0/bin/mysqld(handler::ha_rename_table(char const*, char const*, dd::Table const*, dd::Table*)+0x7c) [0x3095d28] /home/miguel/dbsd/8.0/bin/mysqld(mysql_rename_table(THD*, handlerton*, char const*, char const*, char const*, char const*, dd::Schema const&, char const*, char const*, unsigned int)+0xb33) [0x2e23fb7] /home/miguel/dbsd/8.0/bin/mysqld() [0x2dc86aa] /home/miguel/dbsd/8.0/bin/mysqld() [0x2dc8d40] /home/miguel/dbsd/8.0/bin/mysqld(mysql_rename_tables(THD*, TABLE_LIST*)+0x763) [0x2dc7371] /home/miguel/dbsd/8.0/bin/mysqld(mysql_execute_command(THD*, bool)+0x1cc5) [0x2d7dfcb] /home/miguel/dbsd/8.0/bin/mysqld(mysql_parse(THD*, Parser_state*, bool)+0x66f) [0x2d83776] /home/miguel/dbsd/8.0/bin/mysqld(dispatch_command(THD*, COM_DATA const*, enum_server_command)+0x1350) [0x2d79cb6] /home/miguel/dbsd/8.0/bin/mysqld(do_command(THD*)+0x43a) [0x2d783dc] /home/miguel/dbsd/8.0/bin/mysqld() [0x2f09eac] /home/miguel/dbsd/8.0/bin/mysqld() [0x4799b6d] /lib64/libpthread.so.0(+0x7e25) [0x7f14c2ce8e25] /lib64/libc.so.6(clone+0x6d) [0x7f14c10cfbad] Trying to get some variables.
[12 Aug 2018 21:41]
Roel Van de Paar
Another testcase. It crashed 8.0.4rc too, but with a different stack. CREATE DATABASE test; USE test; CREATE TABLE t1(b INT)ENGINE=innodb; ALTER TABLE t1 ALGORITHM=DEFAULT,DISCARD TABLESPACE; ALTER TABLE t1 RENAME b; CREATE TABLE t1(b INT KEY,c TEXT,d TEXT)ENGINE=MyISAM; ALTER TABLE t1 ENGINE=InnoDB;
[12 Aug 2018 21:42]
Roel Van de Paar
Guys, this bug looks bad. Please check.
[14 Aug 2018 13:07]
Erlend Dahl
Posted by developer: The first testcase takes out 8.0.11 too.
[25 Aug 2018 6:11]
Roel Van de Paar
Is the "14 Aug 13:07" comment meant to imply that this bug is not a recent regression? I hope not.
[26 Oct 2018 4:50]
Gopal Shankar
Posted by developer: Docs says: https://dev.mysql.com/doc/refman/8.0/en/temporary-table-problems.html .. To rename TEMPORARY tables, RENAME TABLE does not work. Use ALTER TABLE instead: .. So following works fine: CREATE TABLE t1(c3 INT); SET @@global.super_read_only=TRUE; CREATE TEMPORARY TABLE t1(a INT); CREATE TEMPORARY TABLE t3(a INT); ALTER TABLE t1 rename t3; There are very old bugs related to this JFYI. https://clustra.no.oracle.com/orabugs/bug.php?id=11744752 https://bugs.mysql.com/bug.php?id=49855 https://bugs.mysql.com/bug.php?id=1154 https://bugs.mysql.com/bug.php?id=44364 https://bugs.mysql.com/bug.php?id=8729 This is JFYI. Need few more discussion on approach to fix.
[17 May 2019 11:00]
Gopal Shankar
Posted by developer: Logged another Bug#29793800 for the scenario reported by Roy, as it is not related to this bug. .... [12 Aug 2018 14:42] Mysqlsys_ww (MYSQLSYS) * Original entry logged in the MySQL bug system by: Roel Van de Paar on 12-Aug-2018 21:41:50 MySQL comment id: 478174 Another testcase. It crashed 8.0.4rc too, but with a different stack. ....
[17 May 2019 14:11]
Daniel Price
Posted by developer: Fixed as of the upcoming 8.0.17 release, and here's the changelog entry: With super_read_only enabled, an attempted RENAME TABLE operation on a temporary table raised an assertion instead of returning an error.