Bug #108327 mysql slave crash when do ddl
Submitted: 30 Aug 2022 4:21 Modified: 30 Aug 2022 9:11
Reporter: shang canfang (OCA) Email Updates:
Status: Unsupported Impact on me:
None 
Category:MySQL Server: DDL Severity:S2 (Serious)
Version:MySQL8.0.18 OS:Linux
Assigned to: CPU Architecture:Any
Tags: add index, SHOW KEYS

[30 Aug 2022 4:21] shang canfang
Description:
slave node got err when do ddl on master, It seems to be caused by “show keys like xxx”,our tool will execute "show keys xxx" when detected "rename table xxx" in binlog.

Assertion failure: ha_innodb.cc:17112:index->table->stat_initialized
Thread pointer: 0x7f9d6c655000
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...
stack_bottom = 7fa34c909b28 thread_stack 0x46000
/usr/local/percona-server/8.0.18/bin/mysqld(my_print_stacktrace(unsigned char const*, unsigned long)+0x2e) [0x1f3642e]
/usr/local/percona-server/8.0.18/bin/mysqld(handle_fatal_signal+0x323) [0x1190d23]
/lib64/libpthread.so.0(+0xf5e0) [0x7fa381eb85e0]
/lib64/libc.so.6(gsignal+0x37) [0x7fa37fd651f7]
/lib64/libc.so.6(abort+0x148) [0x7fa37fd668e8]
/usr/local/percona-server/8.0.18/bin/mysqld() [0xd48b1a]
/usr/local/percona-server/8.0.18/bin/mysqld(innodb_rec_per_key(dict_index_t const*, unsigned long, unsigned long long)+0x14c) [0x1fe220c]
/usr/local/percona-server/8.0.18/bin/mysqld() [0x1ff3fcd]
/usr/local/percona-server/8.0.18/bin/mysqld(dd::info_schema::Table_statistics::read_stat_from_SE(THD*, String const&, String const&, String const&, String const&, unsigned int, unsigned int, unsigned long long, char const*, char const*, dd::info_schema::enum_table_stats_type, handlerton*)+0x80e) [0x1ef5a4e]
/usr/local/percona-server/8.0.18/bin/mysqld(dd::info_schema::Table_statistics::read_stat(THD*, String const&, String const&, String const&, char const*, String const&, unsigned int, unsigned int, String const&, unsigned long long, char const*, char const*, unsigned long long const&, unsigned long long const&, dd::info_schema::enum_table_stats_type)+0x756) [0x1ef8576]
/usr/local/percona-server/8.0.18/bin/mysqld(Item_func_internal_index_column_cardinality::val_int()+0x3bd) [0xe37c4d]
/usr/local/percona-server/8.0.18/bin/mysqld(Item::save_in_field_inner(Field*, bool)+0x195) [0xdc4ef5]
/usr/local/percona-server/8.0.18/bin/mysqld(Item::save_in_field(Field*, bool)+0x44) [0xddd4a4]
/usr/local/percona-server/8.0.18/bin/mysqld(Item_ref::save_in_field_inner(Field*, bool)+0x1e) [0xddd61e]
/usr/local/percona-server/8.0.18/bin/mysqld(Item::save_in_field(Field*, bool)+0x44) [0xddd4a4]
/usr/local/percona-server/8.0.18/bin/mysqld(copy_funcs(Temp_table_param*, THD const*, Copy_func_type)+0x121) [0x1004361]
/usr/local/percona-server/8.0.18/bin/mysqld(MaterializeIterator::MaterializeQueryBlock(MaterializeIterator::QueryBlock const&, unsigned long long*)+0x2a0) [0x1251000]
/usr/local/percona-server/8.0.18/bin/mysqld(MaterializeIterator::Init()+0x1e1) [0x1251641]
/usr/local/percona-server/8.0.18/bin/mysqld(filesort(THD*, Filesort*, RowIterator*, Filesort_info*, Sort_result*, unsigned long long*)+0x370) [0x128c900]
/usr/local/percona-server/8.0.18/bin/mysqld(SortingIterator::DoSort(QEP_TAB*)+0xa5) [0xf9a735]
/usr/local/percona-server/8.0.18/bin/mysqld(SortingIterator::Init()+0x22) [0xf9a842]
/usr/local/percona-server/8.0.18/bin/mysqld(SELECT_LEX_UNIT::ExecuteIteratorQuery(THD*)+0x251) [0x1113541]
/usr/local/percona-server/8.0.18/bin/mysqld(SELECT_LEX_UNIT::execute(THD*)+0x10a) [0x111578a]
/usr/local/percona-server/8.0.18/bin/mysqld(handle_query(THD*, LEX*, Query_result*, unsigned long long, unsigned long long)+0x2b3) [0x109d5c3]
/usr/local/percona-server/8.0.18/bin/mysqld(execute_show(THD*, TABLE_LIST*)+0x24b) [0x104c7db]
/usr/local/percona-server/8.0.18/bin/mysqld(Sql_cmd_show::execute(THD*)+0x73) [0xfb38d3]
/usr/local/percona-server/8.0.18/bin/mysqld(mysql_execute_command(THD*, bool)+0x3adf) [0x1054abf]
/usr/local/percona-server/8.0.18/bin/mysqld(mysql_parse(THD*, Parser_state*, bool)+0x3df) [0x1056e0f]
/usr/local/percona-server/8.0.18/bin/mysqld(dispatch_command(THD*, COM_DATA const*, enum_server_command)+0x2582) [0x10598f2]
/usr/local/percona-server/8.0.18/bin/mysqld(do_command(THD*)+0x1e4) [0x105a3e4]
/usr/local/percona-server/8.0.18/bin/mysqld(threadpool_process_request(THD*)+0x7f) [0x115096f]
/usr/local/percona-server/8.0.18/bin/mysqld() [0x116d6f5]
/usr/local/percona-server/8.0.18/bin/mysqld() [0x23ebd7c]
/lib64/libpthread.so.0(+0x7e25) [0x7fa381eb0e25]
/lib64/libc.so.6(clone+0x6d) [0x7fa37fe2834d]

Query (7fa884603028): SHOW KEYS FROM `ad_table_111` FROM `test`

How to repeat:
can't repeat,but it often appears when we add index for tables, This has caused us a lot trouble.
[30 Aug 2022 5:06] shang canfang
we add index by gh-ost tool, operate on master
[30 Aug 2022 9:11] MySQL Verification Team
Thank you for the bug report. Older release version like 8.0.18 and without a repeatable test case are not supported for bug report, please try current release version 8.0.30 and if the issue persist file a new bug report and provide repeatable test case.