InnoDB: Failing assertion: mutex_own(&buf_pool->LRU_list_mutex) in file buf0lru.c line 859
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Invalid
|
Undecided
|
Unassigned | ||
5.1 |
Fix Released
|
High
|
Laurynas Biveinis | ||
5.5 |
Fix Released
|
High
|
Laurynas Biveinis | ||
5.6 |
Invalid
|
Undecided
|
Unassigned |
Bug Description
130124 7:34:12 InnoDB: Assertion failure in thread 139816180811520 in file buf0lru.c line 859
InnoDB: Failing assertion: mutex_own(
Thread 1 (LWP 15772):
+bt
#0 0x0000003da180c60c in pthread_kill () from /lib64/
#1 0x00000000007de838 in my_write_core (sig=6) at /ssd/5.
#2 0x00000000006b2e14 in handle_fatal_signal (sig=6) at /ssd/5.
#3 <signal handler called>
#4 0x0000003da1435935 in raise () from /lib64/libc.so.6
#5 0x0000003da14370e8 in abort () from /lib64/libc.so.6
#6 0x00000000008f339a in buf_LRU_
#7 0x00000000008eb0c9 in buf_flush_remove (bpage=
#8 0x00000000008ecb5e in buf_flush_
#9 buf_flush_
@entry=
#10 0x00000000008ef41f in buf_flush_
#11 buf_flush_batch (buf_pool=
709551615) at /ssd/5.
#12 0x00000000008effbe in buf_flush_list (min_n=<optimized out>, lsn_limit=
#13 0x0000000000876587 in srv_master_thread (arg=<optimized out>) at /ssd/5.
#14 0x0000003da1807d14 in start_thread () from /lib64/
#15 0x0000003da14f168d in clone () from /lib64/libc.so.6
Found in trunk @ Percona-
Related branches
- Laurynas Biveinis (community): Approve
- Alexey Kopytov (community): Approve
- George Ormond Lorch III (community): Approve (g2)
-
Diff: 515 lines (+102/-79)6 files modifiedPercona-Server/storage/innodb_plugin/buf/buf0buf.c (+24/-18)
Percona-Server/storage/innodb_plugin/buf/buf0flu.c (+56/-47)
Percona-Server/storage/innodb_plugin/buf/buf0lru.c (+11/-7)
Percona-Server/storage/innodb_plugin/include/buf0buf.h (+4/-4)
Percona-Server/storage/innodb_plugin/include/buf0flu.h (+4/-1)
Percona-Server/storage/innodb_plugin/include/buf0lru.h (+3/-2)
- Alexey Kopytov (community): Approve
-
Diff: 406 lines (+14/-185) (has conflicts)10 files modifiedPercona-Server/storage/innobase/buf/buf0buf.c (+0/-74)
Percona-Server/storage/innobase/buf/buf0flu.c (+1/-8)
Percona-Server/storage/innobase/buf/buf0lru.c (+0/-40)
Percona-Server/storage/innobase/fil/fil0fil.c (+0/-49)
Percona-Server/storage/innobase/handler/ha_innodb.cc (+8/-2)
Percona-Server/storage/innobase/include/buf0buf.h (+5/-0)
Percona-Server/storage/innobase/include/buf0buf.ic (+0/-1)
Percona-Server/storage/innobase/include/buf0lru.h (+0/-7)
Percona-Server/storage/innobase/include/srv0srv.h (+0/-2)
Percona-Server/storage/innobase/srv/srv0srv.c (+0/-2)
tags: | added: xtradb |
A debug-only issue: buf_flush_remove needs to hold the LRU list mutex for the flush list flushes for BUF_BLOCK_ZIP_DIRTY pages. Due to mutex locking order, the way to fix this is to lock LRU in buf_flush_ flush_list_ batch #if UNIV_DEBUG || UNIV_BUF_DEBUG.