Bug #95269 binlog_row_image=minimal causes assertion failure

Submitted: 7 May 2019 2:22 Modified: 7 May 2019 8:03
Reporter: Song Libing Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: Replication Severity:S3 (Non-critical)
Version:8.0.16 OS:Any
Assigned to: CPU Architecture:Any

[7 May 2019 2:22] Song Libing
Description:
mysql-8.0/sql/field.cc:7193: virtual type_conversion_status Field_bl
ob::store(const char *, size_t, const CHARSET_INFO *): Assertion `!table || (!table->write_set
 || bitmap_is_set(table->write_set, field_index)) || (current_thd && current_thd->rli_slave)' 
failed.                                                                                      
02:16:04 UTC - mysqld got signal 6 ;
Most likely, you have hit a bug, but this error can also be caused by malfunctioning hardware.
Thread pointer: 0x62600027f100
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 = 7f1d7ddd4c00 thread_stack 0xd2000
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld() [0x3867d4d]
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(my_print_stacktrace(unsigned char*
, unsigned long)+0xe4) [0x8b5dd24]                                                           
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(handle_fatal_signal+0x422) [0x4715
4b2]                                                                                         
/lib/x86_64-linux-gnu/libpthread.so.0(+0x12dd0) [0x7f1da4431dd0]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x7f1da39a8077]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x121) [0x7f1da3989535]
/lib/x86_64-linux-gnu/libc.so.6(+0x2240f) [0x7f1da398940f]
/lib/x86_64-linux-gnu/libc.so.6(+0x32142) [0x7f1da3999142]
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(Field_blob::store(char const*, uns
igned long, CHARSET_INFO const*)+0xee5) [0x4ca1835]                                          
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(Item::save_in_field_inner(Field*, 
bool)+0x2204) [0x4f55fc4]                                                                    
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(Item::save_in_field(Field*, bool)+
0x314) [0x4ee1cd4]                                                                           
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(update_generated_read_fields(unsig
ned char*, TABLE*, unsigned int)+0x88e) [0x4523dfe]                                          
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(handler::ha_rnd_next(unsigned char
*)+0xef1) [0x4d96a61]                                                                        
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(TableScanIterator::Read()+0x199) [
0x3b236c9]                                                                                   
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(Sql_cmd_delete::delete_from_single
_table(THD*)+0x646e) [0x3d9276e]                                                             
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(Sql_cmd_dml::execute(THD*)+0x1c2b)
 [0x4163c0b]                                                                                 
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(mysql_execute_command(THD*, bool)+
0x5abc) [0x3f8139c]                                                                          
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(mysql_parse(THD*, Parser_state*)+0
x28c2) [0x3f72f72]                                                                           
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(dispatch_command(THD*, COM_DATA co
nst*, enum_server_command)+0x6f70) [0x3f63340]                                               
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld(do_command(THD*)+0x13a4) [0x3f6ca8
4]                                                                                           
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld() [0x46cb1e4]
/home/libing/work/mysql-8.0/runtime_output_directory/mysqld() [0xa59b087]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x8164) [0x7f1da4427164]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7f1da3a81def]

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (60600100fc08): DELETE FROM t1
Connection ID (thread ID): 13
Status: NOT_KILLED

How to repeat:
 ./mtr rpl.rpl_gis_ddl --mysqld=--binlog-format=row --mysqld=--binlog-row-image=minimal        
 ./mtr rpl.rpl_window_functions --mysqld=--binlog-format=row --mysqld=--binlog-row-image=minimal
[7 May 2019 8:03] MySQL Verification Team
Hello Libing,

Thank you for the report and feedback.
Observed that 8.0.16 debug build is affected.

regards,
Umesh
[5 Aug 2019 8:10] Erlend Dahl
Posted by developer:
 
Minimized testcase from Jon Olav:

CREATE TABLE t1(col1 TEXT AS (Upper("Assert")));
INSERT INTO t1 VALUES ();
DELETE FROM t1;

There is no assert on 5.7.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.039 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.