Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
After-merge fix: Actually apply the changes
The merge a8ed0f7 was accidentally a null-merge. MDEV-18046: Assortment of crashes, assertion failures and ASAN errors in mysql_show_binlog_events
- Loading branch information
Showing
8 changed files
with
208 additions
and
28 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| 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; | ||
| Warnings: | ||
| Note 1051 Unknown table 'test.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'); | ||
| ALTER TABLE `t1` ENABLE KEYS; | ||
| DROP TABLE t1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,12 @@ | ||
| 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; | ||
| Warnings: | ||
| Note 1051 Unknown table 'test.t1' | ||
| CREATE TABLE t1 (c1 CHAR(255), c2 CHAR(255), c3 CHAR(255), c4 CHAR(255), c5 CHAR(255)); | ||
| INSERT INTO t1 VALUES (repeat('a', 255), repeat('a', 255),repeat('a', 255),repeat('a', 255),repeat('a', 255)); | ||
| INSERT INTO t1 VALUES (repeat('a', 255), repeat('a', 255),repeat('a', 255),repeat('a', 255),repeat('a', 255)); | ||
| UPDATE t1 SET c1=repeat('b',255); | ||
| INSERT INTO t1 VALUES (repeat('a', 255), repeat('a', 255),repeat('a', 255),repeat('a', 255),repeat('a', 255)); | ||
| DROP TABLE t1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| [enable_checksum] | ||
| binlog_checksum=1 | ||
|
|
||
| [disable_checksum] | ||
| binlog_checksum=0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,48 @@ | ||
| # ==== 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; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| [enable_checksum] | ||
| binlog_checksum=1 | ||
|
|
||
| [disable_checksum] | ||
| binlog_checksum=0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,37 @@ | ||
| # ==== 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 (c1 CHAR(255), c2 CHAR(255), c3 CHAR(255), c4 CHAR(255), c5 CHAR(255)); | ||
| INSERT INTO t1 VALUES (repeat('a', 255), repeat('a', 255),repeat('a', 255),repeat('a', 255),repeat('a', 255)); | ||
| INSERT INTO t1 VALUES (repeat('a', 255), repeat('a', 255),repeat('a', 255),repeat('a', 255),repeat('a', 255)); | ||
| UPDATE t1 SET c1=repeat('b',255); | ||
| INSERT INTO t1 VALUES (repeat('a', 255), repeat('a', 255),repeat('a', 255),repeat('a', 255),repeat('a', 255)); | ||
| --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 LIMIT 100; | ||
| --inc $pos | ||
| --enable_result_log | ||
| --enable_query_log | ||
| } | ||
|
|
||
| DROP TABLE t1; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters