[MDEV-21490] binlog tests fail with valgrind: Conditional jump or move depends on uninitialised value in sql_ex_info::init Created: 2020-01-15  Updated: 2020-03-13  Resolved: 2020-01-24

Status: Closed
Project: MariaDB Server
Component/s: Replication
Affects Version/s: 10.1, 10.2, 10.3, 10.4, 10.5
Fix Version/s: 10.1.44, 10.2.31, 10.3.22, 10.4.12, 10.5.1

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Sujatha Sivakumar (Inactive)
Resolution: Fixed Votes: 0
Labels: None


 Description   

10.5 valgrind cc3135cf

$ perl ./mtr binlog.binlog_invalid_read_in_rotate,disable_checksum,innodb,mix --valgrind
...
binlog.binlog_invalid_read_in_rotate 'disable_checksum,innodb,mix' [ fail ]  Found warnings/errors in server log file!
        Test ended at 2020-01-15 17:57:40
line
==19140== Thread 17:
==19140== Conditional jump or move depends on uninitialised value(s)
==19140==    at 0xE2BC02: sql_ex_info::init(char const*, char const*, bool) (log_event.cc:3083)
==19140==    by 0xE2A454: Load_log_event::copy_log_event(char const*, unsigned long, int, Format_description_log_event const*) (log_event.cc:2465)
==19140==    by 0xE2A2B1: Load_log_event::Load_log_event(char const*, unsigned int, Format_description_log_event const*) (log_event.cc:2433)
==19140==    by 0xE263F6: Log_event::read_log_event(char const*, unsigned int, char const**, Format_description_log_event const*, char) (log_event.cc:1140)
==19140==    by 0xE25D0E: Log_event::read_log_event(st_io_cache*, Format_description_log_event const*, char) (log_event.cc:964)
==19140==    by 0x9C6912: mysql_show_binlog_events(THD*) (sql_repl.cc:4116)
==19140==    by 0x98511F: mysql_execute_command(THD*) (sql_parse.cc:4015)
==19140==    by 0x993A2B: mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) (sql_parse.cc:7988)
==19140==    by 0x97E970: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) (sql_parse.cc:1846)
==19140==    by 0x97D0CA: do_command(THD*) (sql_parse.cc:1364)
==19140==    by 0xB2345E: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1422)
==19140==    by 0xB2318D: handle_one_connection (sql_connect.cc:1319)
==19140==    by 0x10A0868: pfs_spawn_thread (pfs.cc:1862)
==19140==    by 0x4E3F4A3: start_thread (pthread_create.c:456)
==19140==    by 0x6D4BD0E: clone (clone.S:97)
==19140== Conditional jump or move depends on uninitialised value(s)
==19140==    at 0xE2BC1C: sql_ex_info::init(char const*, char const*, bool) (log_event.cc:3085)
==19140==    by 0xE2A454: Load_log_event::copy_log_event(char const*, unsigned long, int, Format_description_log_event const*) (log_event.cc:2465)
==19140==    by 0xE2A2B1: Load_log_event::Load_log_event(char const*, unsigned int, Format_description_log_event const*) (log_event.cc:2433)
==19140==    by 0xE263F6: Log_event::read_log_event(char const*, unsigned int, char const**, Format_description_log_event const*, char) (log_event.cc:1140)
==19140==    by 0xE25D0E: Log_event::read_log_event(st_io_cache*, Format_description_log_event const*, char) (log_event.cc:964)
==19140==    by 0x9C6912: mysql_show_binlog_events(THD*) (sql_repl.cc:4116)
==19140==    by 0x98511F: mysql_execute_command(THD*) (sql_parse.cc:4015)
==19140==    by 0x993A2B: mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) (sql_parse.cc:7988)
==19140==    by 0x97E970: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) (sql_parse.cc:1846)
==19140==    by 0x97D0CA: do_command(THD*) (sql_parse.cc:1364)
==19140==    by 0xB2345E: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1422)
==19140==    by 0xB2318D: handle_one_connection (sql_connect.cc:1319)
==19140==    by 0x10A0868: pfs_spawn_thread (pfs.cc:1862)
==19140==    by 0x4E3F4A3: start_thread (pthread_create.c:456)
==19140==    by 0x6D4BD0E: clone (clone.S:97)
==19140== Conditional jump or move depends on uninitialised value(s)
==19140==    at 0xE2BC36: sql_ex_info::init(char const*, char const*, bool) (log_event.cc:3087)
==19140==    by 0xE2A454: Load_log_event::copy_log_event(char const*, unsigned long, int, Format_description_log_event const*) (log_event.cc:2465)
==19140==    by 0xE2A2B1: Load_log_event::Load_log_event(char const*, unsigned int, Format_description_log_event const*) (log_event.cc:2433)
==19140==    by 0xE263F6: Log_event::read_log_event(char const*, unsigned int, char const**, Format_description_log_event const*, char) (log_event.cc:1140)
==19140==    by 0xE25D0E: Log_event::read_log_event(st_io_cache*, Format_description_log_event const*, char) (log_event.cc:964)
==19140==    by 0x9C6912: mysql_show_binlog_events(THD*) (sql_repl.cc:4116)
==19140==    by 0x98511F: mysql_execute_command(THD*) (sql_parse.cc:4015)
==19140==    by 0x993A2B: mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) (sql_parse.cc:7988)
==19140==    by 0x97E970: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) (sql_parse.cc:1846)
==19140==    by 0x97D0CA: do_command(THD*) (sql_parse.cc:1364)
==19140==    by 0xB2345E: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1422)
==19140==    by 0xB2318D: handle_one_connection (sql_connect.cc:1319)
==19140==    by 0x10A0868: pfs_spawn_thread (pfs.cc:1862)
==19140==    by 0x4E3F4A3: start_thread (pthread_create.c:456)
==19140==    by 0x6D4BD0E: clone (clone.S:97)
==19140== Conditional jump or move depends on uninitialised value(s)
==19140==    at 0xE2BC50: sql_ex_info::init(char const*, char const*, bool) (log_event.cc:3089)
==19140==    by 0xE2A454: Load_log_event::copy_log_event(char const*, unsigned long, int, Format_description_log_event const*) (log_event.cc:2465)
==19140==    by 0xE2A2B1: Load_log_event::Load_log_event(char const*, unsigned int, Format_description_log_event const*) (log_event.cc:2433)
==19140==    by 0xE263F6: Log_event::read_log_event(char const*, unsigned int, char const**, Format_description_log_event const*, char) (log_event.cc:1140)
==19140==    by 0xE25D0E: Log_event::read_log_event(st_io_cache*, Format_description_log_event const*, char) (log_event.cc:964)
==19140==    by 0x9C6912: mysql_show_binlog_events(THD*) (sql_repl.cc:4116)
==19140==    by 0x98511F: mysql_execute_command(THD*) (sql_parse.cc:4015)
==19140==    by 0x993A2B: mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) (sql_parse.cc:7988)
==19140==    by 0x97E970: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) (sql_parse.cc:1846)
==19140==    by 0x97D0CA: do_command(THD*) (sql_parse.cc:1364)
==19140==    by 0xB2345E: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1422)
==19140==    by 0xB2318D: handle_one_connection (sql_connect.cc:1319)
==19140==    by 0x10A0868: pfs_spawn_thread (pfs.cc:1862)
==19140==    by 0x4E3F4A3: start_thread (pthread_create.c:456)
==19140==    by 0x6D4BD0E: clone (clone.S:97)
==19140== Conditional jump or move depends on uninitialised value(s)
==19140==    at 0xE2BC6A: sql_ex_info::init(char const*, char const*, bool) (log_event.cc:3091)
==19140==    by 0xE2A454: Load_log_event::copy_log_event(char const*, unsigned long, int, Format_description_log_event const*) (log_event.cc:2465)
==19140==    by 0xE2A2B1: Load_log_event::Load_log_event(char const*, unsigned int, Format_description_log_event const*) (log_event.cc:2433)
==19140==    by 0xE263F6: Log_event::read_log_event(char const*, unsigned int, char const**, Format_description_log_event const*, char) (log_event.cc:1140)
==19140==    by 0xE25D0E: Log_event::read_log_event(st_io_cache*, Format_description_log_event const*, char) (log_event.cc:964)
==19140==    by 0x9C6912: mysql_show_binlog_events(THD*) (sql_repl.cc:4116)
==19140==    by 0x98511F: mysql_execute_command(THD*) (sql_parse.cc:4015)
==19140==    by 0x993A2B: mysql_parse(THD*, char*, unsigned int, Parser_state*, bool, bool) (sql_parse.cc:7988)
==19140==    by 0x97E970: dispatch_command(enum_server_command, THD*, char*, unsigned int, bool, bool) (sql_parse.cc:1846)
==19140==    by 0x97D0CA: do_command(THD*) (sql_parse.cc:1364)
==19140==    by 0xB2345E: do_handle_one_connection(CONNECT*, bool) (sql_connect.cc:1422)
==19140==    by 0xB2318D: handle_one_connection (sql_connect.cc:1319)
==19140==    by 0x10A0868: pfs_spawn_thread (pfs.cc:1862)
==19140==    by 0x4E3F4A3: start_thread (pthread_create.c:456)
==19140==    by 0x6D4BD0E: clone (clone.S:97)

Also binlog.binlog_show_binlog_event_random_pos.



 Comments   
Comment by Sujatha Sivakumar (Inactive) [ 2020-01-23 ]

Hello Andrei,

Can you please review the fix for MDEV-21490.

10.1 patch:
https://github.com/MariaDB/server/commit/5038b2077e50dbf6dcaa750dc88d0afbba8d7b83

Build Bot Testing:
http://buildbot.askmonty.org/buildbot/grid?category=main&branch=bb-10.1-sujatha
http://buildbot.askmonty.org/buildbot/grid?category=main&branch=bb-10.2-sujatha

Thank you.

Comment by Andrei Elkin [ 2020-01-23 ]

Approved. Thanks for a nice readable patch!

Comment by Sujatha Sivakumar (Inactive) [ 2020-01-24 ]

Fix for this issue is pushed into 10.1.44.

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