[MDEV-21843] innodb_encryption-page-compression crashes with "Assertion `first || buf_pool_get_dirty_pages_count(i d) == 0' Created: 2020-02-28  Updated: 2020-10-12  Resolved: 2020-10-12

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB, Tests
Affects Version/s: 10.5.2
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Michael Widenius Assignee: Marko Mäkelä
Resolution: Incomplete Votes: 0
Labels: need_feedback
Environment:

OpenSuse


Issue Links:
Relates
relates to MDEV-20481 innodb.blob-crash crashes during reco... Closed

 Description   

innodb_encryption-page-compression crashes with:

mysqld: /my/maria-10.5/storage/innobase/buf/buf0lru.cc:622: void buf_flush_dirty_pages(ulint, bool, ulint): Assertion `first || buf_pool_get_dirty_pages_count(id) == 0' failed.
....
uf/buf0lru.cc:623(buf_flush_dirty_pages(unsigned long, bool, unsigned long))[0x136732f]
mysqld: /my/maria-10.5/storage/innobase/buf/buf0lru.cc:622: void buf_flush_dirty
mysqld: /my/maria-10.5/storage/innobase/buf/buf0lru.cc:622: void buf_flush_dirty
_pages(ulint, bool, ulint): Assertion `first || buf_pool_get_dirty_pages_count(i
d) == 0' failed.
_pages(ulint, bool, ulint): Assertion `first || buf_pool_get_dirty_pages_count(i
d) == 0' failed.
buf/buf0lru.cc:636(buf_LRU_flush_or_remove_pages(unsigned long, bool, unsigned long))[0x123ec43]
row/row0quiesce.cc:540(row_quiesce_table_start(dict_table_t*, trx_t*))[0x103a751]
handler/ha_innodb.cc:15938(ha_innobase::external_lock(THD*, int))[0xc13db5]
sql/handler.cc:6345(handler::ha_external_lock(THD*, int))[0xd495de]
sql/lock.cc:392(lock_external(THD*, TABLE**, unsigned int))[0xd4928a]
sql/lock.cc:337(mysql_lock_tables(THD*, st_mysql_lock*, unsigned int))[0xd49146]
sql/lock.cc:300(mysql_lock_tables(THD*, TABLE**, unsigned int, unsigned int))[0x81ea59]
sql/sql_base.cc:5499(lock_tables(THD*, TABLE_LIST*, unsigned int, unsigned int))[0x81df7c]
sql/sql_base.cc:5219(open_and_lock_tables(THD*, DDL_options_st const&, TABLE_LIST*, bool, unsigned int, Prelocking_strategy*))[0xa96f4d]
sql/sql_base.h:278(open_and_lock_tables(THD*, TABLE_LIST*, bool, unsigned int, Prelocking_strategy*))[0xa980a6]
sql/sql_reload.cc:566(flush_tables_with_read_lock(THD*, TABLE_LIST*))[0x8c54ac]
sql/sql_parse.cc:5316(mysql_execute_command(THD*))[0x8cd806]

Some variables:

(gdb) p first
$1 = 0
(gdb) p id
$2 = 13



 Comments   
Comment by Marko Mäkelä [ 2020-05-29 ]

monty, I did not see any failures of this on 10.5 in the buildbot cross-reference. There were some failures on bb-10.5- branches, and on 10.1 this test would occasionally fail due to the lack of MDEV-12699.

Does this still fail for you? In 10.5.3, there were many fixes to 10.5.2 regressions that were introduced by MDEV-12353 and related work.

A search for buf_pool_get_dirty_pages_count in the "failure output" of the buildbot cross-reference in 10.5-based branches only reported some failures on bb-10.5-MDEV-12353.

Comment by Michael Widenius [ 2020-08-03 ]

Sorry, can't answer as I am travelling and don't have any way to retest this until back home.

Comment by Sergei Golubchik [ 2020-09-07 ]

monty, can you retest it now? Or shall it be closed tentatively?

Generated at Thu Feb 08 09:10:14 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.