Yves, my PMP analysis is missing some piece of puzzle that you have found above.
What I see is
Global_THD_manager::add_thd threads try to lock LOCK_thd_list (but
don't appear to hold anything relevant)
THD::release_resources threads try to lock LOCK_status (but don't
appear to hold anything relevant)
Thread 2266: tries to lock thd->LOCK_thd_data
has LOCK_thd_list and LOCK_index
Thread 1984: tries to lock LOCK_log
has LOCK_status
Thread 357: tries to lock LOCK_index
has LOCK_log
dep graph: 1984 -> 357 -> 2266
I'm missing the thread(s) that complete the deadlock loop here: tries to lock LOCK_status and has LOCK_thd_data.
At the same time, I see the following in the PMP aggregation
Yves, my PMP analysis is missing some piece of puzzle that you have found above.
What I see is
Global_ THD_manager: :add_thd threads try to lock LOCK_thd_list (but :release_ resources threads try to lock LOCK_status (but don't
don't appear to hold anything relevant)
THD:
appear to hold anything relevant)
Thread 2266: tries to lock thd->LOCK_thd_data
has LOCK_thd_list and LOCK_index
Thread 1984: tries to lock LOCK_log
has LOCK_status
Thread 357: tries to lock LOCK_index
has LOCK_log
dep graph: 1984 -> 357 -> 2266
I'm missing the thread(s) that complete the deadlock loop here: tries to lock LOCK_status and has LOCK_thd_data.
At the same time, I see the following in the PMP aggregation
1 __lll_lock_ wait(libpthread .so.0), _L_lock_ 791(libpthread. so.0),pthread_ mutex_lock( libpthread. so.0),native_ mutex_lock( thr_mutex. h:84),my_ mutex_lock( thr_mutex. h:84),inline_ mysql_mutex_ lock(thr_ mutex.h: 84),MYSQL_ BIN_LOG: :change_ stage(thr_ mutex.h: 84),MYSQL_ BIN_LOG: :ordered_ commit( binlog. cc:9150) ,MYSQL_ BIN_LOG: :commit( binlog. cc:8426) ,ha_commit_ trans(handler. cc:1818) ,trans_ commit_ stmt(transactio n.cc:458) ,mysql_ execute_ command( sql_parse. cc:5241) ,Prepared_ statement: :execute( sql_prepare. cc:4281) ,Prepared_ statement: :execute_ loop(sql_ prepare. cc:3889) ,mysqld_ stmt_execute( sql_prepare. cc:2679) ,dispatch_ command( sql_parse. cc:1381) ,do_command( sql_parse. cc:1010) ,handle_ connection( connection_ handler_ per_thread. cc:312) ,pfs_spawn_ thread( pfs.cc: 2188),start_ thread( libpthread. so.0),clone( libc.so. 6)
Which I fail to find in the raw PMP.
Can you help?