Bug #78714 | InnoDB: Failing assertion: !(&dict_sys->mutex)->is_owned() in dict0stats.cc 3049 | ||
---|---|---|---|
Submitted: | 6 Oct 2015 9:27 | Modified: | 3 Dec 2015 15:39 |
Reporter: | Roel Van de Paar | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: DML | Severity: | S6 (Debug Builds) |
Version: | 5.7.8 (RC2), 5.7.10, 8.0.0 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[6 Oct 2015 9:27]
Roel Van de Paar
[6 Oct 2015 9:52]
MySQL Verification Team
Hello Roel, Thank you for the report and test case. Observed that 5.7.10/5.8.0 debug builds crashed. Thanks, Umesh
[6 Oct 2015 9:53]
MySQL Verification Team
// 5.7.10 -- debug build [umshastr@hod03]/export/umesh/server/binaries/mysql-advanced-5.7.10: cat docs/INFO_SRC commit: a814c74e87b4ef1a81c59f10805bdd9f9ff903d4 date: 2015-10-01 15:51:16 +0200 build-date: 2015-10-01 18:03:36 +0200 short: a814c74 branch: mysql-5.7 MySQL source 5.7.10 (gdb) bt #0 0x00007f985944c771 in pthread_kill () from /lib64/libpthread.so.0 #1 0x00000000017e4450 in my_write_core (sig=6) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/mysys/stacktrace.c:247 #2 0x0000000000e507d2 in handle_fatal_signal (sig=6) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/signal_handler.cc:220 #3 <signal handler called> #4 0x00007f9857e465d7 in raise () from /lib64/libc.so.6 #5 0x00007f9857e47cc8 in abort () from /lib64/libc.so.6 #6 0x0000000001a57c53 in ut_dbg_assertion_failed (expr=0x22b8b28 "!(&dict_sys->mutex)->is_owned()", file=0x22b7d30 "/export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/storage/innobase/dict/dict0stats.cc", line=3049) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/storage/innobase/ut/ut0dbg.cc:67 #7 0x0000000001b29f7d in dict_stats_update (table=0x7f97e80411f0, stats_upd_option=DICT_STATS_EMPTY_TABLE) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/storage/innobase/dict/dict0stats.cc:3049 #8 0x00000000018392ac in create_table_info_t::create_table_update_dict (this=0x7f982bc3dbd0) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/storage/innobase/handler/ha_innodb.cc:11426 #9 0x00000000018396bf in ha_innobase::create (this=0x7f97e8040240, name=0x7f97e8084000 "/tmp/#sql_7d35_0", form=0x7f982bc3e8d0, create_info=0x7f982bc3e370) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/storage/innobase/handler/ha_innodb.cc:11561 #10 0x000000000157e827 in create_innodb_tmp_table (table=0x7f982bc3e8d0, keyinfo=0x0) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_tmp_table.cc:2250 #11 0x000000000157f65f in create_ondisk_from_heap (thd=0x7f97e800eca0, table=0x7f97e8082db0, start_recinfo=0x7f97e8083c40, recinfo=0x7f97e804ab68, error=135, ignore_last_dup=false, is_duplicate=0x0) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_tmp_table.cc:2521 #12 0x000000000153dc81 in schema_table_store_record (thd=0x7f97e800eca0, table=0x7f97e8082db0) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_show.cc:3096 #13 0x0000000001884565 in i_s_cmp_per_index_fill_low (thd=0x7f97e800eca0, tables=0x7f97e804a230, reset=0) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/storage/innobase/handler/i_s.cc:1814 #14 0x00000000018846e0 in i_s_cmp_per_index_fill (thd=0x7f97e800eca0, tables=0x7f97e804a230, cond=0x0) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/storage/innobase/handler/i_s.cc:1849 #15 0x000000000154f353 in do_fill_table (thd=0x7f97e800eca0, table_list=0x7f97e804a230, qep_tab=0x7f97e804bb48) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_show.cc:7970 #16 0x000000000154f73a in get_schema_tables_result (join=0x7f97e804b468, executed_place=PROCESSED_BY_JOIN_EXEC) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_show.cc:8072 #17 0x000000000152815d in JOIN::prepare_result (this=0x7f97e804b468) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_select.cc:909 #18 0x000000000148dc16 in JOIN::exec (this=0x7f97e804b468) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_executor.cc:124 #19 0x0000000001526cf2 in handle_query (thd=0x7f97e800eca0, lex=0x7f97e8010e00, result=0x7f97e804af90, added_options=0, removed_options=0) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_select.cc:184 #20 0x00000000014dd356 in execute_sqlcom_select (thd=0x7f97e800eca0, all_tables=0x7f97e804a230) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_parse.cc:4947 #21 0x00000000014d6baf in mysql_execute_command (thd=0x7f97e800eca0, first_level=true) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_parse.cc:2597 #22 0x00000000014de287 in mysql_parse (thd=0x7f97e800eca0, parser_state=0x7f982bc40dd0) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_parse.cc:5357 #23 0x00000000014d3ade in dispatch_command (thd=0x7f97e800eca0, com_data=0x7f982bc41e00, command=COM_QUERY) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_parse.cc:1284 #24 0x00000000014d2977 in do_command (thd=0x7f97e800eca0) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/sql_parse.cc:852 #25 0x00000000015fef49 in handle_connection (arg=0x54459f0) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/sql/conn_handler/connection_handler_per_thread.cc:295 #26 0x0000000001be60c4 in pfs_spawn_thread (arg=0x5546fc0) at /export/home2/pb2/build/sb_0-16631979-1443716475.4/mysqlcom-pro-5.7.10/storage/perfschema/pfs.cc:2192 #27 0x00007f9859447df5 in start_thread () from /lib64/libpthread.so.0 #28 0x00007f9857f0760d in clone () from /lib64/libc.so.6
[6 Oct 2015 9:54]
MySQL Verification Team
// 5.8.0 (gdb) bt #0 0x00007fec2002f771 in pthread_kill () from /lib64/libpthread.so.0 #1 0x00000000017d703b in my_write_core (sig=6) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/mysys/stacktrace.cc:251 #2 0x0000000001011ccf in handle_fatal_signal (sig=6) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/signal_handler.cc:221 #3 <signal handler called> #4 0x00007fec1ea295d7 in raise () from /lib64/libc.so.6 #5 0x00007fec1ea2acc8 in abort () from /lib64/libc.so.6 #6 0x0000000001ab4f07 in ut_dbg_assertion_failed (expr=0x220c7b8 "!(&dict_sys->mutex)->is_owned()", file=0x220b9c0 "/export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/storage/innobase/dict/dict0stats.cc", line=3053) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/storage/innobase/ut/ut0dbg.cc:67 #7 0x0000000001b92c4c in dict_stats_update (table=0x7febac0109b0, stats_upd_option=DICT_STATS_EMPTY_TABLE) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/storage/innobase/dict/dict0stats.cc:3053 #8 0x0000000001895bc1 in create_table_info_t::create_table_update_dict (this=0x7febf281fe00) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/storage/innobase/handler/ha_innodb.cc:11481 #9 0x0000000001895fa3 in ha_innobase::create (this=0x7febac011690, name=0x7febac0108e0 "/tmp/#sql_7f35_0", form=0x7febf28208f0, create_info=0x7febf2820390) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/storage/innobase/handler/ha_innodb.cc:11605 #10 0x0000000000f83227 in create_innodb_tmp_table (table=0x7febf28208f0, keyinfo=0x0) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_tmp_table.cc:2258 #11 0x0000000000f84051 in create_ondisk_from_heap (thd=0x7febac000b70, table=0x7febac00f690, start_recinfo=0x7febac010520, recinfo=0x7febac02ce08, error=135, ignore_last_dup=false, is_duplicate=0x0) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_tmp_table.cc:2530 #12 0x0000000000f40d33 in schema_table_store_record (thd=0x7febac000b70, table=0x7febac00f690) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_show.cc:3206 #13 0x00000000018e09d0 in i_s_cmp_per_index_fill_low (thd=0x7febac000b70, tables=0x7febac02c4d0, reset=0) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/storage/innobase/handler/i_s.cc:1797 #14 0x00000000018e0b4b in i_s_cmp_per_index_fill (thd=0x7febac000b70, tables=0x7febac02c4d0, cond=0x0) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/storage/innobase/handler/i_s.cc:1832 #15 0x0000000000f523a9 in do_fill_table (thd=0x7febac000b70, table_list=0x7febac02c4d0, qep_tab=0x7febac02dde8) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_show.cc:8064 #16 0x0000000000f52790 in get_schema_tables_result (join=0x7febac02d708, executed_place=PROCESSED_BY_JOIN_EXEC) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_show.cc:8166 #17 0x0000000000f29d0f in JOIN::prepare_result (this=0x7febac02d708) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_select.cc:924 #18 0x0000000000ebab90 in JOIN::exec (this=0x7febac02d708) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_executor.cc:139 #19 0x0000000000f288b2 in handle_query (thd=0x7febac000b70, lex=0x7febac002ce8, result=0x7febac02d230, added_options=0, removed_options=0) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_select.cc:190 #20 0x0000000000eeb56e in execute_sqlcom_select (thd=0x7febac000b70, all_tables=0x7febac02c4d0) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_parse.cc:4899 #21 0x0000000000ee4fc0 in mysql_execute_command (thd=0x7febac000b70, first_level=true) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_parse.cc:2564 #22 0x0000000000eec44e in mysql_parse (thd=0x7febac000b70, parser_state=0x7febf2822dd0) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_parse.cc:5305 #23 0x0000000000ee1f81 in dispatch_command (thd=0x7febac000b70, com_data=0x7febf2823e00, command=COM_QUERY) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_parse.cc:1251 #24 0x0000000000ee0e60 in do_command (thd=0x7febac000b70) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/sql_parse.cc:819 #25 0x00000000010021c3 in handle_connection (arg=0x51cdcf0) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/sql/conn_handler/connection_handler_per_thread.cc:296 #26 0x000000000180ad84 in pfs_spawn_thread (arg=0x5218aa0) at /export/home2/pb2/build/sb_0-16631638-1443713022.55/mysqlcom-pro-5.8.0-m17/storage/perfschema/pfs.cc:2211 #27 0x00007fec2002adf5 in start_thread () from /lib64/libpthread.so.0 #28 0x00007fec1eaea60d in clone () from /lib64/libc.so.6 (gdb) [umshastr@hod03]/export/umesh/server/binaries/mysql-advanced-5.8.0: cat docs/INFO_SRC commit: f1ca5c4badf22b044ad613b5797338b2ec5ec613 date: 2015-10-01 15:53:30 +0200 build-date: 2015-10-01 17:06:11 +0200 short: f1ca5c4 branch: mysql-trunk MySQL source 5.8.0
[3 Dec 2015 14:58]
Daniel Price
Posted by developer: Bug #21950756 INNODB: FAILING ASSERTION: !(&DICT_SYS->MUTEX)->IS_OWNED() IN DICT0STATS.CC 3049 Problem: When the information schema table information_schema.innodb_cmp_per_index is queried, an in-memory heap table is dynamically created and required data is populated. The data is collected from the dictionary and populated in the heap table. When the heap table becomes larger then it is converted to an on-disk InnoDB intrinsic temporary table. When the information is collected from data dictionary and populated in the in-memory heap table the dict_sys->mutex is taken. This mutex will be released when the heap table is completely populated. When the transition happens from in-memory heap table to on-disk InnoDB intrinsic temporary table, the dict_sys->mutex is being held. So when the InnoDB intrinsic temporary table is created the dict_sys->mutex is being held. This causes the assert. Solution: Before creating the InnoDB intrinsic temporary table release the dict_sys->mutex. Reacquire the dict_sys->mutex after creating the InnoDB intrinsic temporary table.
[3 Dec 2015 15:39]
Daniel Price
Posted by developer: Fixed as of the upcoming 5.7.11, 5.8.0 release, and here's the changelog entry: An INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX query raised an assertion. A dictionary mutex was taken while InnoDB populated an in-memory heap table. The mutex was not release before InnoDB attempted to convert the in-memory heap table to an intrinsic temporary table.
[18 Jun 2016 21:28]
Omer Barnir
Posted by developer: Reported version value updated to reflect release name change from 5.8 to 8.0