Double zip_mutex exit in buf_page_get_gen()
Bug #1240371 reported by
Laurynas Biveinis
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
High
|
Laurynas Biveinis | ||
5.1 |
Invalid
|
Undecided
|
Unassigned | ||
5.5 |
Invalid
|
Undecided
|
Unassigned | ||
5.6 |
Fix Released
|
High
|
Laurynas Biveinis |
Bug Description
if (--bpage-
|| buf_page_
1. mutex_exit(
/* The block was buffer-fixed or I/O-fixed while
buf_pool->mutex was not held by this thread.
Free the block that was allocated and retry.
This should be extremely unlikely, for example,
if buf_page_get_zip() was invoked. */
buf_
mutex_
2. mutex_exit(
A MySQL 5.6.14 merge regression.
Related branches
lp:~laurynas-biveinis/percona-server/bug1240371
- Sergei Glushchenko (community): Approve (g2)
tags: | added: merge-regression xtradb |
To post a comment you must log in.
The 5.6.14 merge replaced one incorrect locking with another: it added the 1. exit, which actually is the correct one. Thus, before 5.6.14, it was a potential debug build crash in buf_buddy_ free_low( ) called from buf_LRU_ block_free_ non_file_ page() in ut_ad(! mutex_own( &buf_pool- >zip_mutex) ). That must have been introduced by the buffer pool mutex split patch 5.6 port.