1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

MDEV-34453 Trying to read 16384 bytes at 70368744161280 outside the bounds of the file: ./ibdata1

The issue is caused by a race between buf_page_create_low getting the
page from buffer pool hash and buf_LRU_free_page evicting it from LRU.

The issue is introduced in 10.6 by MDEV-27058
commit aaef2e1d8c
MDEV-27058: Reduce the size of buf_block_t and buf_page_t

The solution is buffer fix the page before releasing buffer pool mutex
in buf_page_create_low when x_lock_try fails to acquire the page latch.
This commit is contained in:
mariadb-DebarunBanerjee
2024-09-18 21:56:28 +05:30
parent 80fff4c6b1
commit 35d477dd1d
2 changed files with 42 additions and 3 deletions

View File

@@ -1,4 +1,5 @@
--source include/no_valgrind_without_big.inc
--source include/maybe_debug.inc
######## t/ddl_innodb.test ######
#
# Stress the storage engine InnoDB with CREATE/DROP TABLE/INDEX
@@ -34,6 +35,13 @@ if (!$run)
##### Some preparations needed for the ddl*.inc scripts
--source suite/stress/include/ddl.pre
if ($have_debug) {
--disable_query_log
SET @old_debug_dbug = @@global.debug_dbug;
SET DEBUG_DBUG="+d,ib_buf_create_intermittent_wait";
--enable_query_log
}
--source suite/stress/include/ddl1.inc
--source suite/stress/include/ddl2.inc
--source suite/stress/include/ddl3.inc
@@ -43,5 +51,11 @@ if (!$run)
--source suite/stress/include/ddl7.inc
--source suite/stress/include/ddl8.inc
if ($have_debug) {
--disable_query_log
SET @@global.debug_dbug = @old_debug_dbug;
--enable_query_log
}
##### Cleanup
--source suite/stress/include/ddl.cln