Bug #75640 Failing assertion: array->n_elems < array->max_elems in sync_thread_add_level
Submitted: 27 Jan 2015 4:50 Modified: 27 Jan 2015 7:49
Reporter: Ramesh Sivaraman Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: DML Severity:S3 (Non-critical)
Version:5.6.21-debug, 5.6.24 OS:Linux (CentOS 7)
Assigned to: CPU Architecture:Any

[27 Jan 2015 4:50] Ramesh Sivaraman
Description:
** GDB info

+bt
#0  0x00007f599b07d771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000a954ea in my_write_core (sig=6) at /ssd/ramesh/mysql-server/mysql-5.6/mysys/stacktrace.c:422
#2  0x0000000000726494 in handle_fatal_signal (sig=6) at /ssd/ramesh/mysql-server/mysql-5.6/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x00007f5999e895c9 in raise () from /lib64/libc.so.6
#5  0x00007f5999e8acd8 in abort () from /lib64/libc.so.6
#6  0x0000000000c03ae2 in sync_thread_add_level (latch=0x7f599475d4f8, level=135, relock=0) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/syn
c/sync0sync.cc:1318
#7  0x0000000000c02368 in mutex_set_debug_info (mutex=0x7f599475d4f8, file_name=0x104ef70 "/ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/fil/fil
0fil.cc", line=1614) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/sync/sync0sync.cc:615
#8  0x0000000000ce157b in mutex_enter_func (mutex=0x7f599475d4f8, file_name=0x104ef70 "/ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/fil/fil0fil.cc", line=1614) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/include/sync0sync.ic:224
#9  0x0000000000ce1645 in pfs_mutex_enter_func (mutex=0x7f599475d4f8, file_name=0x104ef70 "/ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/fil/fil0fil.cc", line=1614) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/include/sync0sync.ic:261
#10 0x0000000000ce6362 in fil_space_get_flags (id=8) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/fil/fil0fil.cc:1614
#11 0x0000000000ce63ca in fil_space_get_zip_size (id=8) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/fil/fil0fil.cc:1643
#12 0x0000000000c7e9cf in buf_page_get_gen (space=8, zip_size=0, offset=4, rw_latch=2, guess=0x0, mode=10, file=0x10341e8 "/ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/btr/btr0cur.cc", line=787, mtr=0x7f599b631120) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/buf/buf0buf.cc:2536
#13 0x0000000000c5a796 in btr_block_get_func (space=8, zip_size=0, page_no=4, mode=2, file=0x10341e8 "/ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/btr/btr0cur.cc", line=787, index=0x7f58f646d778, mtr=0x7f599b631120) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/include/btr0btr.ic:60
#14 0x0000000000c5d023 in btr_cur_search_to_nth_level (index=0x7f58f646d778, level=11, tuple=0x7f58f65077f8, mode=4, latch_mode=34, cursor=0x7f599b62f1b0, has_search_latch=0, file=0x10306a8 "/ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/btr/btr0btr.cc", line=1495, mtr=0x7f599b631120) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/btr/btr0cur.cc:786
#15 0x0000000000c4a815 in btr_page_get_father_node_ptr_func (offsets=0x0, heap=0x7f58f6507780, cursor=0x7f599b62f1b0, file=0x10306a8 "/ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/btr/btr0btr.cc", line=1495, mtr=0x7f599b631120) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/btr/btr0btr.cc:1423
#16 0x0000000000c4abbc in btr_page_get_father_block (offsets=0x0, heap=0x7f58f6507780, index=0x7f58f646d778, block=0x7f5982521000, mtr=0x7f599b631120, cursor=0x7f599b62f1b0) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/btr/btr0btr.cc:1495
#17 0x0000000000c5107e in btr_check_node_ptr (index=0x7f58f646d778, block=0x7f5982521000, mtr=0x7f599b631120) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/btr/btr0btr.cc:4316
[..]
#67 0x0000000000796362 in handle_one_connection (arg=0x7f5907b5d000) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_connect.cc:898
#68 0x0000000000d71288 in pfs_spawn_thread (arg=0x7f59973fea60) at /ssd/ramesh/mysql-server/mysql-5.6/storage/perfschema/pfs.cc:1860
#69 0x00007f599b078df3 in start_thread () from /lib64/libpthread.so.0
#70 0x00007f5999f4a1ad in clone () from /lib64/libc.so.6

How to repeat:
** Testcase

