Details
-
Bug
-
Status: Done
-
High
-
Resolution: Fixed
-
None
-
None
-
None
Description
**Reported in Launchpad by Sergei Glushchenko last update 22-11-2016 16:27:00
Some older versions of MySQL did not bother to initialise page type field for pages which are not index pages.
See https://bugs.mysql.com/bug.php?id=76262 for some insight. The patch included into server does its best to properly initialise some of the pages which came from older mysql versions through the multiple upgrade processes.
It however is missing a bit about 5th page of ibdata1 always being of FIL_PAGE_TYPE_TRX_SYS type. This bug is to track and fix this issue. Having this page type unitialized may cause xtrabackup to crash on prepare with following stack trace (reproduced artifically):
my_print_stacktrace
handle_fatal_signal
_sigtramp
archive_write_vtable.inited
abort
ut_dbg_assertion_failed(char const*, char const*, unsigned long)
ib::fatal::~fatal()
ib::fatal::~fatal()
buf_dblwr_assert_on_corrupt_block(buf_block_t const*)
buf_dblwr_check_block(buf_block_t const*)
buf_dblwr_flush_buffered_writes()
buf_dblwr_add_to_batch(buf_page_t*)
buf_flush_write_block_low(buf_page_t*, buf_flush_t, bool)
buf_flush_page(buf_pool_t*, buf_page_t*, buf_flush_t, bool)
buf_flush_try_neighbors(page_id_t const&, buf_flush_t, unsigned long, unsigned long)
buf_flush_page_and_try_neighbors(buf_page_t*, buf_flush_t, unsigned long, unsigned long*)
buf_do_flush_list_batch(buf_pool_t*, unsigned long, unsigned long long)
buf_flush_batch(buf_pool_t*, buf_flush_t, unsigned long, unsigned long long)
buf_flush_do_batch(buf_pool_t*, buf_flush_t, unsigned long, unsigned long long, unsigned long*)
buf_flush_lists(unsigned long, unsigned long long, unsigned long*)
log_preflush_pool_modified_pages(unsigned long long)
log_checkpoint_margin()
log_check_margins()
log_free_check()
que_run_threads_low(que_thr_t*)
que_run_threads(que_thr_t*)
que_eval_sql(pars_info_t*, char const*, unsigned long, trx_t*)
row_merge_drop_temp_indexes()
recv_recovery_rollback_active()
innobase_start_or_create_for_mysql()
innodb_init()
xtrabackup_prepare_func()
main
start