Bug#12584374 LOCK_VALIDATE TRIPS ASSERTION !BLOCK->PAGE.FILE_PAGE_WAS_FREE
Fix a deadlock in the initial patch. lock_validate() must not hold the lock system mutex while s-latching a block, because some functions, such as lock_rec_convert_impl_to_expl(), may be already holding an x-latch on the block that lock_validate() is interested in while attempting to acquire the lock system mutex. This deadlock was not caught by UNIV_SYNC_DEBUG because of buf_block_dbg_add_level(block, SYNC_NO_ORDER_CHECK).
Showing
Please register or sign in to comment