Bug #83361 InnoDB: Failing assertion: logger->debug()
Submitted: 13 Oct 2016 6:26 Modified: 13 Oct 2016 7:30
Reporter: Roel Van de Paar Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.7.13, 5.7.15 OS:Any
Assigned to: CPU Architecture:Any

[13 Oct 2016 6:26] Roel Van de Paar
Description:
Version: '5.7.13-debug'  socket: '/sda/MS270616-mysql-5.7.13-linux-x86_64-debug/socket.sock'  port: 12897  MySQL Community Server (GPL)
2016-10-13T06:06:49.942081Z 2 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2016-10-13T06:06:49.942133Z 2 [ERROR] InnoDB: row_merge_rename_index_to_add failed with error 47
2016-10-13T06:06:49.949836Z 2 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2016-10-13T06:06:49.953175Z 2 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2016-10-13T06:06:49.954436Z 2 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2016-10-13T06:06:49.955697Z 2 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2016-10-13T06:06:49.956930Z 2 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2016-10-13T06:06:49.958155Z 2 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2016-10-13T06:06:49.959359Z 2 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2016-10-13T06:06:49.960615Z 2 [Warning] InnoDB: Cannot find a free slot for an undo log. Do you have too many active transactions running concurrently?
2016-10-13 17:06:50 0x7f61b1610700  InnoDB: Assertion failure in thread 140057564481280 in file row0trunc.cc line 1983
InnoDB: Failing assertion: logger->debug()

+bt
#0  0x00007f61b101c741 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1  0x0000000001818928 in my_write_core (sig=6) at /git/mysql-5.7.13_dbg/mysys/stacktrace.c:247
#2  0x0000000000e6e428 in handle_fatal_signal (sig=6) at /git/mysql-5.7.13_dbg/sql/signal_handler.cc:220
#3  <signal handler called>
#4  0x00007f61af3b35f7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#5  0x00007f61af3b4ce8 in __GI_abort () at abort.c:90
#6  0x0000000001b7a6e3 in ut_dbg_assertion_failed (expr=0x21be99c "logger->debug()", file=0x21be050 "/git/mysql-5.7.13_dbg/storage/innobase/row/row0trunc.cc", line=1983) at /git/mysql-5.7.13_dbg/storage/innobase/ut/ut0dbg.cc:67
#7  0x0000000001ae517e in row_truncate_table_for_mysql (table=0x7f61848916a0, trx=0x7f61a10008b0) at /git/mysql-5.7.13_dbg/storage/innobase/row/row0trunc.cc:1983
#8  0x00000000019586e9 in ha_innobase::truncate (this=0x7f61848ab030) at /git/mysql-5.7.13_dbg/storage/innobase/handler/ha_innodb.cc:12235
#9  0x0000000000eeed43 in handler::ha_truncate (this=0x7f61848ab030) at /git/mysql-5.7.13_dbg/sql/handler.cc:4642
#10 0x0000000001725f81 in Sql_cmd_truncate_table::handler_truncate (this=0x7f618482bf40, thd=0x7f6184819000, table_ref=0x7f618482b9b0, is_tmp_table=false) at /git/mysql-5.7.13_dbg/sql/sql_truncate.cc:244
#11 0x00000000017267e2 in Sql_cmd_truncate_table::truncate_table (this=0x7f618482bf40, thd=0x7f6184819000, table_ref=0x7f618482b9b0) at /git/mysql-5.7.13_dbg/sql/sql_truncate.cc:504
#12 0x0000000001726949 in Sql_cmd_truncate_table::execute (this=0x7f618482bf40, thd=0x7f6184819000) at /git/mysql-5.7.13_dbg/sql/sql_truncate.cc:560
#13 0x00000000014f0945 in mysql_execute_command (thd=0x7f6184819000, first_level=true) at /git/mysql-5.7.13_dbg/sql/sql_parse.cc:4807
#14 0x00000000014f2743 in mysql_parse (thd=0x7f6184819000, parser_state=0x7f61b160f560) at /git/mysql-5.7.13_dbg/sql/sql_parse.cc:5525
#15 0x00000000014e7fdb in dispatch_command (thd=0x7f6184819000, com_data=0x7f61b160fcb0, command=COM_QUERY) at /git/mysql-5.7.13_dbg/sql/sql_parse.cc:1429
#16 0x00000000014e6ea5 in do_command (thd=0x7f6184819000) at /git/mysql-5.7.13_dbg/sql/sql_parse.cc:997
#17 0x0000000001614344 in handle_connection (arg=0x7f618f73d8c0) at /git/mysql-5.7.13_dbg/sql/conn_handler/connection_handler_per_thread.cc:301
#18 0x0000000001844e24 in pfs_spawn_thread (arg=0x7f61983eb120) at /git/mysql-5.7.13_dbg/storage/perfschema/pfs.cc:2188
#19 0x00007f61b1017dc5 in start_thread (arg=0x7f61b1610700) at pthread_create.c:308
#20 0x00007f61af474ced in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

How to repeat:
DROP DATABASE test;CREATE DATABASE test;USE test;
SET @@GLOBAL.innodb_trx_rseg_n_slots_debug=1;
CREATE TABLE t2(c1 CHAR (2)BINARY CHARACTER SET "latin1" COLLATE "latin1_bin",c2 REAL(1,1),c3 BLOB,KEY (c1)) ENGINE=InnoDB;
INSERT INTO t2 VALUES(0,6934,1.e+20);
CREATE TABLE t1(c1 NUMERIC(1)UNSIGNED ZEROFILL,c2 INT(1) UNSIGNED ZEROFILL,c3 GEOMETRY,KEY (c1)) ENGINE=InnoDB;
ALTER TABLE t1 ADD UNIQUE(c2);
INSERT INTO t2 SELECT * FROM t1;
TRUNCATE t1;
TRUNCATE t1;
TRUNCATE t1;
TRUNCATE t1;
TRUNCATE t1;
TRUNCATE t1;
TRUNCATE t1;
TRUNCATE t1;
[13 Oct 2016 6:27] Roel Van de Paar
.
[13 Oct 2016 7:30] MySQL Verification Team
Hello Roel,

Thank you for the report and test case.
Observed this with 5.7.15 debug build.

Thanks,
Umesh