Bug #70396 the server was crashed while running 5.7.2 on the dataset of 5.6.14
Submitted: 22 Sep 2013 10:44 Modified: 21 Feb 2014 12:04
Reporter: zhai weixiang (OCA) Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.7.2 OS:Any
Assigned to: CPU Architecture:Any

[22 Sep 2013 10:44] zhai weixiang
Description:
Run MySQL5.7.2 on the dataset of MySQL5.6.14, and immediately shutdown happened because I configured key_buffer in my.cnf ( seems disappeared in 5.7). 

Then I noticed a core file was generated in my $DATA dir 

detail:

#6  0x0000000000a1b832 in trx_rseg_mem_free (rseg=0x81ddab60, rseg_array=0x81db0c78) at /u01/project/mysql-5.7.2-m12/storage/innobase/trx/trx0rseg.cc:133
133             ut_a(UT_LIST_GET_LEN(rseg->update_undo_list) == 0);
(gdb) bt
#0  0x0000003c2aa0c63c in pthread_kill () from /lib64/libpthread.so.0
#1  0x000000000076c9a8 in handle_fatal_signal (sig=6) at /u01/project/mysql-5.7.2-m12/sql/signal_handler.cc:216
#2  <signal handler called>
#3  0x0000003c2a632885 in raise () from /lib64/libc.so.6
#4  0x0000003c2a634065 in abort () from /lib64/libc.so.6
#5  0x0000000000678281 in ut_abort () at /u01/project/mysql-5.7.2-m12/storage/innobase/ut/ut0dbg.cc:45
#6  0x0000000000a1b832 in trx_rseg_mem_free (rseg=0x81ddab60, rseg_array=0x81db0c78) at /u01/project/mysql-5.7.2-m12/storage/innobase/trx/trx0rseg.cc:133
#7  0x0000000000a1cbc8 in trx_sys_close () at /u01/project/mysql-5.7.2-m12/storage/innobase/trx/trx0sys.cc:1285
#8  0x0000000000a03d55 in innobase_shutdown_for_mysql () at /u01/project/mysql-5.7.2-m12/storage/innobase/srv/srv0start.cc:2564
#9  0x00000000009578f7 in innobase_end (hton=<value optimized out>, type=<value optimized out>) at /u01/project/mysql-5.7.2-m12/storage/innobase/handler/ha_innodb.cc:3269
#10 0x00000000006b8ec9 in ha_finalize_handlerton (plugin=0x1595cf0) at /u01/project/mysql-5.7.2-m12/sql/handler.cc:608
#11 0x00000000007ebbd8 in plugin_deinitialize (plugin=0x1595cf0, ref_check=true) at /u01/project/mysql-5.7.2-m12/sql/sql_plugin.cc:928
#12 0x00000000007ebf71 in reap_plugins () at /u01/project/mysql-5.7.2-m12/sql/sql_plugin.cc:1006
#13 0x00000000007ed443 in plugin_shutdown () at /u01/project/mysql-5.7.2-m12/sql/sql_plugin.cc:1698
#14 0x000000000067eef3 in clean_up (print_message=true) at /u01/project/mysql-5.7.2-m12/sql/mysqld.cc:1596
#15 0x000000000067f5b0 in unireg_abort (exit_code=7) at /u01/project/mysql-5.7.2-m12/sql/mysqld.cc:1489
#16 0x000000000068038f in init_server_components () at /u01/project/mysql-5.7.2-m12/sql/mysqld.cc:4235
#17 0x0000000000682560 in mysqld_main (argc=88, argv=0x14711b0) at /u01/project/mysql-5.7.2-m12/sql/mysqld.cc:4730
#18 0x0000003c2a61ecdd in __libc_start_main () from /lib64/libc.so.6
#19 0x0000000000679425 in _start ()
(gdb) p rseg->update_undo_list
$4 = {count = 1, start = 0x81ddad80, end = 0x81ddad80, node = &trx_undo_t::undo_list}

How to repeat:
I don't know

Suggested fix:
I don't know.
[22 Sep 2013 11:07] MySQL Verification Team
Did you first do a 'slow shutdown' of innodb in 5.6.14 ?
If not, please do it.

on 5.6.14, SET GLOBAL innodb_fast_shutdown=0;
Then shutdown and try starting 5.7.2.
[22 Sep 2013 11:20] MySQL Verification Team
internally we had similar bug once.
Bug 16819011 - CRASHING WHEN TRYING TO SHUTDOWN 5.7 SERVER STARTED WITH 5.6 DATA DIRECTORY
[22 Sep 2013 11:34] zhai weixiang
I just killed MySQL5.6.14 (using kill -9 ) and restarted  it  using  the mysqld of 5.7.2...
[22 Sep 2013 11:54] MySQL Verification Team
Ok. I can repeat it after applying some pressure.

In order to perform an upgrade, I try recommend *slow* shutdown.
But, in most cases a normal shutdown will work fine.

A crash recovery+upgrade/download at same time is not a supported or tested combination.  Our MEB customers had this dilemma, it should be documented in the docs.

------------
InnoDB: Assertion failure in thread 35268 in file trx0rseg.cc line 133
InnoDB: Failing assertion: UT_LIST_GET_LEN(rseg->update_undo_list) == 0
InnoDB: We intentionally generate a memory trap.

mysqld.exe!my_sigabrt_handler()[my_thr_init.c:447]
mysqld.exe!raise()[winsig.c:593]
mysqld.exe!abort()[abort.c:81]
mysqld.exe!trx_rseg_mem_free()[trx0rseg.cc:134]
mysqld.exe!trx_sys_close()[trx0sys.cc:1285]
mysqld.exe!innobase_shutdown_for_mysql()[srv0start.cc:2566]
mysqld.exe!innobase_end()[ha_innodb.cc:3269]
mysqld.exe!ha_finalize_handlerton()[handler.cc:610]
mysqld.exe!plugin_deinitialize()[sql_plugin.cc:928]
mysqld.exe!reap_plugins()[sql_plugin.cc:1006]
mysqld.exe!plugin_shutdown()[sql_plugin.cc:1699]
mysqld.exe!clean_up()[mysqld.cc:1597]
mysqld.exe!unireg_abort()[mysqld.cc:1491]
mysqld.exe!init_server_components()[mysqld.cc:4235]
mysqld.exe!win_main()[mysqld.cc:4730]
mysqld.exe!mysql_service()[mysqld.cc:5028]
mysqld.exe!mysqld_main()[mysqld.cc:5225]
mysqld.exe!__tmainCRTStartup()[crt0.c:278]

------------
[23 Sep 2013 6:09] MySQL Verification Team
I will set this report to 'Verified' because I could repeat it, and also want the contents documented internally.  But, please don't be startled if it get rejected later..
[21 Feb 2014 12:04] MySQL Verification Team
I cannot repeat this again using 5.6.17 and 5.7.4.  If you see it on recent versions, kindly re-open this bug.