[MDEV-5660] Assertion `0' fails with different table on master and slave (MySQL:53386) Created: 2014-02-12  Updated: 2022-09-08

Status: Open
Project: MariaDB Server
Component/s: None
Affects Version/s: 5.1.67, 5.2.14, 5.3.12, 5.5.35, 10.0.8
Fix Version/s: 5.5

Type: Bug Priority: Minor
Reporter: Elena Stepanova Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None


 Description   

There was MySQL bug http://bugs.mysql.com/bug.php?id=53386 which was fixed long time ago in the tree that later became 5.6.

-- source include/have_binlog_format_row.inc
-- source include/master-slave.inc
 
--connection master
 
SET SQL_LOG_BIN=0;
CREATE TABLE t1 (a INT, b CHAR(255) CHARACTER SET UTF8) ENGINE=MyISAM;
SET SQL_LOG_BIN=1;
 
-- connection slave
CREATE TABLE t1 (c INT) ENGINE=MyISAM;
 
--connection master
INSERT INTO t1 VALUES (1, 'x');
 
-- sync_slave_with_master

140212 13:58:24 [ERROR] Slave SQL: Could not read field 'c' of table 'test.t1', Error_code: 1610
mysqld: 5.5/sql/log_event.cc:10124: virtual int Write_rows_log_event::do_exec_row(const Relay_log_info*): Assertion `0' failed.
140212 13:58:24 [ERROR] mysqld got signal 6 ;

#6  0x00007fc0d2a7c621 in *__GI___assert_fail (assertion=0xe35ef0 "0", file=<optimized out>, line=10124, function=0xe3ab80 "virtual int Write_rows_log_event::do_exec_row(const Relay_log_info*)") at assert.c:81
#7  0x00000000008d0816 in Write_rows_log_event::do_exec_row (this=0x7fc0d205f6a0, rli=0x7fc0cd3e6850) at 5.5/sql/log_event.cc:10124
#8  0x00000000008ccccb in Rows_log_event::do_apply_event (this=0x7fc0d205f6a0, rli=0x7fc0cd3e6850) at 5.5/sql/log_event.cc:8528
#9  0x00000000005ada2c in Log_event::apply_event (this=0x7fc0d205f6a0, rli=0x7fc0cd3e6850) at 5.5/sql/log_event.h:1256
#10 0x00000000005a57ae in apply_event_and_update_pos (ev=0x7fc0d205f6a0, thd=0x7fc0cd2b5060, rli=0x7fc0cd3e6850) at 5.5/sql/slave.cc:2637
#11 0x00000000005a5d43 in exec_relay_log_event (thd=0x7fc0cd2b5060, rli=0x7fc0cd3e6850) at 5.5/sql/slave.cc:2797
#12 0x00000000005a8191 in handle_slave_sql (arg=0x7fc0cd3e5060) at 5.5/sql/slave.cc:3654
#13 0x0000000000985a9d in pfs_spawn_thread (arg=0x7fc0c3133440) at 5.5/storage/perfschema/pfs.cc:1015
#14 0x00007fc0d3fdcb50 in start_thread (arg=<optimized out>) at pthread_create.c:304
#15 0x00007fc0d2b2ba7d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112



 Comments   
Comment by Elena Stepanova [ 2018-04-02 ]

Current 5.5 (ddc5c6533) still produces the assertion failure.
On 10.0-10.3 the test case causes replication abort:

10.0 6aff5fa27ae8

Last_Error	Could not execute Write_rows_v1 event on table test.t1; Got error 171 "The event was corrupt, leading to illegal data being read" from storage engine MyISAM, Error_code: 1030; handler error HA_ERR_CORRUPT_EVENT; the event's master log master-bin.000001, end_log_pos 432

However, I got seemingly the same assertion failure on 10.3 in concurrent tests:

10.3 19bb7fdcd6e68aca6e41a2e30ffb3c2ad1d14cb6

mysqld: /home/travis/src/sql/log_event.cc:13267: virtual int Write_rows_log_event::do_exec_row(rpl_group_info*): Assertion `0' failed.
180402  3:57:50 [ERROR] mysqld got signal 6 ;
 
Query (0x0): 
Connection ID (thread ID): 10
Status: NOT_KILLED

#6  0x00007fd93123fbf6 in __assert_fail_base (fmt=0x7fd931394058 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x556d9fc50f0e "0", file=file@entry=0x556d9fc514c8 "/home/travis/src/sql/log_event.cc", line=line@entry=13267, function=function@entry=0x556d9fc57d00 <Write_rows_log_event::do_exec_row(rpl_group_info*)::__PRETTY_FUNCTION__> "virtual int Write_rows_log_event::do_exec_row(rpl_group_info*)") at assert.c:92
#7  0x00007fd93123fca2 in __GI___assert_fail (assertion=0x556d9fc50f0e "0", file=0x556d9fc514c8 "/home/travis/src/sql/log_event.cc", line=13267, function=0x556d9fc57d00 <Write_rows_log_event::do_exec_row(rpl_group_info*)::__PRETTY_FUNCTION__> "virtual int Write_rows_log_event::do_exec_row(rpl_group_info*)") at assert.c:101
#8  0x0000556d9f3a366e in Write_rows_log_event::do_exec_row (this=0x7fd8c8aedcc0, rgi=0x7fd8c80012b0) at /home/travis/src/sql/log_event.cc:13267
#9  0x0000556d9f39e8c6 in Rows_log_event::do_apply_event (this=0x7fd8c8aedcc0, rgi=0x7fd8c80012b0) at /home/travis/src/sql/log_event.cc:11400
#10 0x0000556d9ee93cfd in Log_event::apply_event (this=0x7fd8c8aedcc0, rgi=0x7fd8c80012b0) at /home/travis/src/sql/log_event.h:1481
#11 0x0000556d9ee880ae in apply_event_and_update_pos_apply (ev=0x7fd8c8aedcc0, thd=0x7fd8c8001d80, rgi=0x7fd8c80012b0, reason=0) at /home/travis/src/sql/slave.cc:3883
#12 0x0000556d9ee88574 in apply_event_and_update_pos (ev=0x7fd8c8aedcc0, thd=0x7fd8c8001d80, rgi=0x7fd8c80012b0) at /home/travis/src/sql/slave.cc:4031
#13 0x0000556d9ee88ce0 in exec_relay_log_event (thd=0x7fd8c8001d80, rli=0x556da379f458, serial_rgi=0x7fd8c80012b0) at /home/travis/src/sql/slave.cc:4318
#14 0x0000556d9ee8c302 in handle_slave_sql (arg=0x556da379d790) at /home/travis/src/sql/slave.cc:5477
#15 0x00007fd931e01184 in start_thread (arg=0x7fd9300f8700) at pthread_create.c:312
#16 0x00007fd93130e03d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Generated at Thu Feb 08 07:06:05 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.