#At file:///Users/malff/BZR_TREE/mysql-trunk-lock-order/ based on revid:marc.alff@stripped
3351 Marc Alff 2011-03-31
lock order, continued
modified:
sql/debug_lock_order.cc
sql/mysqld.cc
=== modified file 'sql/debug_lock_order.cc'
--- a/sql/debug_lock_order.cc 2011-03-31 13:55:55 +0000
+++ b/sql/debug_lock_order.cc 2011-03-31 16:13:26 +0000
@@ -5,10 +5,22 @@
#include "mysqld.h"
#include "debug_lock_order.h"
+static void debug_lock_order_break_here()
+{
+static int debugger_calls= 0;
+
+ /* Put a breakpoint here in your debugger. */
+ debugger_calls++;
+}
+
#define LO_MAX_THREAD_CLASS 100
#define LO_MAX_MUTEX_CLASS 200
#define LO_MAX_RWLOCK_CLASS 50
+#define LO_THREAD_RANGE 0
+#define LO_MUTEX_RANGE 1000
+#define LO_RWLOCK_RANGE 2000
+
#define LO_MAX_QNAME_LENGTH 128
FILE *out_log= NULL;
@@ -126,9 +138,10 @@ typedef std::list<LO_authorised_arc*, LO
class LO_node
{
public:
- LO_node(const char *category, const char *name)
+ LO_node(const char *instrument, const char *category, const char *name)
{
- sprintf(m_qname, "%s/%s", category, name);
+ sprintf(m_qname, "%s/%s/%s", instrument, category, name);
+ sprintf(m_short_name, "%s/%s", category, name);
}
virtual ~LO_node()
@@ -137,7 +150,10 @@ public:
const char *get_qname() const
{ return m_qname; }
- virtual int get_key() const = 0;
+ const char *get_short_name() const
+ { return m_short_name; }
+
+ virtual int get_unified_key() const = 0;
void add_out(LO_arc *arc)
{ m_arcs_out.push_front(arc); }
@@ -155,6 +171,7 @@ public:
private:
char m_qname[LO_MAX_QNAME_LENGTH];
+ char m_short_name[LO_MAX_QNAME_LENGTH];
LO_arc_list m_arcs_in;
LO_arc_list m_arcs_out;
};
@@ -358,8 +375,8 @@ void LO_graph::dump_dot()
{
fprintf(out_dot,
" node [label=\"%s\"] %d;\n",
- n->get_qname(),
- n->get_key());
+ n->get_short_name(),
+ n->get_unified_key());
}
}
@@ -377,8 +394,8 @@ void LO_graph::dump_dot()
{
fprintf(out_dot,
" %d -> %d;\n",
- a->get_from()->get_key(),
- a->get_to()->get_key());
+ a->get_from()->get_unified_key(),
+ a->get_to()->get_unified_key());
}
else
{
@@ -390,8 +407,8 @@ void LO_graph::dump_dot()
fprintf(out_dot,
" %d:c -> %d:s [dir=back color=red arrowsize=2 penwidth=5];\n",
- a->get_to()->get_key(),
- a->get_from()->get_key());
+ a->get_to()->get_unified_key(),
+ a->get_from()->get_unified_key());
}
}
@@ -460,6 +477,68 @@ void LO_graph::dump_txt()
}
}
}
+
+ fprintf(out_txt, "\n");
+ fprintf(out_txt, "CYCLE ANALYSIS:\n");
+ fprintf(out_txt, "\n");
+
+ int cycle_count= 0;
+
+ for (arc_it= m_arcs.begin();
+ arc_it != m_arcs.end();
+ arc_it++)
+ {
+ a= *arc_it;
+ LO_node *from= a->get_from();
+ LO_node *to= a->get_to();
+
+ if (a->has_loop())
+ {
+ LO_node_list cycle;
+ if (find_path(to, from, cycle))
+ {
+ cycle_count++;
+
+ fprintf(out_txt, "Dumping cycle %d, %s -> %s\n",
+ cycle_count, from->get_qname(), to->get_qname());
+
+ LO_node_list::const_iterator it;
+ LO_node *node;
+ int link= 1;
+
+ for (it= cycle.begin();
+ it != cycle.end();
+ it++, link++)
+ {
+ node= *it;
+ fprintf(out_txt, " Cycle link %d: %s\n", link, node->get_qname());
+ }
+ }
+ else
+ {
+ fprintf(out_txt, "ARC: %s -> %s declared as loop, but seen no loop.\n",
+ from->get_qname(), to->get_qname());
+ }
+ fprintf(out_txt, "\n");
+ }
+ }
+
+ fprintf(out_txt, "Total of %d cycles found.\n", cycle_count);
+
+
+ fprintf(out_txt, "unresolved arcs:\n");
+
+ LO_authorised_arc_list::iterator it;
+ LO_authorised_arc *unresolved_arc;
+
+ for (it= m_unresolved_arcs.begin();
+ it != m_unresolved_arcs.end();
+ it++)
+ {
+ unresolved_arc= *it;
+ fprintf(out_txt, " - %s -> %s\n", unresolved_arc->m_from_name, unresolved_arc->m_to_name);
+ }
+
fclose(out_txt);
out_txt= NULL;
}
@@ -472,9 +551,13 @@ public:
static LO_thread_class *find(int key);
LO_thread_class(const char *category, const char *name);
- ~LO_thread_class()
+
+ virtual ~LO_thread_class()
{}
+ virtual int get_unified_key() const
+ { return m_key + LO_THREAD_RANGE; }
+
int get_key() const
{ return m_key; }
@@ -522,6 +605,9 @@ public:
virtual ~LO_mutex_class()
{}
+ virtual int get_unified_key() const
+ { return m_key + LO_MUTEX_RANGE; }
+
virtual int get_key() const
{ return m_key; }
@@ -636,6 +722,9 @@ public:
virtual ~LO_rwlock_class()
{}
+ virtual int get_unified_key() const
+ { return m_key + LO_RWLOCK_RANGE; }
+
virtual int get_key() const
{ return m_key; }
@@ -760,16 +849,6 @@ void LO_graph::check(const LO_lock *old_
{
if (out_log != NULL)
{
-#ifdef LATER
- fprintf(out_log,
- "Error: missing arc %s (%s:%d) -> %s (%s:%d)\n",
- old_node->get_qname(),
- old_lock->get_locking_src_file(),
- old_lock->get_locking_src_line(),
- new_node->get_qname(),
- new_lock->get_locking_src_file(),
- new_lock->get_locking_src_line());
-#endif
fprintf(out_log,
"Error: missing arc %s -> %s\n",
old_node->get_qname(),
@@ -778,7 +857,7 @@ void LO_graph::check(const LO_lock *old_
}
else
{
- if (arc->has_trace() || arc->has_debug())
+ if (arc->has_trace())
{
if (out_log != NULL)
{
@@ -792,7 +871,10 @@ void LO_graph::check(const LO_lock *old_
new_lock->get_locking_src_line());
}
}
- // DBUG_ASSERT(arc->has_debug() == false);
+ if (arc->has_debug())
+ {
+ debug_lock_order_break_here();
+ }
}
}
@@ -1029,7 +1111,7 @@ LO_mutex_class *LO_mutex_class::find_by_
}
LO_mutex_class::LO_mutex_class(const char *category, const char* name)
-: LO_node(category, name)
+: LO_node("mutex", category, name)
{
m_counter++;
m_key= m_counter;
@@ -1051,7 +1133,7 @@ LO_rwlock_class *LO_rwlock_class::find_b
}
LO_rwlock_class::LO_rwlock_class(const char *category, const char* name)
-: LO_node(category, name)
+: LO_node("rwlock", category, name)
{
m_counter++;
m_key= m_counter;
=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc 2011-03-31 13:55:55 +0000
+++ b/sql/mysqld.cc 2011-03-31 16:13:26 +0000
@@ -79,383 +79,372 @@
#include "debug_lock_order.h"
static LO_authorised_arc debug_lock_order_arcs[]=
{
- {"innodb/autoinc_mutex", "innodb/thr_local_mutex", 0},
- {"innodb/autoinc_mutex", "innodb/buf_pool_mutex", 0},
- {"innodb/autoinc_mutex", "innodb/mutex_list_mutex", 0},
- {"innodb/autoinc_mutex", "innodb/os_mutex", 0},
-
- {"innodb/buf_pool_mutex", "innodb/mutex_list_mutex", 0},
- {"innodb/buf_pool_mutex", "innodb/os_mutex", 0},
- {"innodb/buf_pool_mutex", "innodb/rw_lock_list_mutex", 0},
- {"innodb/buf_pool_mutex", "innodb/ut_list_mutex", 0},
- {"innodb/buf_pool_mutex", "innodb/fil_system_mutex", 0},
- {"innodb/buf_pool_mutex", "innodb/flush_list_mutex", 0},
- {"innodb/buf_pool_mutex", "innodb/buf_pool_zip_mutex", 0},
-
- {"innodb/buf_pool_zip_mutex", "innodb/flush_list_mutex", 0},
-
- {"innodb/dict_foreign_err_mutex", "sql/THD::LOCK_thd_data", 0}, // ???
-
- {"innodb/dict_sys_mutex", "innodb/buf_pool_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/fil_system_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/ibuf_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/log_sys_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/mutex_list_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/os_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/recv_sys_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/rw_lock_list_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/thr_local_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/flush_list_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/lock_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/log_flush_order_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/rseg_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/trx_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/trx_undo_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/purge_sys_bh_mutex", 0},
- {"innodb/dict_sys_mutex", "sql/LOCK_global_system_variables", 0}, // ???
- {"innodb/dict_sys_mutex", "innodb/autoinc_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/buf_pool_zip_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/srv_sys_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/trx_doublewrite_mutex", 0},
- {"innodb/dict_sys_mutex", "innodb/dict_foreign_err_mutex", 0},
- {"innodb/dict_sys_mutex", "sql/LOCK_error_log", 0},
-
- {"innodb/fil_system_mutex", "innodb/os_mutex", 0},
- {"innodb/fil_system_mutex", "innodb/rw_lock_list_mutex", 0},
-
- {"innodb/file_format_max_mutex", "innodb/log_sys_mutex", 0},
-
- {"innodb/ibuf_mutex", "innodb/buf_pool_mutex", 0},
- {"innodb/ibuf_mutex", "innodb/fil_system_mutex", 0},
- {"innodb/ibuf_mutex", "innodb/log_sys_mutex", 0},
- {"innodb/ibuf_mutex", "innodb/os_mutex", 0},
- {"innodb/ibuf_mutex", "innodb/recv_sys_mutex", 0},
- {"innodb/ibuf_mutex", "innodb/thr_local_mutex", 0},
-
- {"innodb/ibuf_bitmap_mutex", "innodb/thr_local_mutex", 0},
-
- {"innodb/lock_mutex", "innodb/trx_mutex", 0},
- {"innodb/lock_mutex", "sql/THD::LOCK_thd_data", 0},
-
- {"innodb/lock_wait_mutex", "innodb/os_mutex", 0},
- {"innodb/lock_wait_mutex", "innodb/trx_mutex", 0},
- {"innodb/lock_wait_mutex", "innodb/lock_mutex", 0},
-
- {"innodb/log_flush_order_mutex", "innodb/flush_list_mutex", 0},
- {"innodb/log_flush_order_mutex", "innodb/os_mutex", 0},
-
- {"innodb/log_sys_mutex", "innodb/log_flush_order_mutex", 0},
- {"innodb/log_sys_mutex", "innodb/fil_system_mutex", 0},
- {"innodb/log_sys_mutex", "innodb/os_mutex", 0},
- {"innodb/log_sys_mutex", "innodb/thr_local_mutex", 0},
- {"innodb/log_sys_mutex", "innodb/flush_list_mutex", 0},
- {"innodb/log_sys_mutex", "innodb/rw_lock_list_mutex", 0},
- {"innodb/log_sys_mutex", "innodb/mutex_list_mutex", 0},
- {"innodb/log_sys_mutex", "innodb/recv_sys_mutex", 0},
-
- {"innodb/prepare_commit_mutex", "innodb/lock_mutex", 0},
- {"innodb/prepare_commit_mutex", "innodb/log_sys_mutex", 0},
- {"innodb/prepare_commit_mutex", "innodb/rseg_mutex", 0},
- {"innodb/prepare_commit_mutex", "innodb/trx_mutex", 0},
- {"innodb/prepare_commit_mutex", "sql/LOG::LOCK_log", 0},
- {"innodb/prepare_commit_mutex", "sql/MYSQL_BIN_LOG::LOCK_prep_xids", 0},
- {"innodb/prepare_commit_mutex", "innodb/read_view_mutex", 0},
-
- {"innodb/rseg_mutex", "innodb/thr_local_mutex", 0},
- {"innodb/rseg_mutex", "innodb/buf_pool_mutex", 0},
- {"innodb/rseg_mutex", "innodb/fil_system_mutex", 0},
- {"innodb/rseg_mutex", "innodb/log_flush_order_mutex", 0},
- {"innodb/rseg_mutex", "innodb/log_sys_mutex", 0},
- {"innodb/rseg_mutex", "innodb/purge_sys_bh_mutex", 0},
- {"innodb/rseg_mutex", "innodb/flush_list_mutex", 0},
- {"innodb/rseg_mutex", "innodb/os_mutex", 0},
- {"innodb/rseg_mutex", "innodb/buf_pool_zip_mutex", 0},
-
- {"innodb/rw_lock_list_mutex", "innodb/os_mutex", 0},
-
- {"innodb/srv_dict_tmpfile_mutex", "innodb/dict_sys_mutex", 0},
-
- {"innodb/srv_innodb_monitor_mutex", "innodb/buf_pool_mutex", 0},
- {"innodb/srv_innodb_monitor_mutex", "innodb/buf_pool_zip_mutex", 0},
- {"innodb/srv_innodb_monitor_mutex", "innodb/flush_list_mutex", 0},
- {"innodb/srv_innodb_monitor_mutex", "innodb/dict_foreign_err_mutex", 0},
- {"innodb/srv_innodb_monitor_mutex", "innodb/fil_system_mutex", 0},
- {"innodb/srv_innodb_monitor_mutex", "innodb/ibuf_mutex", 0},
- {"innodb/srv_innodb_monitor_mutex", "innodb/lock_mutex", 0},
- {"innodb/srv_innodb_monitor_mutex", "innodb/log_flush_order_mutex", 0},
- {"innodb/srv_innodb_monitor_mutex", "innodb/log_sys_mutex", 0},
- {"innodb/srv_innodb_monitor_mutex", "innodb/mem_pool_mutex", 0},
- {"innodb/srv_innodb_monitor_mutex", "innodb/os_mutex", 0},
- {"innodb/srv_innodb_monitor_mutex", "sql/THD::LOCK_thd_data", 0},
-
- {"innodb/srv_monitor_file_mutex", "innodb/buf_pool_mutex", 0},
- {"innodb/srv_monitor_file_mutex", "innodb/dict_foreign_err_mutex", 0},
- {"innodb/srv_monitor_file_mutex", "innodb/fil_system_mutex", 0},
- {"innodb/srv_monitor_file_mutex", "innodb/flush_list_mutex", 0},
- {"innodb/srv_monitor_file_mutex", "innodb/ibuf_mutex", 0},
- {"innodb/srv_monitor_file_mutex", "innodb/lock_mutex", 0},
- {"innodb/srv_monitor_file_mutex", "innodb/log_flush_order_mutex", 0},
- {"innodb/srv_monitor_file_mutex", "innodb/log_sys_mutex", 0},
- {"innodb/srv_monitor_file_mutex", "innodb/mem_pool_mutex", 0},
- {"innodb/srv_monitor_file_mutex", "innodb/os_mutex", 0},
- {"innodb/srv_monitor_file_mutex", "innodb/srv_innodb_monitor_mutex", 0},
- {"innodb/srv_monitor_file_mutex", "sql/THD::LOCK_thd_data", 0},
-
- {"innodb/srv_sys_mutex", "innodb/thr_local_mutex", 0},
-
- {"innodb/trx_doublewrite_mutex", "innodb/fil_system_mutex", 0},
- {"innodb/trx_doublewrite_mutex", "innodb/os_mutex", 0},
- {"innodb/trx_doublewrite_mutex", "innodb/thr_local_mutex", 0},
-
- {"innodb/trx_mutex", "innodb/mutex_list_mutex", 0},
- {"innodb/trx_mutex", "innodb/os_mutex", 0},
-
- {"innodb/trx_undo_mutex", "innodb/buf_pool_mutex", 0},
- {"innodb/trx_undo_mutex", "innodb/fil_system_mutex", 0},
- {"innodb/trx_undo_mutex", "innodb/flush_list_mutex", 0},
- {"innodb/trx_undo_mutex", "innodb/log_flush_order_mutex", 0},
- {"innodb/trx_undo_mutex", "innodb/log_sys_mutex", 0},
- {"innodb/trx_undo_mutex", "innodb/rseg_mutex", 0},
- {"innodb/trx_undo_mutex", "innodb/thr_local_mutex", 0},
- {"innodb/trx_undo_mutex", "innodb/os_mutex", 0},
- {"innodb/trx_undo_mutex", "innodb/buf_pool_zip_mutex", 0},
-
- {"myisam/MYISAM_SHARE::intern_lock", "mysys/KEY_CACHE::cache_lock", 0},
- {"myisam/MYISAM_SHARE::intern_lock", "sql/LOCK_error_log", 0},
- {"myisam/MYISAM_SHARE::intern_lock", "sql/THD::LOCK_thd_data", 0},
-
- {"mysys/my_thread_var::mutex", "sql/LOCK_event_queue", 0},
- {"mysys/my_thread_var::mutex", "sql/DEBUG_SYNC::mutex", 0},
- {"mysys/my_thread_var::mutex", "mysys/THR_LOCK::mutex", 0},
- {"mysys/my_thread_var::mutex", "sql/LOCK_user_locks", 0},
- {"mysys/my_thread_var::mutex", "sql/MDL_wait::LOCK_wait_status", 0},
-
- {"mysys/THR_LOCK_myisam", "myisam/MYISAM_SHARE::intern_lock", 0},
- {"mysys/THR_LOCK_myisam", "mysys/KEY_CACHE::cache_lock", 0},
- {"mysys/THR_LOCK_myisam", "mysys/THR_LOCK_open", 0},
- {"mysys/THR_LOCK_myisam", "sql/LOCK_error_log", 0},
-
- {"mysys/THR_LOCK::mutex", "csv/TINA_SHARE::mutex", 0},
- {"mysys/THR_LOCK::mutex", "sql/DEBUG_SYNC::mutex", 0},
-
- {"mysys/THR_LOCK_charset", "mysys/THR_LOCK_open", 0},
-
- {"csv/tina", "mysys/THR_LOCK_open", 0},
-
- {"archive/ARCHIVE_SHARE::mutex", "mysys/THR_LOCK_open", 0},
-
- {"archive/archive_mutex", "mysys/THR_LOCK_open", 0},
-
- {"sql/Delayed_insert::mutex", "sql/LOCK_delayed_status", 0},
- {"sql/Delayed_insert::mutex", "myisam/MYISAM_SHARE::intern_lock", 0},
- {"sql/Delayed_insert::mutex", "mysys/THR_LOCK::mutex", 0},
- {"sql/Delayed_insert::mutex", "mysys/THR_LOCK_myisam", 0},
- {"sql/Delayed_insert::mutex", "mysys/THR_LOCK_open", 0},
- {"sql/Delayed_insert::mutex", "mysys/THR_LOCK_threads", 0},
- {"sql/Delayed_insert::mutex", "sql/LOCK_plugin", 0},
- {"sql/Delayed_insert::mutex", "sql/TABLE_SHARE::LOCK_ha_data", 0},
- {"sql/Delayed_insert::mutex", "mysys/KEY_CACHE::cache_lock", 0},
- {"sql/Delayed_insert::mutex", "sql/MDL_map::mutex", 0},
- {"sql/Delayed_insert::mutex", "sql/MDL_wait::LOCK_wait_status", 0},
-
- {"sql/LOCK_delayed_insert", "sql/Delayed_insert::mutex", 0},
- {"sql/LOCK_delayed_insert", "sql/DEBUG_SYNC::mutex", 0},
- {"sql/LOCK_delayed_insert", "sql/LOCK_plugin", 0},
- {"sql/LOCK_delayed_insert", "sql/LOCK_prepared_stmt_count", 0},
- {"sql/LOCK_delayed_insert", "sql/LOCK_thread_count", 0},
- {"sql/LOCK_delayed_insert", "sql/LOCK_xid_cache", 0},
- {"sql/LOCK_delayed_insert", "sql/THD::LOCK_thd_data", 0},
-
- {"sql/LOCK_delayed_create", "sql/Delayed_insert::mutex", 0},
- {"sql/LOCK_delayed_create", "sql/LOCK_delayed_insert", 0},
- {"sql/LOCK_delayed_create", "sql/LOCK_global_system_variables", 0},
- {"sql/LOCK_delayed_create", "sql/LOCK_plugin", 0},
- {"sql/LOCK_delayed_create", "sql/LOCK_thread_count", 0},
- {"sql/LOCK_delayed_create", "sql/THD::LOCK_thd_data", 0},
- {"sql/LOCK_delayed_create", "sql/DEBUG_SYNC::mutex", 0},
- {"sql/LOCK_delayed_create", "sql/LOCK_prepared_stmt_count", 0},
- {"sql/LOCK_delayed_create", "sql/LOCK_xid_cache", 0},
-
- {"sql/Event_scheduler::LOCK_scheduler_state", "mysys/LOCK_alarm", 0},
- {"sql/Event_scheduler::LOCK_scheduler_state", "mysys/my_thread_var::mutex", 0},
- {"sql/Event_scheduler::LOCK_scheduler_state", "sql/DEBUG_SYNC::mutex", 0},
- {"sql/Event_scheduler::LOCK_scheduler_state", "sql/LOCK_error_log", 0},
- {"sql/Event_scheduler::LOCK_scheduler_state", "sql/LOCK_event_queue", 0},
- {"sql/Event_scheduler::LOCK_scheduler_state", "sql/LOCK_global_system_variables", 0},
- {"sql/Event_scheduler::LOCK_scheduler_state", "sql/LOCK_plugin", 0},
- {"sql/Event_scheduler::LOCK_scheduler_state", "sql/LOCK_prepared_stmt_count", 0},
- {"sql/Event_scheduler::LOCK_scheduler_state", "sql/LOCK_thread_count", 0},
- {"sql/Event_scheduler::LOCK_scheduler_state", "sql/LOCK_xid_cache", 0},
- {"sql/Event_scheduler::LOCK_scheduler_state", "sql/THD::LOCK_thd_data", 0},
-
- {"sql/LOCK_error_messages", "mysys/THR_LOCK_open", 0},
-
- {"sql/LOCK_des_key_file", "mysys/THR_LOCK_open", 0},
-
- {"sql/LOCK_gdl", "mysys/THR_LOCK_open", 0},
- {"sql/LOCK_gdl", "mysys/THR_LOCK_myisam", 0},
- {"sql/LOCK_gdl", "sql/LOCK_plugin", 0},
- {"sql/LOCK_gdl", "innodb/dict_sys_mutex", 0},
- {"sql/LOCK_gdl", "innodb/lock_mutex", 0},
- {"sql/LOCK_gdl", "innodb/log_sys_mutex", 0},
- {"sql/LOCK_gdl", "innodb/mutex_list_mutex", 0},
- {"sql/LOCK_gdl", "innodb/os_mutex", 0},
- {"sql/LOCK_gdl", "innodb/srv_sys_mutex", 0},
- {"sql/LOCK_gdl", "innodb/trx_mutex", 0},
-
- {"sql/LOCK_active_mi", "myisam/MYISAM_SHARE::intern_lock", 0},
- {"sql/LOCK_active_mi", "mysys/THR_LOCK::mutex", 0},
- {"sql/LOCK_active_mi", "mysys/THR_LOCK_myisam", 0},
- {"sql/LOCK_active_mi", "mysys/THR_LOCK_open", 0},
- {"sql/LOCK_active_mi", "sql/DEBUG_SYNC::mutex", 0},
- {"sql/LOCK_active_mi", "sql/LOCK_open", 0},
- {"sql/LOCK_active_mi", "sql/LOCK_plugin", 0},
- {"sql/LOCK_active_mi", "sql/LOCK_prepared_stmt_count", 0},
- {"sql/LOCK_active_mi", "sql/LOCK_thread_count", 0},
- {"sql/LOCK_active_mi", "sql/LOCK_xid_cache", 0},
- {"sql/LOCK_active_mi", "sql/MDL_map::mutex", 0},
- {"sql/LOCK_active_mi", "sql/Master_info::data_lock", 0},
- {"sql/LOCK_active_mi", "sql/Relay_log_info::data_lock", 0},
- {"sql/LOCK_active_mi", "sql/TABLE_SHARE::LOCK_ha_data", 0},
- {"sql/LOCK_active_mi", "sql/THD::LOCK_thd_data", 0},
- {"sql/LOCK_active_mi", "mysys/THR_LOCK_charset", 0},
- {"sql/LOCK_active_mi", "mysys/KEY_CACHE::cache_lock", 0},
- {"sql/LOCK_active_mi", "sql/Master_info::run_lock", 0},
- {"sql/LOCK_active_mi", "sql/Relay_log_info::run_lock", 0},
- {"sql/LOCK_active_mi", "sql/Slave_reporting_capability::err_lock", 0},
- {"sql/LOCK_active_mi", "mysys/IO_CACHE::append_buffer_lock", 0},
- {"sql/LOCK_active_mi", "sql/LOG::LOCK_log", 0},
- {"sql/LOCK_active_mi", "mysys/LOCK_alarm", 0},
- {"sql/LOCK_active_mi", "mysys/my_thread_var::mutex", 0},
- {"sql/LOCK_active_mi", "sql/LOCK_error_log", 0},
- {"sql/LOCK_active_mi", "sql/MYSQL_RELAY_LOG::LOCK_index", 0},
-
- {"sql/LOCK_event_queue", "sql/LOCK_error_log", 0},
-
- {"sql/LOCK_global_system_variables", "sql/LOCK_plugin", 0},
- {"sql/LOCK_global_system_variables", "sql/LOCK_prepared_stmt_count", 0},
- {"sql/LOCK_global_system_variables", "sql/LOCK_thread_count", 0},
- {"sql/LOCK_global_system_variables", "sql/Query_cache::structure_guard_mutex", 0},
- {"sql/LOCK_global_system_variables", "sql/DEBUG_SYNC::mutex", 0},
- {"sql/LOCK_global_system_variables", "mysys/LOCK_alarm", 0},
- {"sql/LOCK_global_system_variables", "sql/Relay_log_info::data_lock", 0},
- {"sql/LOCK_global_system_variables", "sql/Relay_log_info::run_lock", 0},
- {"sql/LOCK_global_system_variables", "sql/LOG::LOCK_log", 0},
- {"sql/LOCK_global_system_variables", "innodb/file_format_max_mutex", 0},
- {"sql/LOCK_global_system_variables", "innodb/log_sys_mutex", 0},
-
- {"sql/LOCK_open", "myisam/MYISAM_SHARE::intern_lock", 0},
- {"sql/LOCK_open", "mysys/KEY_CACHE::cache_lock", 0},
- {"sql/LOCK_open", "mysys/THR_LOCK_myisam", 0},
- {"sql/LOCK_open", "mysys/THR_LOCK_open", 0},
- {"sql/LOCK_open", "sql/LOCK_plugin", 0},
- {"sql/LOCK_open", "mysys/THR_LOCK_charset", 0},
- {"sql/LOCK_open", "sql/LOCK_error_log", 0},
- {"sql/LOCK_open", "sql/hash_filo::lock", 0},
- {"sql/LOCK_open", "csv/tina", 0},
- {"sql/LOCK_open", "example/example", 0},
- {"sql/LOCK_open", "innodb/dict_sys_mutex", 0},
- {"sql/LOCK_open", "innodb/innobase_share_mutex", 0},
- {"sql/LOCK_open", "mysys/THR_LOCK_heap", 0},
- {"sql/LOCK_open", "sql/MDL_wait::LOCK_wait_status", 0},
- {"sql/LOCK_open", "archive/archive_mutex", 0},
- {"sql/LOCK_open", "mysys/my_thread_var::mutex", 0},
- {"sql/LOCK_open", "blackhole/blackhole", 0},
-
- {"sql/LOCK_plugin", "sql/LOCK_error_log", 0},
- {"sql/LOCK_plugin", "mysys/KEY_CACHE::cache_lock", 0},
- {"sql/LOCK_plugin", "mysys/THR_LOCK_open", 0},
-
- {"sql/LOCK_status", "innodb/buf_pool_mutex", 0},
- {"sql/LOCK_status", "innodb/buf_pool_zip_mutex", 0},
- {"sql/LOCK_status", "innodb/flush_list_mutex", 0},
- {"sql/LOCK_status", "innodb/srv_innodb_monitor_mutex", 0},
- {"sql/LOCK_status", "sql/LOCK_active_mi", 0},
- {"sql/LOCK_status", "sql/LOCK_global_system_variables", 0},
- {"sql/LOCK_status", "sql/LOCK_prepared_stmt_count", 0},
- {"sql/LOCK_status", "sql/Relay_log_info::data_lock", 0},
- {"sql/LOCK_status", "sql/LOCK_thread_count", 0},
- {"sql/LOCK_status", "sql/LOG::LOCK_log", 0},
- {"sql/LOCK_status", "sql/Query_cache::structure_guard_mutex", 0},
-
- {"sql/LOCK_thread_count", "sql/LOCK_plugin", 0},
- {"sql/LOCK_thread_count", "sql/LOCK_prepared_stmt_count", 0},
- {"sql/LOCK_thread_count", "sql/THD::LOCK_thd_data", 0},
- {"sql/LOCK_thread_count", "innodb/mutex_list_mutex", 0},
- {"sql/LOCK_thread_count", "innodb/os_mutex", 0},
- {"sql/LOCK_thread_count", "innodb/thr_local_mutex", 0},
- {"sql/LOCK_thread_count", "innodb/trx_mutex", 0},
- {"sql/LOCK_thread_count", "sql/DEBUG_SYNC::mutex", 0},
- {"sql/LOCK_thread_count", "sql/LOCK_user_locks", 0},
- {"sql/LOCK_thread_count", "sql/LOCK_xid_cache", 0},
- {"sql/LOCK_thread_count", "sql/MDL_map::mutex", 0},
- {"sql/LOCK_thread_count", "mysys/my_thread_var::mutex", 0},
- {"sql/LOCK_thread_count", "sql/LOCK_event_queue", 0},
- {"sql/LOCK_thread_count", "mysys/THR_LOCK_open", 0},
-
- {"sql/THD::LOCK_thd_data", "mysys/LOCK_alarm", 0},
- {"sql/THD::LOCK_thd_data", "sql/LOCK_error_log", 0},
- {"sql/THD::LOCK_thd_data", "sql/LOCK_event_queue", 0},
- {"sql/THD::LOCK_thd_data", "mysys/THR_LOCK::mutex", 0},
- {"sql/THD::LOCK_thd_data", "sql/DEBUG_SYNC::mutex", 0},
- {"sql/THD::LOCK_thd_data", "sql/LOCK_user_locks", 0},
- {"sql/THD::LOCK_thd_data", "sql/MDL_wait::LOCK_wait_status", 0},
-
- {"sql/LOCK_uuid_generator", "sql/LOCK_thread_count", 0},
-
- {"sql/Master_info::data_lock", "sql/Relay_log_info::data_lock", 0},
- {"sql/Master_info::data_lock", "mysys/IO_CACHE::append_buffer_lock", 0},
- {"sql/Master_info::data_lock", "mysys/THR_LOCK_open", 0},
- {"sql/Master_info::data_lock", "sql/LOG::LOCK_log", 0},
- {"sql/Master_info::data_lock", "sql/MYSQL_RELAY_LOG::LOCK_index", 0},
-
- {"sql/Master_info::run_lock", "sql/Relay_log_info::run_lock", 0},
- {"sql/Master_info::run_lock", "sql/Slave_reporting_capability::err_lock", 0},
-
- {"sql/Relay_log_info::run_lock", "sql/Slave_reporting_capability::err_lock", 0},
- {"sql/Relay_log_info::run_lock", "sql/Relay_log_info::data_lock", 0},
-
- {"sql/MYSQL_BIN_LOG::LOCK_index", "mysys/THR_LOCK_open", 0},
- {"sql/MYSQL_BIN_LOG::LOCK_index", "sql/LOCK_thread_count", 0},
-
- {"sql/MYSQL_RELAY_LOG::LOCK_index", "mysys/IO_CACHE::append_buffer_lock", 0},
- {"sql/MYSQL_RELAY_LOG::LOCK_index", "mysys/THR_LOCK_open", 0},
- {"sql/MYSQL_RELAY_LOG::LOCK_index", "sql/LOCK_thread_count", 0},
- {"sql/MYSQL_RELAY_LOG::LOCK_index", "sql/Relay_log_info::log_space_lock", 0},
-
- {"sql/LOG::LOCK_log", "mysys/THR_LOCK_open", 0},
- {"sql/LOG::LOCK_log", "sql/LOCK_thread_count", 0},
- {"sql/LOG::LOCK_log", "sql/MYSQL_BIN_LOG::LOCK_index", 0},
- {"sql/LOG::LOCK_log", "mysys/IO_CACHE::append_buffer_lock", 0},
- {"sql/LOG::LOCK_log", "sql/LOCK_error_log", 0},
- {"sql/LOG::LOCK_log", "sql/MYSQL_BIN_LOG::LOCK_prep_xids", 0},
- {"sql/LOG::LOCK_log", "sql/MYSQL_RELAY_LOG::LOCK_index", 0},
- {"sql/LOG::LOCK_log", "sql/Relay_log_info::log_space_lock", 0},
-
- {"sql/hash_filo::lock", "sql/LOCK_global_system_variables", 0},
- {"sql/hash_filo::lock", "mysys/KEY_CACHE::cache_lock", 0},
- {"sql/hash_filo::lock", "sql/LOCK_plugin", 0},
- {"sql/hash_filo::lock", "sql/LOCK_error_log", 0},
- {"sql/hash_filo::lock", "sql/LOG::LOCK_log", 0},
-
- {"sql/tz_LOCK", "myisam/MYISAM_SHARE::intern_lock", 0},
- {"sql/tz_LOCK", "mysys/KEY_CACHE::cache_lock", 0},
- {"sql/tz_LOCK", "mysys/THR_LOCK::mutex", 0},
- {"sql/tz_LOCK", "sql/LOCK_error_log", 0},
- {"sql/tz_LOCK", "sql/LOCK_open", 0},
- {"sql/tz_LOCK", "sql/MDL_map::mutex", 0},
- {"sql/tz_LOCK", "sql/THD::LOCK_thd_data", 0},
-
- {"sql/HA_DATA_PARTITION::LOCK_auto_inc", "archive/ARCHIVE_SHARE::mutex", 0},
- {"sql/HA_DATA_PARTITION::LOCK_auto_inc", "myisam/MYISAM_SHARE::intern_lock", 0},
- {"sql/HA_DATA_PARTITION::LOCK_auto_inc", "mysys/THR_LOCK_open", 0},
- {"sql/HA_DATA_PARTITION::LOCK_auto_inc", "mysys/KEY_CACHE::cache_lock", 0},
- {"sql/HA_DATA_PARTITION::LOCK_auto_inc", "sql/LOCK_global_system_variables", 0},
- {"sql/HA_DATA_PARTITION::LOCK_auto_inc", "sql/LOCK_plugin", 0},
- {"sql/HA_DATA_PARTITION::LOCK_auto_inc", "sql/Query_cache::structure_guard_mutex", 0},
- {"sql/HA_DATA_PARTITION::LOCK_auto_inc", "sql/TABLE_SHARE::LOCK_ha_data", 0},
- {"sql/HA_DATA_PARTITION::LOCK_auto_inc", "innodb/autoinc_mutex", 0},
- {"sql/HA_DATA_PARTITION::LOCK_auto_inc", "sql/LOG::LOCK_log", 0},
+ {"mutex/innodb/autoinc_mutex", "mutex/innodb/buf_pool_mutex", 0},
+ {"mutex/innodb/autoinc_mutex", "mutex/innodb/mutex_list_mutex", 0},
+ {"mutex/innodb/autoinc_mutex", "mutex/innodb/os_mutex", 0},
+
+ {"mutex/innodb/buf_pool_mutex", "mutex/innodb/mutex_list_mutex", 0},
+ {"mutex/innodb/buf_pool_mutex", "mutex/innodb/os_mutex", 0},
+ {"mutex/innodb/buf_pool_mutex", "mutex/innodb/rw_lock_list_mutex", 0},
+ {"mutex/innodb/buf_pool_mutex", "mutex/innodb/ut_list_mutex", 0},
+ {"mutex/innodb/buf_pool_mutex", "mutex/innodb/fil_system_mutex", 0},
+ {"mutex/innodb/buf_pool_mutex", "mutex/innodb/flush_list_mutex", 0},
+ {"mutex/innodb/buf_pool_mutex", "mutex/innodb/buf_pool_zip_mutex", 0},
+
+ {"mutex/innodb/buf_pool_zip_mutex", "mutex/innodb/flush_list_mutex", 0},
+
+ {"mutex/innodb/dict_foreign_err_mutex", "mutex/sql/THD::LOCK_thd_data", 0}, // ???
+
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/buf_pool_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/fil_system_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/ibuf_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/log_sys_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/mutex_list_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/os_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/recv_sys_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/rw_lock_list_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/flush_list_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/lock_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/log_flush_order_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/rseg_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/trx_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/trx_undo_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/purge_sys_bh_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/sql/LOCK_global_system_variables", 0}, // ???
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/autoinc_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/buf_pool_zip_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/srv_sys_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/trx_doublewrite_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/innodb/dict_foreign_err_mutex", 0},
+ {"mutex/innodb/dict_sys_mutex", "mutex/sql/LOCK_error_log", 0},
+
+ {"mutex/innodb/fil_system_mutex", "mutex/innodb/os_mutex", 0},
+ {"mutex/innodb/fil_system_mutex", "mutex/innodb/rw_lock_list_mutex", 0},
+
+ {"mutex/innodb/file_format_max_mutex", "mutex/innodb/log_sys_mutex", 0},
+
+ {"mutex/innodb/ibuf_mutex", "mutex/innodb/buf_pool_mutex", 0},
+ {"mutex/innodb/ibuf_mutex", "mutex/innodb/fil_system_mutex", 0},
+ {"mutex/innodb/ibuf_mutex", "mutex/innodb/log_sys_mutex", 0},
+ {"mutex/innodb/ibuf_mutex", "mutex/innodb/os_mutex", 0},
+ {"mutex/innodb/ibuf_mutex", "mutex/innodb/recv_sys_mutex", 0},
+
+
+ {"mutex/innodb/lock_mutex", "mutex/innodb/trx_mutex", 0},
+ {"mutex/innodb/lock_mutex", "mutex/sql/THD::LOCK_thd_data", 0},
+
+ {"mutex/innodb/lock_wait_mutex", "mutex/innodb/os_mutex", 0},
+ {"mutex/innodb/lock_wait_mutex", "mutex/innodb/trx_mutex", 0},
+ {"mutex/innodb/lock_wait_mutex", "mutex/innodb/lock_mutex", 0},
+
+ {"mutex/innodb/log_flush_order_mutex", "mutex/innodb/flush_list_mutex", 0},
+ {"mutex/innodb/log_flush_order_mutex", "mutex/innodb/os_mutex", 0},
+
+ {"mutex/innodb/log_sys_mutex", "mutex/innodb/log_flush_order_mutex", 0},
+ {"mutex/innodb/log_sys_mutex", "mutex/innodb/fil_system_mutex", 0},
+ {"mutex/innodb/log_sys_mutex", "mutex/innodb/os_mutex", 0},
+ {"mutex/innodb/log_sys_mutex", "mutex/innodb/flush_list_mutex", 0},
+ {"mutex/innodb/log_sys_mutex", "mutex/innodb/rw_lock_list_mutex", 0},
+ {"mutex/innodb/log_sys_mutex", "mutex/innodb/mutex_list_mutex", 0},
+ {"mutex/innodb/log_sys_mutex", "mutex/innodb/recv_sys_mutex", 0},
+
+ {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/lock_mutex", 0},
+ {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/log_sys_mutex", 0},
+ {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/rseg_mutex", 0},
+ {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/trx_mutex", 0},
+ {"mutex/innodb/prepare_commit_mutex", "mutex/sql/LOG::LOCK_log", 0},
+ {"mutex/innodb/prepare_commit_mutex", "mutex/sql/MYSQL_BIN_LOG::LOCK_prep_xids", 0},
+ {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/read_view_mutex", 0},
+
+ {"mutex/innodb/rseg_mutex", "mutex/innodb/buf_pool_mutex", 0},
+ {"mutex/innodb/rseg_mutex", "mutex/innodb/fil_system_mutex", 0},
+ {"mutex/innodb/rseg_mutex", "mutex/innodb/log_flush_order_mutex", 0},
+ {"mutex/innodb/rseg_mutex", "mutex/innodb/log_sys_mutex", 0},
+ {"mutex/innodb/rseg_mutex", "mutex/innodb/purge_sys_bh_mutex", 0},
+ {"mutex/innodb/rseg_mutex", "mutex/innodb/flush_list_mutex", 0},
+ {"mutex/innodb/rseg_mutex", "mutex/innodb/os_mutex", 0},
+ {"mutex/innodb/rseg_mutex", "mutex/innodb/buf_pool_zip_mutex", 0},
+
+ {"mutex/innodb/rw_lock_list_mutex", "mutex/innodb/os_mutex", 0},
+
+ {"mutex/innodb/srv_dict_tmpfile_mutex", "mutex/innodb/dict_sys_mutex", 0},
+
+ {"mutex/innodb/srv_innodb_monitor_mutex", "mutex/innodb/buf_pool_mutex", 0},
+ {"mutex/innodb/srv_innodb_monitor_mutex", "mutex/innodb/buf_pool_zip_mutex", 0},
+ {"mutex/innodb/srv_innodb_monitor_mutex", "mutex/innodb/flush_list_mutex", 0},
+ {"mutex/innodb/srv_innodb_monitor_mutex", "mutex/innodb/dict_foreign_err_mutex", 0},
+ {"mutex/innodb/srv_innodb_monitor_mutex", "mutex/innodb/fil_system_mutex", 0},
+ {"mutex/innodb/srv_innodb_monitor_mutex", "mutex/innodb/ibuf_mutex", 0},
+ {"mutex/innodb/srv_innodb_monitor_mutex", "mutex/innodb/lock_mutex", 0},
+ {"mutex/innodb/srv_innodb_monitor_mutex", "mutex/innodb/log_flush_order_mutex", 0},
+ {"mutex/innodb/srv_innodb_monitor_mutex", "mutex/innodb/log_sys_mutex", 0},
+ {"mutex/innodb/srv_innodb_monitor_mutex", "mutex/innodb/mem_pool_mutex", 0},
+ {"mutex/innodb/srv_innodb_monitor_mutex", "mutex/innodb/os_mutex", 0},
+ {"mutex/innodb/srv_innodb_monitor_mutex", "mutex/sql/THD::LOCK_thd_data", 0},
+
+ {"mutex/innodb/srv_monitor_file_mutex", "mutex/innodb/buf_pool_mutex", 0},
+ {"mutex/innodb/srv_monitor_file_mutex", "mutex/innodb/dict_foreign_err_mutex", 0},
+ {"mutex/innodb/srv_monitor_file_mutex", "mutex/innodb/fil_system_mutex", 0},
+ {"mutex/innodb/srv_monitor_file_mutex", "mutex/innodb/flush_list_mutex", 0},
+ {"mutex/innodb/srv_monitor_file_mutex", "mutex/innodb/ibuf_mutex", 0},
+ {"mutex/innodb/srv_monitor_file_mutex", "mutex/innodb/lock_mutex", 0},
+ {"mutex/innodb/srv_monitor_file_mutex", "mutex/innodb/log_flush_order_mutex", 0},
+ {"mutex/innodb/srv_monitor_file_mutex", "mutex/innodb/log_sys_mutex", 0},
+ {"mutex/innodb/srv_monitor_file_mutex", "mutex/innodb/mem_pool_mutex", 0},
+ {"mutex/innodb/srv_monitor_file_mutex", "mutex/innodb/os_mutex", 0},
+ {"mutex/innodb/srv_monitor_file_mutex", "mutex/innodb/srv_innodb_monitor_mutex", 0},
+ {"mutex/innodb/srv_monitor_file_mutex", "mutex/sql/THD::LOCK_thd_data", 0},
+
+ {"mutex/innodb/trx_doublewrite_mutex", "mutex/innodb/fil_system_mutex", 0},
+ {"mutex/innodb/trx_doublewrite_mutex", "mutex/innodb/os_mutex", 0},
+
+ {"mutex/innodb/trx_mutex", "mutex/innodb/mutex_list_mutex", 0},
+ {"mutex/innodb/trx_mutex", "mutex/innodb/os_mutex", 0},
+
+ {"mutex/innodb/trx_undo_mutex", "mutex/innodb/buf_pool_mutex", 0},
+ {"mutex/innodb/trx_undo_mutex", "mutex/innodb/fil_system_mutex", 0},
+ {"mutex/innodb/trx_undo_mutex", "mutex/innodb/flush_list_mutex", 0},
+ {"mutex/innodb/trx_undo_mutex", "mutex/innodb/log_flush_order_mutex", 0},
+ {"mutex/innodb/trx_undo_mutex", "mutex/innodb/log_sys_mutex", 0},
+ {"mutex/innodb/trx_undo_mutex", "mutex/innodb/rseg_mutex", 0},
+ {"mutex/innodb/trx_undo_mutex", "mutex/innodb/os_mutex", 0},
+ {"mutex/innodb/trx_undo_mutex", "mutex/innodb/buf_pool_zip_mutex", 0},
+
+ {"mutex/myisam/MYISAM_SHARE::intern_lock", "mutex/mysys/KEY_CACHE::cache_lock", 0},
+ {"mutex/myisam/MYISAM_SHARE::intern_lock", "mutex/sql/LOCK_error_log", 0},
+ {"mutex/myisam/MYISAM_SHARE::intern_lock", "mutex/sql/THD::LOCK_thd_data", 0},
+
+ {"mutex/mysys/my_thread_var::mutex", "mutex/sql/LOCK_event_queue", 0},
+ {"mutex/mysys/my_thread_var::mutex", "mutex/sql/DEBUG_SYNC::mutex", 0},
+ {"mutex/mysys/my_thread_var::mutex", "mutex/mysys/THR_LOCK::mutex", 0},
+ {"mutex/mysys/my_thread_var::mutex", "mutex/sql/LOCK_user_locks", 0},
+ {"mutex/mysys/my_thread_var::mutex", "mutex/sql/MDL_wait::LOCK_wait_status", 0},
+
+ {"mutex/mysys/THR_LOCK_myisam", "mutex/myisam/MYISAM_SHARE::intern_lock", 0},
+ {"mutex/mysys/THR_LOCK_myisam", "mutex/mysys/KEY_CACHE::cache_lock", 0},
+ {"mutex/mysys/THR_LOCK_myisam", "mutex/mysys/THR_LOCK_open", 0},
+ {"mutex/mysys/THR_LOCK_myisam", "mutex/sql/LOCK_error_log", 0},
+
+ {"mutex/mysys/THR_LOCK::mutex", "mutex/csv/TINA_SHARE::mutex", 0},
+ {"mutex/mysys/THR_LOCK::mutex", "mutex/sql/DEBUG_SYNC::mutex", 0},
+
+ {"mutex/mysys/THR_LOCK_charset", "mutex/mysys/THR_LOCK_open", 0},
+
+ {"mutex/csv/tina", "mutex/mysys/THR_LOCK_open", 0},
+
+ {"mutex/archive/ARCHIVE_SHARE::mutex", "mutex/mysys/THR_LOCK_open", 0},
+
+ {"mutex/archive/archive_mutex", "mutex/mysys/THR_LOCK_open", 0},
+
+ {"mutex/sql/Delayed_insert::mutex", "mutex/sql/LOCK_delayed_status", 0},
+ {"mutex/sql/Delayed_insert::mutex", "mutex/myisam/MYISAM_SHARE::intern_lock", 0},
+ {"mutex/sql/Delayed_insert::mutex", "mutex/mysys/THR_LOCK::mutex", 0},
+ {"mutex/sql/Delayed_insert::mutex", "mutex/mysys/THR_LOCK_myisam", 0},
+ {"mutex/sql/Delayed_insert::mutex", "mutex/mysys/THR_LOCK_open", 0},
+ {"mutex/sql/Delayed_insert::mutex", "mutex/mysys/THR_LOCK_threads", 0},
+ {"mutex/sql/Delayed_insert::mutex", "mutex/sql/LOCK_plugin", 0},
+ {"mutex/sql/Delayed_insert::mutex", "mutex/sql/TABLE_SHARE::LOCK_ha_data", 0},
+ {"mutex/sql/Delayed_insert::mutex", "mutex/mysys/KEY_CACHE::cache_lock", 0},
+ {"mutex/sql/Delayed_insert::mutex", "mutex/sql/MDL_map::mutex", 0},
+ {"mutex/sql/Delayed_insert::mutex", "mutex/sql/MDL_wait::LOCK_wait_status", 0},
+
+ {"mutex/sql/LOCK_delayed_insert", "mutex/sql/Delayed_insert::mutex", 0},
+ {"mutex/sql/LOCK_delayed_insert", "mutex/sql/DEBUG_SYNC::mutex", 0},
+ {"mutex/sql/LOCK_delayed_insert", "mutex/sql/LOCK_plugin", 0},
+ {"mutex/sql/LOCK_delayed_insert", "mutex/sql/LOCK_prepared_stmt_count", 0},
+ {"mutex/sql/LOCK_delayed_insert", "mutex/sql/LOCK_thread_count", 0},
+ {"mutex/sql/LOCK_delayed_insert", "mutex/sql/LOCK_xid_cache", 0},
+ {"mutex/sql/LOCK_delayed_insert", "mutex/sql/THD::LOCK_thd_data", 0},
+
+ {"mutex/sql/LOCK_delayed_create", "mutex/sql/Delayed_insert::mutex", 0},
+ {"mutex/sql/LOCK_delayed_create", "mutex/sql/LOCK_delayed_insert", 0},
+ {"mutex/sql/LOCK_delayed_create", "mutex/sql/LOCK_global_system_variables", 0},
+ {"mutex/sql/LOCK_delayed_create", "mutex/sql/LOCK_plugin", 0},
+ {"mutex/sql/LOCK_delayed_create", "mutex/sql/LOCK_thread_count", 0},
+ {"mutex/sql/LOCK_delayed_create", "mutex/sql/THD::LOCK_thd_data", 0},
+ {"mutex/sql/LOCK_delayed_create", "mutex/sql/DEBUG_SYNC::mutex", 0},
+ {"mutex/sql/LOCK_delayed_create", "mutex/sql/LOCK_prepared_stmt_count", 0},
+ {"mutex/sql/LOCK_delayed_create", "mutex/sql/LOCK_xid_cache", 0},
+
+ {"mutex/sql/Event_scheduler::LOCK_scheduler_state", "mutex/mysys/LOCK_alarm", 0},
+ {"mutex/sql/Event_scheduler::LOCK_scheduler_state", "mutex/mysys/my_thread_var::mutex", 0},
+ {"mutex/sql/Event_scheduler::LOCK_scheduler_state", "mutex/sql/DEBUG_SYNC::mutex", 0},
+ {"mutex/sql/Event_scheduler::LOCK_scheduler_state", "mutex/sql/LOCK_error_log", 0},
+ {"mutex/sql/Event_scheduler::LOCK_scheduler_state", "mutex/sql/LOCK_event_queue", 0},
+ {"mutex/sql/Event_scheduler::LOCK_scheduler_state", "mutex/sql/LOCK_global_system_variables", 0},
+ {"mutex/sql/Event_scheduler::LOCK_scheduler_state", "mutex/sql/LOCK_plugin", 0},
+ {"mutex/sql/Event_scheduler::LOCK_scheduler_state", "mutex/sql/LOCK_prepared_stmt_count", 0},
+ {"mutex/sql/Event_scheduler::LOCK_scheduler_state", "mutex/sql/LOCK_thread_count", 0},
+ {"mutex/sql/Event_scheduler::LOCK_scheduler_state", "mutex/sql/LOCK_xid_cache", 0},
+ {"mutex/sql/Event_scheduler::LOCK_scheduler_state", "mutex/sql/THD::LOCK_thd_data", 0},
+
+ {"mutex/sql/LOCK_error_messages", "mutex/mysys/THR_LOCK_open", 0},
+
+ {"mutex/sql/LOCK_des_key_file", "mutex/mysys/THR_LOCK_open", 0},
+
+ {"mutex/sql/LOCK_gdl", "mutex/mysys/THR_LOCK_open", 0},
+ {"mutex/sql/LOCK_gdl", "mutex/mysys/THR_LOCK_myisam", 0},
+ {"mutex/sql/LOCK_gdl", "mutex/sql/LOCK_plugin", 0},
+ {"mutex/sql/LOCK_gdl", "mutex/innodb/dict_sys_mutex", 0},
+ {"mutex/sql/LOCK_gdl", "mutex/innodb/lock_mutex", 0},
+ {"mutex/sql/LOCK_gdl", "mutex/innodb/log_sys_mutex", 0},
+ {"mutex/sql/LOCK_gdl", "mutex/innodb/mutex_list_mutex", 0},
+ {"mutex/sql/LOCK_gdl", "mutex/innodb/os_mutex", 0},
+ {"mutex/sql/LOCK_gdl", "mutex/innodb/srv_sys_mutex", 0},
+ {"mutex/sql/LOCK_gdl", "mutex/innodb/trx_mutex", 0},
+
+ {"mutex/sql/LOCK_active_mi", "mutex/myisam/MYISAM_SHARE::intern_lock", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/mysys/THR_LOCK::mutex", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/mysys/THR_LOCK_myisam", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/mysys/THR_LOCK_open", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/DEBUG_SYNC::mutex", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/LOCK_open", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/LOCK_plugin", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/LOCK_prepared_stmt_count", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/LOCK_thread_count", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/LOCK_xid_cache", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/MDL_map::mutex", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/Master_info::data_lock", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/Relay_log_info::data_lock", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/TABLE_SHARE::LOCK_ha_data", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/THD::LOCK_thd_data", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/mysys/THR_LOCK_charset", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/mysys/KEY_CACHE::cache_lock", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/Master_info::run_lock", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/Relay_log_info::run_lock", LO_FLAG_TRACE | LO_FLAG_DEBUG}, // testing flags
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/Slave_reporting_capability::err_lock", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/mysys/IO_CACHE::append_buffer_lock", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/LOG::LOCK_log", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/mysys/LOCK_alarm", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/mysys/my_thread_var::mutex", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/LOCK_error_log", 0},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/MYSQL_RELAY_LOG::LOCK_index", 0},
+
+ {"mutex/sql/LOCK_event_queue", "mutex/sql/LOCK_error_log", 0},
+
+ {"mutex/sql/LOCK_global_system_variables", "mutex/sql/LOCK_plugin", 0},
+ {"mutex/sql/LOCK_global_system_variables", "mutex/sql/LOCK_prepared_stmt_count", 0},
+ {"mutex/sql/LOCK_global_system_variables", "mutex/sql/LOCK_thread_count", 0},
+ {"mutex/sql/LOCK_global_system_variables", "mutex/sql/Query_cache::structure_guard_mutex", 0},
+ {"mutex/sql/LOCK_global_system_variables", "mutex/sql/DEBUG_SYNC::mutex", 0},
+ {"mutex/sql/LOCK_global_system_variables", "mutex/mysys/LOCK_alarm", 0},
+ {"mutex/sql/LOCK_global_system_variables", "mutex/sql/Relay_log_info::data_lock", 0},
+ {"mutex/sql/LOCK_global_system_variables", "mutex/sql/Relay_log_info::run_lock", 0},
+ {"mutex/sql/LOCK_global_system_variables", "mutex/sql/LOG::LOCK_log", 0},
+ {"mutex/sql/LOCK_global_system_variables", "mutex/innodb/file_format_max_mutex", 0},
+ {"mutex/sql/LOCK_global_system_variables", "mutex/innodb/log_sys_mutex", 0},
+
+ {"mutex/sql/LOCK_open", "mutex/myisam/MYISAM_SHARE::intern_lock", 0},
+ {"mutex/sql/LOCK_open", "mutex/mysys/KEY_CACHE::cache_lock", 0},
+ {"mutex/sql/LOCK_open", "mutex/mysys/THR_LOCK_myisam", 0},
+ {"mutex/sql/LOCK_open", "mutex/mysys/THR_LOCK_open", 0},
+ {"mutex/sql/LOCK_open", "mutex/sql/LOCK_plugin", 0},
+ {"mutex/sql/LOCK_open", "mutex/mysys/THR_LOCK_charset", 0},
+ {"mutex/sql/LOCK_open", "mutex/sql/LOCK_error_log", 0},
+ {"mutex/sql/LOCK_open", "mutex/sql/hash_filo::lock", 0},
+ {"mutex/sql/LOCK_open", "mutex/csv/tina", 0},
+ {"mutex/sql/LOCK_open", "mutex/example/example", 0},
+ {"mutex/sql/LOCK_open", "mutex/innodb/dict_sys_mutex", 0},
+ {"mutex/sql/LOCK_open", "mutex/innodb/innobase_share_mutex", 0},
+ {"mutex/sql/LOCK_open", "mutex/mysys/THR_LOCK_heap", 0},
+ {"mutex/sql/LOCK_open", "mutex/sql/MDL_wait::LOCK_wait_status", 0},
+ {"mutex/sql/LOCK_open", "mutex/archive/archive_mutex", 0},
+ {"mutex/sql/LOCK_open", "mutex/mysys/my_thread_var::mutex", 0},
+ {"mutex/sql/LOCK_open", "mutex/blackhole/blackhole", 0},
+
+ {"mutex/sql/LOCK_plugin", "mutex/sql/LOCK_error_log", 0},
+ {"mutex/sql/LOCK_plugin", "mutex/mysys/KEY_CACHE::cache_lock", 0},
+ {"mutex/sql/LOCK_plugin", "mutex/mysys/THR_LOCK_open", 0},
+
+ {"mutex/sql/LOCK_status", "mutex/innodb/buf_pool_mutex", 0},
+ {"mutex/sql/LOCK_status", "mutex/innodb/buf_pool_zip_mutex", 0},
+ {"mutex/sql/LOCK_status", "mutex/innodb/flush_list_mutex", 0},
+ {"mutex/sql/LOCK_status", "mutex/innodb/srv_innodb_monitor_mutex", 0},
+ {"mutex/sql/LOCK_status", "mutex/sql/LOCK_active_mi", 0},
+ {"mutex/sql/LOCK_status", "mutex/sql/LOCK_global_system_variables", 0},
+ {"mutex/sql/LOCK_status", "mutex/sql/LOCK_prepared_stmt_count", 0},
+ {"mutex/sql/LOCK_status", "mutex/sql/Relay_log_info::data_lock", 0},
+ {"mutex/sql/LOCK_status", "mutex/sql/LOCK_thread_count", 0},
+ {"mutex/sql/LOCK_status", "mutex/sql/LOG::LOCK_log", 0},
+ {"mutex/sql/LOCK_status", "mutex/sql/Query_cache::structure_guard_mutex", 0},
+
+ {"mutex/sql/LOCK_thread_count", "mutex/sql/LOCK_plugin", 0},
+ {"mutex/sql/LOCK_thread_count", "mutex/sql/LOCK_prepared_stmt_count", 0},
+ {"mutex/sql/LOCK_thread_count", "mutex/sql/THD::LOCK_thd_data", 0},
+ {"mutex/sql/LOCK_thread_count", "mutex/innodb/mutex_list_mutex", 0},
+ {"mutex/sql/LOCK_thread_count", "mutex/innodb/os_mutex", 0},
+ {"mutex/sql/LOCK_thread_count", "mutex/innodb/trx_mutex", 0},
+ {"mutex/sql/LOCK_thread_count", "mutex/sql/DEBUG_SYNC::mutex", 0},
+ {"mutex/sql/LOCK_thread_count", "mutex/sql/LOCK_user_locks", 0},
+ {"mutex/sql/LOCK_thread_count", "mutex/sql/LOCK_xid_cache", 0},
+ {"mutex/sql/LOCK_thread_count", "mutex/sql/MDL_map::mutex", 0},
+ {"mutex/sql/LOCK_thread_count", "mutex/mysys/my_thread_var::mutex", 0},
+ {"mutex/sql/LOCK_thread_count", "mutex/sql/LOCK_event_queue", 0},
+ {"mutex/sql/LOCK_thread_count", "mutex/mysys/THR_LOCK_open", 0},
+
+ {"mutex/sql/THD::LOCK_thd_data", "mutex/mysys/LOCK_alarm", 0},
+ {"mutex/sql/THD::LOCK_thd_data", "mutex/sql/LOCK_error_log", 0},
+ {"mutex/sql/THD::LOCK_thd_data", "mutex/sql/LOCK_event_queue", 0},
+ {"mutex/sql/THD::LOCK_thd_data", "mutex/mysys/THR_LOCK::mutex", 0},
+ {"mutex/sql/THD::LOCK_thd_data", "mutex/sql/DEBUG_SYNC::mutex", 0},
+ {"mutex/sql/THD::LOCK_thd_data", "mutex/sql/LOCK_user_locks", 0},
+ {"mutex/sql/THD::LOCK_thd_data", "mutex/sql/MDL_wait::LOCK_wait_status", 0},
+
+ {"mutex/sql/LOCK_uuid_generator", "mutex/sql/LOCK_thread_count", 0},
+
+ {"mutex/sql/Master_info::data_lock", "mutex/sql/Relay_log_info::data_lock", 0},
+ {"mutex/sql/Master_info::data_lock", "mutex/mysys/IO_CACHE::append_buffer_lock", 0},
+ {"mutex/sql/Master_info::data_lock", "mutex/mysys/THR_LOCK_open", 0},
+ {"mutex/sql/Master_info::data_lock", "mutex/sql/LOG::LOCK_log", 0},
+ {"mutex/sql/Master_info::data_lock", "mutex/sql/MYSQL_RELAY_LOG::LOCK_index", 0},
+
+ {"mutex/sql/Master_info::run_lock", "mutex/sql/Relay_log_info::run_lock", 0},
+ {"mutex/sql/Master_info::run_lock", "mutex/sql/Slave_reporting_capability::err_lock", 0},
+
+ {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/Slave_reporting_capability::err_lock", 0},
+ {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/Relay_log_info::data_lock", 0},
+
+ {"mutex/sql/MYSQL_BIN_LOG::LOCK_index", "mutex/mysys/THR_LOCK_open", 0},
+ {"mutex/sql/MYSQL_BIN_LOG::LOCK_index", "mutex/sql/LOCK_thread_count", 0},
+
+ {"mutex/sql/MYSQL_RELAY_LOG::LOCK_index", "mutex/mysys/IO_CACHE::append_buffer_lock", 0},
+ {"mutex/sql/MYSQL_RELAY_LOG::LOCK_index", "mutex/mysys/THR_LOCK_open", 0},
+ {"mutex/sql/MYSQL_RELAY_LOG::LOCK_index", "mutex/sql/LOCK_thread_count", 0},
+ {"mutex/sql/MYSQL_RELAY_LOG::LOCK_index", "mutex/sql/Relay_log_info::log_space_lock", 0},
+
+ {"mutex/sql/LOG::LOCK_log", "mutex/mysys/THR_LOCK_open", 0},
+ {"mutex/sql/LOG::LOCK_log", "mutex/sql/LOCK_thread_count", 0},
+ {"mutex/sql/LOG::LOCK_log", "mutex/sql/MYSQL_BIN_LOG::LOCK_index", 0},
+ {"mutex/sql/LOG::LOCK_log", "mutex/mysys/IO_CACHE::append_buffer_lock", 0},
+ {"mutex/sql/LOG::LOCK_log", "mutex/sql/LOCK_error_log", 0},
+ {"mutex/sql/LOG::LOCK_log", "mutex/sql/MYSQL_BIN_LOG::LOCK_prep_xids", 0},
+ {"mutex/sql/LOG::LOCK_log", "mutex/sql/MYSQL_RELAY_LOG::LOCK_index", 0},
+ {"mutex/sql/LOG::LOCK_log", "mutex/sql/Relay_log_info::log_space_lock", 0},
+
+ {"mutex/sql/hash_filo::lock", "mutex/sql/LOCK_global_system_variables", 0},
+ {"mutex/sql/hash_filo::lock", "mutex/mysys/KEY_CACHE::cache_lock", 0},
+ {"mutex/sql/hash_filo::lock", "mutex/sql/LOCK_plugin", 0},
+ {"mutex/sql/hash_filo::lock", "mutex/sql/LOCK_error_log", 0},
+ {"mutex/sql/hash_filo::lock", "mutex/sql/LOG::LOCK_log", 0},
+
+ {"mutex/sql/tz_LOCK", "mutex/myisam/MYISAM_SHARE::intern_lock", 0},
+ {"mutex/sql/tz_LOCK", "mutex/mysys/KEY_CACHE::cache_lock", 0},
+ {"mutex/sql/tz_LOCK", "mutex/mysys/THR_LOCK::mutex", 0},
+ {"mutex/sql/tz_LOCK", "mutex/sql/LOCK_error_log", 0},
+ {"mutex/sql/tz_LOCK", "mutex/sql/LOCK_open", 0},
+ {"mutex/sql/tz_LOCK", "mutex/sql/MDL_map::mutex", 0},
+ {"mutex/sql/tz_LOCK", "mutex/sql/THD::LOCK_thd_data", 0},
+
+ {"mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc", "mutex/archive/ARCHIVE_SHARE::mutex", 0},
+ {"mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc", "mutex/myisam/MYISAM_SHARE::intern_lock", 0},
+ {"mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc", "mutex/mysys/THR_LOCK_open", 0},
+ {"mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc", "mutex/mysys/KEY_CACHE::cache_lock", 0},
+ {"mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc", "mutex/sql/LOCK_global_system_variables", 0},
+ {"mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc", "mutex/sql/LOCK_plugin", 0},
+ {"mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc", "mutex/sql/Query_cache::structure_guard_mutex", 0},
+ {"mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc", "mutex/sql/TABLE_SHARE::LOCK_ha_data", 0},
+ {"mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc", "mutex/innodb/autoinc_mutex", 0},
+ {"mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc", "mutex/sql/LOG::LOCK_log", 0},
/*
Error: Cycle dependency, mysys/my_thread_var::mutex -> sql/Delayed_insert::mutex
@@ -463,25 +452,25 @@ static LO_authorised_arc debug_lock_orde
Cycle link 2: sql/THD::LOCK_thd_data
Cycle link 3: mysys/my_thread_var::mutex
*/
- {"sql/Delayed_insert::mutex", "sql/THD::LOCK_thd_data", 0},
- {"sql/THD::LOCK_thd_data", "mysys/my_thread_var::mutex", 0},
- {"mysys/my_thread_var::mutex", "sql/Delayed_insert::mutex", LO_FLAG_LOOP},
+ {"mutex/sql/Delayed_insert::mutex", "mutex/sql/THD::LOCK_thd_data", 0},
+ {"mutex/sql/THD::LOCK_thd_data", "mutex/mysys/my_thread_var::mutex", 0},
+ {"mutex/mysys/my_thread_var::mutex", "mutex/sql/Delayed_insert::mutex", LO_FLAG_LOOP},
/*
Error: Cycle dependency, sql/Delayed_insert::mutex -> sql/LOCK_open
Cycle link 1: sql/LOCK_open
Cycle link 2: sql/Delayed_insert::mutex
*/
- {"sql/Delayed_insert::mutex", "sql/LOCK_open", 0},
- {"sql/LOCK_open", "sql/Delayed_insert::mutex", LO_FLAG_LOOP},
+ {"mutex/sql/Delayed_insert::mutex", "mutex/sql/LOCK_open", 0},
+ {"mutex/sql/LOCK_open", "mutex/sql/Delayed_insert::mutex", LO_FLAG_LOOP},
/*
Error: Cycle dependency, sql/LOCK_active_mi -> sql/LOCK_global_system_variables
Cycle link 1: sql/LOCK_global_system_variables
Cycle link 2: sql/LOCK_active_mi
*/
- {"sql/LOCK_active_mi", "sql/LOCK_global_system_variables", 0},
- {"sql/LOCK_global_system_variables", "sql/LOCK_active_mi", LO_FLAG_LOOP},
+ {"mutex/sql/LOCK_active_mi", "mutex/sql/LOCK_global_system_variables", 0},
+ {"mutex/sql/LOCK_global_system_variables", "mutex/sql/LOCK_active_mi", LO_FLAG_LOOP},
/*
Error: Cycle dependency, sql/LOCK_open -> sql/LOCK_delayed_insert
@@ -489,7 +478,7 @@ static LO_authorised_arc debug_lock_orde
Cycle link 2: sql/Delayed_insert::mutex
Cycle link 3: sql/LOCK_open
*/
- {"sql/LOCK_open", "sql/LOCK_delayed_insert", LO_FLAG_LOOP},
+ {"mutex/sql/LOCK_open", "mutex/sql/LOCK_delayed_insert", LO_FLAG_LOOP},
/*
Error: Cycle dependency, mysys/my_thread_var::mutex -> sql/LOG::LOCK_log
@@ -497,7 +486,7 @@ static LO_authorised_arc debug_lock_orde
Cycle link 2: sql/LOCK_thread_count
Cycle link 3: mysys/my_thread_var::mutex
*/
- {"mysys/my_thread_var::mutex", "sql/LOG::LOCK_log", LO_FLAG_LOOP},
+ {"mutex/mysys/my_thread_var::mutex", "mutex/sql/LOG::LOCK_log", LO_FLAG_LOOP},
{NULL, NULL, 0}
};
Attachment: [text/bzr-bundle] bzr/marc.alff@oracle.com-20110331161326-c6ox1175lwp6d2tr.bundle
| Thread |
|---|
| • bzr commit into mysql-trunk-lock-order branch (marc.alff:3351) | Marc Alff | 31 Mar |