diff options
author | Jan Lindström <jplindst@mariadb.org> | 2014-07-22 22:08:06 +0300 |
---|---|---|
committer | Jan Lindström <jplindst@mariadb.org> | 2014-07-22 22:08:06 +0300 |
commit | 67eb6f33a918c7ea43a3f7f5e7ec4c21c9b6fc12 (patch) | |
tree | 41455c1d2601d5b147400c3c96d6b37e14a6c958 /storage | |
parent | c714073bfdc2a1e9297823bbfe680c98df6548bd (diff) | |
download | mariadb-git-67eb6f33a918c7ea43a3f7f5e7ec4c21c9b6fc12.tar.gz |
MDEV-5670: Assertion failure in file buf0lru.c line 2355
Add more status information if repeatable.
Diffstat (limited to 'storage')
-rw-r--r-- | storage/innobase/btr/btr0cur.c | 1 | ||||
-rw-r--r-- | storage/innobase/buf/buf0lru.c | 9 | ||||
-rw-r--r-- | storage/xtradb/buf/buf0lru.c | 14 |
3 files changed, 24 insertions, 0 deletions
diff --git a/storage/innobase/btr/btr0cur.c b/storage/innobase/btr/btr0cur.c index 2450082afe8..19e67199214 100644 --- a/storage/innobase/btr/btr0cur.c +++ b/storage/innobase/btr/btr0cur.c @@ -282,6 +282,7 @@ btr_cur_latch_leaves( case BTR_MODIFY_TREE: /* x-latch also brothers from left to right */ left_page_no = btr_page_get_prev(page, mtr); + mode = latch_mode; if (left_page_no != FIL_NULL) { get_block = btr_block_get( diff --git a/storage/innobase/buf/buf0lru.c b/storage/innobase/buf/buf0lru.c index 148ac3d44f6..f39e51bf82c 100644 --- a/storage/innobase/buf/buf0lru.c +++ b/storage/innobase/buf/buf0lru.c @@ -2080,6 +2080,15 @@ buf_LRU_block_remove_hashed_page( " in the hash table\n", (ulong) bpage->space, (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) { fprintf(stderr, "InnoDB: In hash table we find block" diff --git a/storage/xtradb/buf/buf0lru.c b/storage/xtradb/buf/buf0lru.c index a1fdf0a951c..f2d9e631956 100644 --- a/storage/xtradb/buf/buf0lru.c +++ b/storage/xtradb/buf/buf0lru.c @@ -2372,6 +2372,17 @@ buf_LRU_block_remove_hashed_page( " in the hash table\n", (ulong) bpage->space, (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) { fprintf(stderr, "InnoDB: In hash table we find block" @@ -2382,6 +2393,9 @@ buf_LRU_block_remove_hashed_page( (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 mutex_exit(buf_page_get_mutex(bpage)); //buf_pool_mutex_exit(buf_pool); |