Bug #83794 InnoDB: Failing assertion: zip_size == fil_space_get_zip_size(space)
Submitted: 13 Nov 2016 23:53 Modified: 14 Nov 2016 0:09
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.6.34 OS:Any
Assigned to: CPU Architecture:Any
Tags: debug

[13 Nov 2016 23:53] Roel Van de Paar
Description:
2016-11-14 10:32:49 7f18988bb700  InnoDB: Assertion failure in thread 139743615235840 in file buf0buf.cc line 2635
InnoDB: Failing assertion: zip_size == fil_space_get_zip_size(space)

(gdb) bt
#0  0x00007f18982c6741 in __pthread_kill (threadid=<optimized out>, signo=6) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:61
#1  0x0000000000a9c852 in my_write_core (sig=6) at /git/mysql-server_dbg/mysys/stacktrace.c:422
#2  0x000000000072c554 in handle_fatal_signal (sig=6) at /git/mysql-server_dbg/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x00007f18968655f7 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#5  0x00007f1896866ce8 in __GI_abort () at abort.c:90
#6  0x0000000000d2444a in buf_page_get_gen (space=4294967295, zip_size=0, offset=0, rw_latch=2, guess=0x0, mode=10,
    file=0xf7d3f0 "/git/mysql-server_dbg/storage/innobase/handler/ha_innodb.cc", line=14647, mtr=0x7f18988b8e30) at /git/mysql-server_dbg/storage/innobase/buf/buf0buf.cc:2635
#7  0x0000000000b7fee7 in innodb_make_page_dirty (thd=0x7f186f787000, var=0x145c180 <mysql_sysvar_fil_make_page_dirty_debug>, var_ptr=0x175ace0 <srv_fil_make_page_dirty_debug>,
    save=0x7f186301f1f0) at /git/mysql-server_dbg/storage/innobase/handler/ha_innodb.cc:14646
#8  0x00000000007f0490 in sys_var_pluginvar::global_update (this=0x7f187bbee988, thd=0x7f186f787000, var=0x7f186301f1d0) at /git/mysql-server_dbg/sql/sql_plugin.cc:3268
#9  0x000000000072a0a9 in sys_var::update (this=0x7f187bbee988, thd=0x7f186f787000, var=0x7f186301f1d0) at /git/mysql-server_dbg/sql/set_var.cc:193
#10 0x000000000072b182 in set_var::update (this=0x7f186301f1d0, thd=0x7f186f787000) at /git/mysql-server_dbg/sql/set_var.cc:670
#11 0x000000000072ad5a in sql_set_variables (thd=0x7f186f787000, var_list=0x7f186f789a68) at /git/mysql-server_dbg/sql/set_var.cc:573
#12 0x00000000007dbe89 in mysql_execute_command (thd=0x7f186f787000) at /git/mysql-server_dbg/sql/sql_parse.cc:3719
#13 0x00000000007e2d7e in mysql_parse (thd=0x7f186f787000, rawbuf=0x7f186301f010 "SET GLOBAL innodb_fil_make_page_dirty_debug=", '9' <repeats 11 times>, length=55,
    parser_state=0x7f18988ba5a0) at /git/mysql-server_dbg/sql/sql_parse.cc:6385
#14 0x00000000007d5faf in dispatch_command (command=COM_QUERY, thd=0x7f186f787000, packet=0x7f186f76b001 "SET GLOBAL innodb_fil_make_page_dirty_debug=", '9' <repeats 11 times>,
    packet_length=55) at /git/mysql-server_dbg/sql/sql_parse.cc:1339
#15 0x00000000007d5016 in do_command (thd=0x7f186f787000) at /git/mysql-server_dbg/sql/sql_parse.cc:1036
#16 0x000000000079c9a5 in do_handle_one_connection (thd_arg=0x7f186f787000) at /git/mysql-server_dbg/sql/sql_connect.cc:982
#17 0x000000000079c48e in handle_one_connection (arg=0x7f186f787000) at /git/mysql-server_dbg/sql/sql_connect.cc:898
#18 0x0000000000ae8ac9 in pfs_spawn_thread (arg=0x7f187b3896a0) at /git/mysql-server_dbg/storage/perfschema/pfs.cc:1860
#19 0x00007f18982c1dc5 in start_thread (arg=0x7f18988bb700) at pthread_create.c:308
#20 0x00007f1896926ced in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113