DROP DATABASE test;CREATE DATABASE test;USE test;
set global innodb_limit_optimistic_insert_debug=2;
CREATE TEMPORARY TABLE t1(c1 INT,INDEX(c1));
insert into t1 values('ꪪꪪꪪ');
INSERT INTO t1 VALUES(0xADDC),(8385958.0000009),(8385958.9),(-8385958.0000009),(-8385958.9),(101010.9999994),(101010.9999995),(-101010.9999994),(-101010.9999995),(GeomFromText('POINT(394308025 117809834)')),('00:00:00.990000'),(90),(1),(2),(3),(4),(5),(6),(7),('10:11:12.000000'),(0x039C03C903B403B11F770308),("a"),("abc"),("abcd"),("hello"),("test");
ALTER TABLE t1 ADD c2 TIMESTAMP;
INSERT INTO t1 VALUES(2,1),(-2147483648,0),(0,0),(2147483647,4294967295),(0,0),('2147483647','4294967295'),(-2147483648.0,0.0),(2147483647.0,4294967295.0);
REPLACE INTO t1 VALUES(1,1111),(4,444),(0,001);
INSERT INTO t1 VALUES(0,0),(2,1),(2,3),(1,1),(30,20),(0,repeat(@stuff,2000));
ALTER TABLE t1 MODIFY c1 DECIMAL UNSIGNED ZEROFILL;
insert into t1 values(6,repeat('%',12)),(0,0),(1,1),(6,"SQL MODE NO_DIR_IN_CREATE prevents DATA DIRECTORY"),(1,0),(2,0),(3,0),(3,"tspace"),(1,1),(1,2),(2,3),(2,4),(2,"Auto 2"),(94,46),(31,438),(61,152),(78,123),(88,411),(122,118),(0,177),(75,42),(108,67),(79,349),(59,188),(68,206),(49,345),(118,380),(111,368),(94,468),(56,379),(77,133),(29,399),(9,363),(23,36),(116,390),(119,368),(87,351),(123,411),(24,398),(34,202),(28,499),(30,83),(5,178),(60,343),(4,245),(104,280),(106,446),(127,403),(44,307),(68,454),(57,135),(null,23),(1,null),(null,null),(1,1),(0,0),(5,0),(6,0),(0,1),(1,2),(2,3),('1902','1902'),('1971','1971'),('1998','1998'),('2001','2001'),('2154','2154'),(2,'2001-01-01 10:01:02');
insert into t1(c1)values (4),(5),(6);
INSERT INTO t1 VALUES(1,0),(1,0),(2,0),(2,0),(10,1),(11,7),(0,1),(17,18),(1,null),(2,null),(3,"foo"),(4,"bar"),(1,1),(1,2),(1,3),(2,4),(2,5),(3,10),(1,0),(2,0),(12,5),(12,5);
[27 Jan 2015 7:49] MySQL Verification Team
Hello Ramesh Sivaraman,

Thank you for the report and test case.
Observed that 5.6.24 debug build is affected.

Thanks,
Umesh
[27 Jan 2015 7:50] MySQL Verification Team
// 5.6.24 Build used

commit: 3e1a0f1ef8c8a11a77f9e22677170c832ee13ca5
date: 2015-01-19 20:12:44 +0530
build-date: 2015-01-19 15:53:59 +0100
short: 3e1a0f1
branch: mysql-5.6

MySQL source 5.6.24

2015-01-27 08:02:41 6265 [Note] bin/mysqld-debug: ready for connections.
Version: '5.6.24-enterprise-commercial-advanced-debug'  socket: '/tmp/mysql_ushastry.sock'  port: 15000  MySQL Enterprise Server - Advanced Edition Debug (Commercial)
2015-01-27 08:03:00 7f7ceac38700  InnoDB: Assertion failure in thread 140174491354880 in file sync0sync.cc line 1318
InnoDB: Failing assertion: array->n_elems < array->max_elems
[27 Jan 2015 7:52] MySQL Verification Team
gdb backtraces - 5.6.24

Attachment: 75640.txt (text/plain), 17.96 KiB.

[27 Jan 2015 7:58] MySQL Verification Team
// Could not repeat the issue on 5.7.6 with provided test case and below build

commit: 7d93e60fbb5f03364c8c40386dcc979138fe956c
date: 2015-01-19 20:14:13 +0530
build-date: 2015-01-19 17:02:01 +0100
short: 7d93e60
branch: mysql-trunk

MySQL source 5.7.6