Commit 67eb6f33 authored by Jan Lindström's avatar Jan Lindström

MDEV-5670: Assertion failure in file buf0lru.c line 2355

Add more status information if repeatable.
parent c714073b
...@@ -282,6 +282,7 @@ btr_cur_latch_leaves( ...@@ -282,6 +282,7 @@ btr_cur_latch_leaves(
case BTR_MODIFY_TREE: case BTR_MODIFY_TREE:
/* x-latch also brothers from left to right */ /* x-latch also brothers from left to right */
left_page_no = btr_page_get_prev(page, mtr); left_page_no = btr_page_get_prev(page, mtr);
mode = latch_mode;
if (left_page_no != FIL_NULL) { if (left_page_no != FIL_NULL) {
get_block = btr_block_get( get_block = btr_block_get(
......
...@@ -2080,6 +2080,15 @@ buf_LRU_block_remove_hashed_page( ...@@ -2080,6 +2080,15 @@ buf_LRU_block_remove_hashed_page(
" in the hash table\n", " in the hash table\n",
(ulong) bpage->space, (ulong) bpage->space,
(ulong) bpage->offset); (ulong) bpage->offset);
fprintf(stderr,
"InnoDB: in_page_hash %lu in_zip_hash %lu\n"
" in_free_list %lu in_flush_list %lu in_LRU_list %lu\n"
" zip.data %p zip_size %lu page_state %d\n",
bpage->in_page_hash, bpage->in_zip_hash,
bpage->in_free_list, bpage->in_flush_list,
bpage->in_LRU_list, bpage->zip.data,
buf_page_get_zip_size(bpage),
buf_page_get_state(bpage));
if (hashed_bpage) { if (hashed_bpage) {
fprintf(stderr, fprintf(stderr,
"InnoDB: In hash table we find block" "InnoDB: In hash table we find block"
......
...@@ -2372,6 +2372,17 @@ buf_LRU_block_remove_hashed_page( ...@@ -2372,6 +2372,17 @@ buf_LRU_block_remove_hashed_page(
" in the hash table\n", " in the hash table\n",
(ulong) bpage->space, (ulong) bpage->space,
(ulong) bpage->offset); (ulong) bpage->offset);
fprintf(stderr,
"InnoDB: in_page_hash %lu in_zip_hash %lu\n"
" in_free_list %lu in_flush_list %lu in_LRU_list %lu\n"
" zip.data %p zip_size %lu page_state %d\n",
bpage->in_page_hash, bpage->in_zip_hash,
bpage->in_free_list, bpage->in_flush_list,
bpage->in_LRU_list, bpage->zip.data,
buf_page_get_zip_size(bpage),
buf_page_get_state(bpage));
if (hashed_bpage) { if (hashed_bpage) {
fprintf(stderr, fprintf(stderr,
"InnoDB: In hash table we find block" "InnoDB: In hash table we find block"
...@@ -2382,6 +2393,9 @@ buf_LRU_block_remove_hashed_page( ...@@ -2382,6 +2393,9 @@ buf_LRU_block_remove_hashed_page(
(const void*) bpage); (const void*) bpage);
} }
ut_a(buf_page_get_io_fix(bpage) == BUF_IO_NONE);
ut_a(bpage->buf_fix_count == 0);
#if defined UNIV_DEBUG || defined UNIV_BUF_DEBUG #if defined UNIV_DEBUG || defined UNIV_BUF_DEBUG
mutex_exit(buf_page_get_mutex(bpage)); mutex_exit(buf_page_get_mutex(bpage));
//buf_pool_mutex_exit(buf_pool); //buf_pool_mutex_exit(buf_pool);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment