# ==== Purpose ==== # # Test verifies that reading binary log by using "SHOW BINLOG EVENTS" command # from various random positions doesn't lead to crash. It should exit # gracefully with appropriate error. # # ==== References ==== # # MDEV-18046:Assortment of crashes, assertion failures and ASAN errors in mysql_show_binlog_events --source include/have_log_bin.inc --source include/have_innodb.inc RESET MASTER; call mtr.add_suppression("Error in Log_event::read_log_event*"); call mtr.add_suppression("Replication event checksum verification failed while reading from a log file*"); DROP TABLE /*! IF EXISTS*/ t1; CREATE TABLE `t1` ( `col_int` int, pk integer auto_increment, `col_char_12_key` char(12), `col_int_key` int, `col_char_12` char(12), primary key (pk), key (`col_char_12_key` ), key (`col_int_key` )) ENGINE=InnoDB; INSERT /*! IGNORE */ INTO t1 VALUES (183173120, NULL, 'abcd', 1, 'efghijk'), (1, NULL, 'lmno', 2, 'p'); --disable_warnings ALTER TABLE `t1` ENABLE KEYS; --enable_warnings --let $max_pos= query_get_value(SHOW MASTER STATUS,Position,1) --let $pos= 1 while ($pos <= $max_pos) { --disable_query_log --disable_result_log --error 0,1220 eval SHOW BINLOG EVENTS FROM $pos; --inc $pos --enable_result_log --enable_query_log } DROP TABLE t1;