mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-7762 InnoDB: Failing assertion: block->page.buf_fix_count > 0 in buf0buf.ic line 730
Analysis: debug only assertion I_S function (IS is XtraDB feature) is calling buf_block_get_frame on any page it reads, which debug-asserts that the page is buffer-fixed, which is not the case in I_S query. Fixed by holding the buffer page mutex while the fields are read directly.
This commit is contained in:
@ -0,0 +1,64 @@
|
||||
-- source include/have_innodb.inc
|
||||
-- source include/not_embedded.inc
|
||||
|
||||
#
|
||||
# MDEV-7762 InnoDB: Failing assertion: block->page.buf_fix_count > 0 in buf0buf.ic line 730
|
||||
#
|
||||
# Make sure that all supported information_schema tables are readable
|
||||
# (actual result sets are not important).
|
||||
#
|
||||
CREATE TABLE t1 ENGINE=InnoDB AS SELECT * FROM mysql.help_topic;
|
||||
|
||||
--disable_query_log
|
||||
--disable_result_log
|
||||
BEGIN;
|
||||
SELECT * FROM t1 FOR UPDATE;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_TRX;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CMP;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CMP_RESET;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CMPMEM;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CMPMEM_RESET;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE;
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_PAGE_LRU;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_STATS;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_TABLESTATS;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_INDEXES;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FIELDS;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_FOREIGN_COLS;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_RSEG;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_UNDO_LOGS;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_SYS_STATS;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_TABLE_STATS;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_INDEX_STATS;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_ADMIN_COMMAND;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_PAGES;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_PAGES_INDEX;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_BUFFER_POOL_PAGES_BLOB;
|
||||
--error 0,1109
|
||||
SELECT * FROM INFORMATION_SCHEMA.INNODB_CHANGED_PAGES;
|
||||
COMMIT;
|
||||
--enable_query_log
|
||||
--enable_result_log
|
||||
DROP TABLE t1;
|
Reference in New Issue
Block a user