How to repeat:
SET GLOBAL innodb_fil_make_page_dirty_debug=99999999999;
[14 Nov 2016 0:03] MySQL Verification Team
c:\dbs>c:\dbs\5.6\bin\mysql -uroot --port=3560 -p --prompt="mysql 5.6 > "
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.36 Source distribution PULL: 2016-NOV-05

Copyright (c) 2000, 2016, 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.6 > SET GLOBAL innodb_fil_make_page_dirty_debug=99999999999;
ERROR 1193 (HY000): Unknown system variable 'innodb_fil_make_page_dirty_debug'
mysql 5.6 > exit
Bye

c:\dbs>56c

c:\dbs>c:\dbs\5.6\bin\mysql -uroot --port=3560 -p --prompt="mysql 5.6 > "
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.36-debug Source distribution PULL: 2016-NOV-05

Copyright (c) 2000, 2016, 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.6 > SET GLOBAL innodb_fil_make_page_dirty_debug=99999999999;
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql 5.6 >

2016-11-13 22:00:54 10268 [Note] c:\dbs\5.6\bin\mysqld: ready for connections.
Version: '5.6.36-debug'  socket: ''  port: 3560  Source distribution PULL: 2016-NOV-05
2016-11-13 22:01:12 1c94  InnoDB: Assertion failure in thread 7316 in file buf0buf.cc line 2635
InnoDB: Failing assertion: zip_size == fil_space_get_zip_size(space)
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.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
R6010
- abort() has been called
00:01:12 UTC - mysqld got exception 0x80000003 ;
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.
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

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

Thread pointer: 0x24a7d099510
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...
7ff76949ea45    mysqld.exe!my_sigabrt_handler()[my_thr_init.c:455]
7ff769a81e1f    mysqld.exe!raise()[winsig.c:594]
7ff769a83d50    mysqld.exe!abort()[abort.c:82]
7ff76954e472    mysqld.exe!buf_page_get_gen()[buf0buf.cc:2635]
7ff76952b17e    mysqld.exe!innodb_make_page_dirty()[ha_innodb.cc:14678]
7ff768fbff18    mysqld.exe!sys_var_pluginvar::global_update()[sql_plugin.cc:3270]
7ff769169614    mysqld.exe!sys_var::update()[set_var.cc:194]
7ff769169c77    mysqld.exe!set_var::update()[set_var.cc:670]
7ff76916a992    mysqld.exe!sql_set_variables()[set_var.cc:573]
7ff7690da176    mysqld.exe!mysql_execute_command()[sql_parse.cc:3750]
7ff7690d5fba    mysqld.exe!mysql_parse()[sql_parse.cc:6416]
7ff7690df6a9    mysqld.exe!dispatch_command()[sql_parse.cc:1372]
7ff7690de6c5    mysqld.exe!do_command()[sql_parse.cc:1036]
7ff76912ffe2    mysqld.exe!do_handle_one_connection()[sql_connect.cc:982]
7ff76912fe12    mysqld.exe!handle_one_connection()[sql_connect.cc:900]
7ff76995a2e5    mysqld.exe!pfs_spawn_thread()[pfs.cc:1862]
7ff76949d016    mysqld.exe!pthread_start()[my_winthread.c:62]
7ff769a92395    mysqld.exe!_callthreadstartex()[threadex.c:376]
7ff769a925e7    mysqld.exe!_threadstartex()[threadex.c:359]
7fff5ca48364    KERNEL32.DLL!BaseThreadInitThunk()
7fff5ead5e91    ntdll.dll!RtlUserThreadStart()
[14 Nov 2016 0:09] MySQL Verification Team
Thank you for the bug report.