row0sel.c, page0page.ic:

Add still more diagnostic code to track buffer pool corruption in one AMD64/Linux computer
This commit is contained in:
heikki@hundin.mysql.fi 2004-07-30 17:02:26 +03:00
parent 2cc27b4c11
commit fe784f4962
2 changed files with 13 additions and 2 deletions

View file

@ -483,7 +483,12 @@ page_rec_get_next(
fprintf(stderr, fprintf(stderr,
"InnoDB: Next record offset is nonsensical %lu in record at offset %lu\n", "InnoDB: Next record offset is nonsensical %lu in record at offset %lu\n",
(ulong)offs, (ulong)(rec - page)); (ulong)offs, (ulong)(rec - page));
fprintf(stderr,
"\nInnoDB: rec address %lx, first buffer frame %lx\n"
"InnoDB: buffer pool high end %lx, buf fix count %lu\n",
(ulong)rec, (ulong)buf_pool->frame_zero,
(ulong)buf_pool->high_end,
(ulong)buf_block_align(rec)->buf_fix_count);
buf_page_print(page); buf_page_print(page);
ut_a(0); ut_a(0);

View file

@ -3090,7 +3090,13 @@ rec_loop:
ut_print_timestamp(stderr); ut_print_timestamp(stderr);
buf_page_print(buf_frame_align(rec)); buf_page_print(buf_frame_align(rec));
fprintf(stderr, fprintf(stderr,
" InnoDB: Index corruption: rec offs %lu next offs %lu, page no %lu,\n" "\nInnoDB: rec address %lx, first buffer frame %lx\n"
"InnoDB: buffer pool high end %lx, buf block fix count %lu\n",
(ulong)rec, (ulong)buf_pool->frame_zero,
(ulong)buf_pool->high_end,
(ulong)buf_block_align(rec)->buf_fix_count);
fprintf(stderr,
"InnoDB: Index corruption: rec offs %lu next offs %lu, page no %lu,\n"
"InnoDB: ", "InnoDB: ",
(ulint)(rec - buf_frame_align(rec)), next_offs, (ulint)(rec - buf_frame_align(rec)), next_offs,
buf_frame_get_page_no(rec)); buf_frame_get_page_no(rec));