The reason is that os_file_get_status() is returning dberr_t instead of ibool in 5.6. Which casts to ibool without a warning, but "return success" becomes a wrong check.
Also causes Valgrind errors as in
Conditional jump or move depends on uninitialised value(s)
at 0xB9CBEB: log_online_should_overwrite(char const*) (log0online.cc:511)
by 0xB9CC41: log_online_start_bitmap_file() (log0online.cc:526)
by 0xB9CDCB: log_online_rotate_bitmap_file(unsigned long) (log0online.cc:573)
by 0xB9D324: log_online_read_init() (log0online.cc:725)
by 0xC86881: init_log_online() (srv0start.cc:1456)
Thus the fix is to
- fix os_file_get_status() return code check; and
- the previous partial fix of ignoring file not founds for os_file_delete().
The reason is that os_file_ get_status( ) is returning dberr_t instead of ibool in 5.6. Which casts to ibool without a warning, but "return success" becomes a wrong check.
Also causes Valgrind errors as in
Conditional jump or move depends on uninitialised value(s) should_ overwrite( char const*)
(log0online. cc:511) start_bitmap_ file() (log0online.cc:526) rotate_ bitmap_ file(unsigned long)
(log0online. cc:573) read_init( ) (log0online.cc:725)
at 0xB9CBEB: log_online_
by 0xB9CC41: log_online_
by 0xB9CDCB: log_online_
by 0xB9D324: log_online_
by 0xC86881: init_log_online() (srv0start.cc:1456)
Thus the fix is to get_status( ) return code check; and
- fix os_file_
- the previous partial fix of ignoring file not founds for os_file_delete().