Conditional jump or move depends on uninitialised value(s) at exec_relay_log_event

Bug #1674299 reported by Laurynas Biveinis
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Status tracked in 5.7
5.5
Invalid
Undecided
Unassigned
5.6
Fix Released
High
Robert Golebiowski
5.7
Fix Released
High
Robert Golebiowski

Bug Description

Several rpl testcases started failing under Valgrind with:

==20950== Thread 23:
==20950== Conditional jump or move depends on uninitialised value(s)
==20950== at 0xA0C5D6: exec_relay_log_event(THD*, Relay_log_info*) (rpl_slave.cc:4414)
==20950== by 0xA12D39: handle_slave_sql (rpl_slave.cc:6438)
==20950== by 0xE55A32: pfs_spawn_thread (pfs.cc:1860)
==20950== by 0x5F4D6C9: start_thread (pthread_create.c:333)
==20950== by 0x6B140AE: clone (clone.S:105)
==20950== Uninitialised value was created by a stack allocation
==20950== at 0x9A477F: Log_event::get_slave_worker(Relay_log_info*) (log_event.cc:2710)
==20950==

The testcases are rpl.rpl_gtid_mts_relay_log_recovery_auto_pos_on_off rpl.rpl_mts_slave_hang_with_partial_trx rpl.rpl_parallel_conflicts rpl.rpl_parallel_switch_sequential rpl.rpl_parallel_change_master rpl.rpl_parallel_multi_db.

git blame suggests - and it seems to be very likely - that this is a regression introduced by the fix for bug 1654091

Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :
Download full text (7.1 KiB)

On SHOW SLAVE STATUS testcases it looks like

rpl.rpl_mts_slave_hang_with_partial_trx 'row' w1 [ fail ] Found warnings/errors in server log file!
        Test ended at 2017-03-16 23:01:20
line
==15303== Thread 26:
==15303== Conditional jump or move depends on uninitialised value(s)
==15303== at 0xAE18B8: show_slave_status(THD*, Master_info*) (rpl_slave.cc:3302)
==15303== by 0x81B605: mysql_execute_command(THD*) (sql_parse.cc:3296)
==15303== by 0x825DD8: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:7056)
==15303== by 0x816F61: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1485)
==15303== by 0x815CF1: do_command(THD*) (sql_parse.cc:1062)
==15303== by 0x7D8BED: do_handle_one_connection(THD*) (sql_connect.cc:1550)
==15303== by 0x7D88CD: handle_one_connection (sql_connect.cc:1454)
==15303== by 0xF1CAAB: pfs_spawn_thread (pfs.cc:1860)
==15303== by 0x61596B9: start_thread (pthread_create.c:333)
==15303== by 0x6D1D82C: clone (clone.S:109)
==15303== Conditional jump or move depends on uninitialised value(s)
==15303== at 0x82BDCA: long const& std::max<long>(long const&, long const&) (stl_algobase.h:224)
==15303== by 0xAE18E2: show_slave_status(THD*, Master_info*) (rpl_slave.cc:3303)
==15303== by 0x81B605: mysql_execute_command(THD*) (sql_parse.cc:3296)
==15303== by 0x825DD8: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:7056)
==15303== by 0x816F61: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1485)
==15303== by 0x815CF1: do_command(THD*) (sql_parse.cc:1062)
==15303== by 0x7D8BED: do_handle_one_connection(THD*) (sql_connect.cc:1550)
==15303== by 0x7D88CD: handle_one_connection (sql_connect.cc:1454)
==15303== by 0xF1CAAB: pfs_spawn_thread (pfs.cc:1860)
==15303== by 0x61596B9: start_thread (pthread_create.c:333)
==15303== by 0x6D1D82C: clone (clone.S:109)
==15303== Conditional jump or move depends on uninitialised value(s)
==15303== at 0xF76E4E: int10_to_str (int2str.c:142)
==15303== by 0x74E132: Protocol_text::store_longlong(long long, bool) (protocol.cc:1051)
==15303== by 0x765677: Protocol::store(long long) (protocol.h:83)
==15303== by 0xAE18FE: show_slave_status(THD*, Master_info*) (rpl_slave.cc:3303)
==15303== by 0x81B605: mysql_execute_command(THD*) (sql_parse.cc:3296)
==15303== by 0x825DD8: mysql_parse(THD*, char*, unsigned int, Parser_state*) (sql_parse.cc:7056)
==15303== by 0x816F61: dispatch_command(enum_server_command, THD*, char*, unsigned int) (sql_parse.cc:1485)
==15303== by 0x815CF1: do_command(THD*) (sql_parse.cc:1062)
==15303== by 0x7D8BED: do_handle_one_connection(THD*) (sql_connect.cc:1550)
==15303== by 0x7D88CD: handle_one_connection (sql_connect.cc:1454)
==15303== by 0xF1CAAB: pfs_spawn_thread (pfs.cc:1860)
==15303== by 0x61596B9: start_thread (pthread_create.c:333)
==15303== by 0x6D1D82C: clone (clone.S:109)
==15303== Conditional jump or move depends on uninitialised value(s)
==15303== at 0xF76F0E: int10_to_str (int2str.c:156)
==15303== by 0x74E132: Protocol_text::store_longlong(long long, bool) (protocol.cc:1051)
==...

Read more...

tags: added: regression valgrind
Revision history for this message
Robert Golebiowski (robert.golebiowski) wrote :
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-1077

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.