List:Commits« Previous MessageNext Message »
From:Marc Alff Date:April 3 2011 4:18pm
Subject:bzr push into mysql-trunk-lock-order branch (marc.alff:3352 to 3353)
View as plain text  
 3353 Marc Alff	2011-04-03
      Lock order, continued

    modified:
      sql/debug_lock_order.cc
      sql/mysqld.cc
 3352 Marc Alff	2011-04-01
      Work in progress

    modified:
      sql/debug_lock_order.cc
      sql/mysqld.cc
=== modified file 'sql/debug_lock_order.cc'
--- a/sql/debug_lock_order.cc	2011-04-01 13:57:17 +0000
+++ b/sql/debug_lock_order.cc	2011-04-03 16:18:01 +0000
@@ -184,7 +184,9 @@ class LO_arc
 public:
   LO_arc(LO_node *from, LO_node *to, int flags)
   : m_from(from), m_to(to), m_flags(flags)
-  {}
+  {
+    m_self= (from == to);
+  }
 
   ~LO_arc()
   {}
@@ -204,10 +206,14 @@ public:
   bool has_loop() const
   { return m_flags & LO_FLAG_LOOP; }
 
+  bool has_self() const
+  { return m_self; }
+
 private:
   LO_node *m_from;
   LO_node *m_to;
   int m_flags;
+  bool m_self;
 };
 
 LO_arc *LO_node::find_edge_to(const LO_node *to) const
@@ -339,6 +345,9 @@ bool LO_graph::find_path(LO_node *from, 
   {
     arc= *it;
 
+    if (arc->has_self())
+      continue;
+
     if (! arc->has_loop())
     {
       n= arc->get_to();
@@ -402,25 +411,35 @@ void LO_graph::dump_dot()
          arc_it++)
     {
       a= *arc_it;
-      if (! a->has_loop())
+      if (a ->has_self())
       {
         fprintf(out_dot,
-                "  %d -> %d;\n",
+                "  %d -> %d [label=\"self\", color=blue, arrowsize=2, penwidth=5];\n",
                 a->get_from()->get_unified_key(),
                 a->get_to()->get_unified_key());
       }
       else
       {
-        /*
-          As far ar the layout is concerned,
-          a FROM -> TO back loop is printed as TO <- FROM,
-          so there are no loops seen during rendering.
-        */
-
-        fprintf(out_dot,
-                "  %d:c -> %d:s [dir=back color=red arrowsize=2 penwidth=5];\n",
-                a->get_to()->get_unified_key(),
-                a->get_from()->get_unified_key());
+        if (a->has_loop())
+        {
+          /*
+            As far ar the layout is concerned,
+            a FROM -> TO back loop is printed as TO <- FROM,
+            so there are no loops seen during rendering.
+          */
+
+          fprintf(out_dot,
+                  "  %d:c -> %d:s [label=\"FIXME\", dir=back, color=red, arrowsize=2, penwidth=5];\n",
+                  a->get_to()->get_unified_key(),
+                  a->get_from()->get_unified_key());
+        }
+        else
+        {
+          fprintf(out_dot,
+                  "  %d -> %d;\n",
+                  a->get_from()->get_unified_key(),
+                  a->get_to()->get_unified_key());
+        }
       }
     }
 
@@ -865,13 +884,14 @@ void LO_graph::check(const LO_lock *old_
   if (arc == NULL)
   {
     char buff[1024];
-    sprintf(buff, "Error: missing arc %s -> %s\n", old_node->get_qname(), new_node->get_qname());
+    /* Print in a C friendly format, to add the code back. */
+    sprintf(buff, "Error: missing arc {\"%s\", \"%s\", 0},\n", old_node->get_qname(), new_node->get_qname());
     
     if (out_log != NULL)
     {
       fprintf(out_log, "%s", buff);
     }
-    debug_lock_order_break_here(buff);
+    // debug_lock_order_break_here(buff);
     return;
   }
 
@@ -904,14 +924,11 @@ void LO_graph::add_arc(LO_authorised_arc
   LO_node *from;
   LO_node *to;
 
-  DBUG_ASSERT(strcmp(arc->m_from_name, arc->m_to_name) != 0);
-
   from= find_node(arc->m_from_name);
   to= find_node(arc->m_to_name);
 
   if ((from != NULL) && (to != NULL))
   {
-    DBUG_ASSERT(from != to);
     add_arc(from, to, arc->m_flags);
   }
   else
@@ -922,13 +939,20 @@ void LO_graph::add_arc(LO_node *from, LO
 {
   LO_node_list cycle;
   bool is_loop= ((flags & LO_FLAG_LOOP) == LO_FLAG_LOOP);
-  if (find_path(to, from, cycle))
+
+  DBUG_ASSERT(from != NULL);
+  DBUG_ASSERT(to != NULL);
+
+  if (from != to)
   {
-    if ((out_log != NULL) && ! is_loop)
+    if (find_path(to, from, cycle))
     {
-      dump_cycle(out_log, from, to, cycle);
+      if ((out_log != NULL) && ! is_loop)
+      {
+        dump_cycle(out_log, from, to, cycle);
+      }
+      return;
     }
-    return;
   }
 
   const LO_arc_list& arcs_out= from->get_arcs_out();
@@ -1069,11 +1093,16 @@ void LO_thread::remove_mutex_lock(LO_mut
     }
   }
 
+  char buff[1024];
+  sprintf(buff, "Unlocking a mutex that this thread did not lock: %s\n",
+          mutex->get_class()->get_qname());
+  
   if (out_log != NULL)
   {
-    fprintf(out_log, "Unlocking a mutex that this thread did not lock: %s\n",
-            mutex->get_class()->get_qname());
+    fprintf(out_log, "%s", buff);
   }
+
+  debug_lock_order_break_here(buff);
 }
 
 void LO_thread::add_rwlock_lock(LO_rwlock *rwlock,

=== modified file 'sql/mysqld.cc'
--- a/sql/mysqld.cc	2011-04-01 13:57:17 +0000
+++ b/sql/mysqld.cc	2011-04-03 16:18:01 +0000
@@ -79,203 +79,80 @@
 #include "debug_lock_order.h"
 static LO_authorised_arc debug_lock_order_arcs[]=
 {
-  {"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},
-
+/*
+  MAINTAINER: Please keep this list in order.
+  Tip: grep -v LO_FLAG_ | sort -u
+*/
+  {"mutex/innodb/buf_pool_mutex", "mutex/innodb/buf_pool_zip_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/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/buf_pool_zip_mutex", 0},
   {"mutex/innodb/dict_sys_mutex", "mutex/innodb/fil_system_mutex", 0},
+  {"mutex/innodb/dict_sys_mutex", "mutex/innodb/flush_list_mutex", 0},
   {"mutex/innodb/dict_sys_mutex", "mutex/innodb/ibuf_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/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/purge_sys_bh_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/rw_lock_list_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/dict_sys_mutex", "mutex/sql/LOCK_global_system_variables", 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/file_format_max_mutex", "mutex/innodb/flush_list_mutex", 0},
-  {"mutex/innodb/file_format_max_mutex", "mutex/innodb/log_flush_order_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/ibuf_bitmap_mutex", "mutex/innodb/buf_pool_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/log_flush_order_mutex", 0},
   {"mutex/innodb/log_sys_mutex", "mutex/innodb/mutex_list_mutex", 0},
+  {"mutex/innodb/log_sys_mutex", "mutex/innodb/os_mutex", 0},
   {"mutex/innodb/log_sys_mutex", "mutex/innodb/recv_sys_mutex", 0},
-  {"mutex/innodb/log_sys_mutex", "mutex/innodb/buf_pool_mutex", 0},
-  {"mutex/innodb/log_sys_mutex", "mutex/innodb/srv_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/prepare_commit_mutex", "mutex/innodb/flush_list_mutex", 0},
-  {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/log_flush_order_mutex", 0},
-  {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/purge_sys_bh_mutex", 0},
-
+  {"mutex/innodb/log_sys_mutex", "mutex/innodb/rw_lock_list_mutex", 0},
   {"mutex/innodb/rseg_mutex", "mutex/innodb/buf_pool_mutex", 0},
+  {"mutex/innodb/rseg_mutex", "mutex/innodb/buf_pool_zip_mutex", 0},
   {"mutex/innodb/rseg_mutex", "mutex/innodb/fil_system_mutex", 0},
+  {"mutex/innodb/rseg_mutex", "mutex/innodb/flush_list_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/rseg_mutex", "mutex/innodb/trx_doublewrite_mutex", 0},
-
+  {"mutex/innodb/rseg_mutex", "mutex/innodb/purge_sys_bh_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/buf_pool_zip_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/innodb/trx_undo_mutex", "mutex/innodb/trx_doublewrite_mutex", 0},
-
+  {"mutex/innodb/trx_undo_mutex", "mutex/innodb/rseg_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/mysys/my_thread_var::mutex", "mutex/sql/LOCK_event_queue", 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},
@@ -287,85 +164,47 @@ static LO_authorised_arc debug_lock_orde
   {"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_gdl", "mutex/innodb/fil_system_mutex", 0},
-
+  {"mutex/sql/HA_DATA_PARTITION::LOCK_auto_inc", "mutex/myisam/MYISAM_SHARE::intern_lock", 0},
   {"mutex/sql/LOCK_active_mi", "mutex/myisam/MYISAM_SHARE::intern_lock", 0},
+  {"mutex/sql/LOCK_active_mi", "mutex/mysys/IO_CACHE::append_buffer_lock", 0},
+  {"mutex/sql/LOCK_active_mi", "mutex/mysys/LOCK_alarm", 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/mysys/my_thread_var::mutex", 0},
   {"mutex/sql/LOCK_active_mi", "mutex/sql/DEBUG_SYNC::mutex", 0},
+  {"mutex/sql/LOCK_active_mi", "mutex/sql/LOCK_error_log", 0},
+  {"mutex/sql/LOCK_active_mi", "mutex/sql/LOCK_global_system_variables", 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/LOG::LOCK_log", 0},
   {"mutex/sql/LOCK_active_mi", "mutex/sql/MDL_map::mutex", 0},
+  {"mutex/sql/LOCK_active_mi", "mutex/sql/MYSQL_RELAY_LOG::LOCK_index", 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::data_lock", 0},
   {"mutex/sql/LOCK_active_mi", "mutex/sql/Relay_log_info::run_lock", 0},
   {"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_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_event_queue", "mutex/sql/LOCK_error_log", 0},
-
+  {"mutex/sql/LOCK_gdl", "mutex/mysys/THR_LOCK_open", 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/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/innodb/dict_sys_mutex", 0},
+  {"mutex/sql/LOCK_open", "mutex/innodb/innobase_share_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_charset", 0},
+  {"mutex/sql/LOCK_open", "mutex/mysys/THR_LOCK_heap", 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},
@@ -374,52 +213,37 @@ static LO_authorised_arc debug_lock_orde
   {"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_status", "mutex/innodb/dict_sys_mutex", 0},
-  {"mutex/sql/LOCK_status", "mutex/innodb/lock_mutex", 0},
-  {"mutex/sql/LOCK_status", "mutex/innodb/log_sys_mutex", 0},
-  {"mutex/sql/LOCK_status", "mutex/innodb/rseg_mutex", 0},
-  {"mutex/sql/LOCK_status", "mutex/innodb/trx_mutex", 0},
-  {"mutex/sql/LOCK_status", "mutex/innodb/trx_undo_mutex", 0},
-  {"mutex/sql/LOCK_status", "mutex/sql/THD::LOCK_thd_data", 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/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/mysys/IO_CACHE::append_buffer_lock", 0},
+  {"mutex/sql/LOCK_thread_count", "mutex/mysys/THR_LOCK_open", 0},
+  {"mutex/sql/LOCK_thread_count", "mutex/mysys/my_thread_var::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_plugin", 0},
+  {"mutex/sql/LOCK_thread_count", "mutex/sql/LOCK_prepared_stmt_count", 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/LOCK_thread_count", "mutex/mysys/IO_CACHE::append_buffer_lock", 0},
-
-  {"mutex/sql/LOCK_user_conn", "mutex/sql/hash_filo::lock", 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/THD::LOCK_thd_data", "mutex/sql/LOG::LOCK_log", 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/LOG::LOCK_log", "mutex/mysys/IO_CACHE::append_buffer_lock", 0},
+  {"mutex/sql/LOG::LOCK_log", "mutex/mysys/THR_LOCK_open", 0},
+  {"mutex/sql/LOG::LOCK_log", "mutex/sql/LOCK_error_log", 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/sql/MYSQL_RELAY_LOG::LOCK_index", 0},
+  {"mutex/sql/LOG::LOCK_log", "mutex/sql/Relay_log_info::log_space_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/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::data_lock", "mutex/sql/Relay_log_info::data_lock", 0},
   {"mutex/sql/Master_info::data_lock", "mutex/sql/Slave_reporting_capability::err_lock", 0},
-
-  {"mutex/sql/Master_info::run_lock", "mutex/sql/Slave_reporting_capability::err_lock", 0},
   {"mutex/sql/Master_info::run_lock", "mutex/mysys/IO_CACHE::append_buffer_lock", 0},
   {"mutex/sql/Master_info::run_lock", "mutex/mysys/LOCK_alarm", 0},
   {"mutex/sql/Master_info::run_lock", "mutex/mysys/THR_LOCK_open", 0},
@@ -435,16 +259,24 @@ static LO_authorised_arc debug_lock_orde
   {"mutex/sql/Master_info::run_lock", "mutex/sql/MYSQL_RELAY_LOG::LOCK_index", 0},
   {"mutex/sql/Master_info::run_lock", "mutex/sql/Master_info::data_lock", 0},
   {"mutex/sql/Master_info::run_lock", "mutex/sql/Relay_log_info::data_lock", 0},
+  {"mutex/sql/Master_info::run_lock", "mutex/sql/Slave_reporting_capability::err_lock", 0},
   {"mutex/sql/Master_info::run_lock", "mutex/sql/THD::LOCK_thd_data", 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/Relay_log_info::data_lock", "mutex/mysys/IO_CACHE::append_buffer_lock", 0},
+  {"mutex/sql/Relay_log_info::data_lock", "mutex/mysys/THR_LOCK_open", 0},
+  {"mutex/sql/Relay_log_info::data_lock", "mutex/sql/LOCK_error_log", 0},
+  {"mutex/sql/Relay_log_info::data_lock", "mutex/sql/LOCK_thread_count", 0},
+  {"mutex/sql/Relay_log_info::data_lock", "mutex/sql/LOG::LOCK_log", 0},
+  {"mutex/sql/Relay_log_info::data_lock", "mutex/sql/MYSQL_RELAY_LOG::LOCK_index", 0},
+  {"mutex/sql/Relay_log_info::data_lock", "mutex/sql/Relay_log_info::log_space_lock", 0},
+  {"mutex/sql/Relay_log_info::data_lock", "mutex/sql/Slave_reporting_capability::err_lock", 0},
+  {"mutex/sql/Relay_log_info::log_space_lock", "mutex/mysys/THR_LOCK_open", 0},
   {"mutex/sql/Relay_log_info::run_lock", "mutex/mysys/IO_CACHE::append_buffer_lock", 0},
   {"mutex/sql/Relay_log_info::run_lock", "mutex/mysys/LOCK_alarm", 0},
   {"mutex/sql/Relay_log_info::run_lock", "mutex/mysys/THR_LOCK_open", 0},
   {"mutex/sql/Relay_log_info::run_lock", "mutex/mysys/my_thread_var::mutex", 0},
   {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/DEBUG_SYNC::mutex", 0},
   {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/LOCK_error_log", 0},
+  {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/LOCK_global_system_variables", 0},
   {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/LOCK_plugin", 0},
   {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/LOCK_prepared_stmt_count", 0},
   {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/LOCK_thread_count", 0},
@@ -452,64 +284,186 @@ static LO_authorised_arc debug_lock_orde
   {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/LOG::LOCK_log", 0},
   {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/MYSQL_RELAY_LOG::LOCK_index", 0},
   {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/Master_info::data_lock", 0},
+  {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/Relay_log_info::data_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/THD::LOCK_thd_data", 0},
+  {"mutex/sql/THD::LOCK_thd_data", "mutex/mysys/LOCK_alarm", 0},
+  {"mutex/sql/THD::LOCK_thd_data", "mutex/mysys/my_thread_var::mutex", 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/sql/LOG::LOCK_log", 0},
 
-  {"mutex/sql/Relay_log_info::data_lock", "mutex/mysys/IO_CACHE::append_buffer_lock", 0},
-  {"mutex/sql/Relay_log_info::data_lock", "mutex/mysys/THR_LOCK_open", 0},
-  {"mutex/sql/Relay_log_info::data_lock", "mutex/sql/LOCK_error_log", 0},
-  {"mutex/sql/Relay_log_info::data_lock", "mutex/sql/LOCK_thread_count", 0},
-  {"mutex/sql/Relay_log_info::data_lock", "mutex/sql/LOG::LOCK_log", 0},
-  {"mutex/sql/Relay_log_info::data_lock", "mutex/sql/MYSQL_RELAY_LOG::LOCK_index", 0},
-  {"mutex/sql/Relay_log_info::data_lock", "mutex/sql/Relay_log_info::log_space_lock", 0},
-  {"mutex/sql/Relay_log_info::data_lock", "mutex/sql/Slave_reporting_capability::err_lock", 0},
-
-  {"mutex/sql/Relay_log_info::log_space_lock", "mutex/mysys/THR_LOCK_open", 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/csv/tina", "mutex/mysys/THR_LOCK_open", 0},
+  {"mutex/innodb/dict_sys_mutex", "mutex/innodb/autoinc_mutex", 0},
+  {"mutex/innodb/lock_wait_mutex", "mutex/innodb/lock_mutex", 0},
+  {"mutex/innodb/lock_wait_mutex", "mutex/innodb/os_mutex", 0},
+  {"mutex/innodb/lock_wait_mutex", "mutex/innodb/trx_mutex", 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/THR_LOCK::mutex", "mutex/csv/TINA_SHARE::mutex", 0},
+  {"mutex/mysys/THR_LOCK_charset", "mutex/mysys/THR_LOCK_open", 0},
+  {"mutex/mysys/THR_LOCK_myisam", "mutex/sql/LOCK_error_log", 0},
+  {"mutex/sql/LOCK_active_mi", "mutex/mysys/KEY_CACHE::cache_lock", 0},
+  {"mutex/sql/LOCK_active_mi", "mutex/mysys/THR_LOCK_charset", 0},
+  {"mutex/sql/LOCK_des_key_file", "mutex/mysys/THR_LOCK_open", 0},
+  {"mutex/sql/LOCK_error_messages", "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_global_system_variables", "mutex/sql/DEBUG_SYNC::mutex", 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/Relay_log_info::data_lock", 0},
+  {"mutex/sql/LOCK_open", "mutex/csv/tina", 0},
+  {"mutex/sql/LOCK_open", "mutex/example/example", 0},
+  {"mutex/sql/LOCK_open", "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/sql/LOCK_thread_count", 0},
+  {"mutex/sql/LOCK_thread_count", "mutex/sql/LOCK_event_queue", 0},
+  {"mutex/sql/LOCK_thread_count", "mutex/sql/LOCK_user_locks", 0},
+  {"mutex/sql/Master_info::run_lock", "mutex/sql/Relay_log_info::run_lock", 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/LOCK_global_system_variables", 0},
+  {"mutex/sql/hash_filo::lock", "mutex/sql/LOCK_plugin", 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/tz_LOCK", "mutex/mysys/THR_LOCK_myisam", 0},
-  {"mutex/sql/tz_LOCK", "mutex/mysys/THR_LOCK_open", 0},
-  {"mutex/sql/tz_LOCK", "mutex/sql/LOCK_plugin", 0},
-  {"mutex/sql/tz_LOCK", "mutex/sql/TABLE_SHARE::LOCK_ha_data", 0},
 
+  {"mutex/archive/ARCHIVE_SHARE::mutex", "mutex/mysys/THR_LOCK_open", 0},
+  {"mutex/archive/archive_mutex", "mutex/mysys/THR_LOCK_open", 0},
+  {"mutex/innodb/autoinc_mutex", "mutex/innodb/buf_pool_mutex", 0},
+  {"mutex/innodb/autoinc_mutex", "mutex/innodb/buf_pool_zip_mutex", 0},
+  {"mutex/innodb/autoinc_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/srv_sys_mutex", 0},
+  {"mutex/innodb/dict_sys_mutex", "mutex/innodb/trx_doublewrite_mutex", 0},
+  {"mutex/innodb/file_format_max_mutex", "mutex/innodb/flush_list_mutex", 0},
+  {"mutex/innodb/file_format_max_mutex", "mutex/innodb/log_flush_order_mutex", 0},
+  {"mutex/innodb/file_format_max_mutex", "mutex/innodb/log_sys_mutex", 0},
+  {"mutex/innodb/lock_mutex", "mutex/sql/THD::LOCK_thd_data", 0},
+  {"mutex/innodb/log_flush_order_mutex", "mutex/innodb/os_mutex", 0},
+  {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/buf_pool_mutex", 0},
+  {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/buf_pool_zip_mutex", 0},
+  {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/flush_list_mutex", 0},
+  {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/lock_mutex", 0},
+  {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/log_flush_order_mutex", 0},
+  {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/log_sys_mutex", 0},
+  {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/purge_sys_bh_mutex", 0},
+  {"mutex/innodb/prepare_commit_mutex", "mutex/innodb/read_view_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/rseg_mutex", "mutex/innodb/trx_doublewrite_mutex", 0},
+  {"mutex/innodb/srv_dict_tmpfile_mutex", "mutex/innodb/dict_sys_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/mysys/THR_LOCK::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/DEBUG_SYNC::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/sql/Delayed_insert::mutex", "mutex/myisam/MYISAM_SHARE::intern_lock", 0},
+  {"mutex/sql/Delayed_insert::mutex", "mutex/mysys/KEY_CACHE::cache_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_delayed_status", 0},
+  {"mutex/sql/Delayed_insert::mutex", "mutex/sql/LOCK_open", 0},
+  {"mutex/sql/Delayed_insert::mutex", "mutex/sql/LOCK_plugin", 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/Delayed_insert::mutex", "mutex/sql/TABLE_SHARE::LOCK_ha_data", 0},
+  {"mutex/sql/Delayed_insert::mutex", "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/innodb/autoinc_mutex", 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/mysys/THR_LOCK_open", 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/LOG::LOCK_log", 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},
+  {"mutex/sql/LOCK_delayed_create", "mutex/sql/DEBUG_SYNC::mutex", 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_prepared_stmt_count", 0},
+  {"mutex/sql/LOCK_delayed_create", "mutex/sql/LOCK_thread_count", 0},
+  {"mutex/sql/LOCK_delayed_create", "mutex/sql/LOCK_xid_cache", 0},
+  {"mutex/sql/LOCK_delayed_create", "mutex/sql/THD::LOCK_thd_data", 0},
+  {"mutex/sql/LOCK_delayed_insert", "mutex/sql/DEBUG_SYNC::mutex", 0},
+  {"mutex/sql/LOCK_delayed_insert", "mutex/sql/Delayed_insert::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_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_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_global_system_variables", "mutex/mysys/LOCK_alarm", 0},
+  {"mutex/sql/LOCK_global_system_variables", "mutex/sql/LOG::LOCK_log", 0},
+  {"mutex/sql/LOCK_open", "mutex/archive/archive_mutex", 0},
+  {"mutex/sql/LOCK_open", "mutex/blackhole/blackhole", 0},
+  {"mutex/sql/LOCK_open", "mutex/mysys/my_thread_var::mutex", 0},
+  {"mutex/sql/LOCK_open", "mutex/sql/MDL_wait::LOCK_wait_status", 0},
+  {"mutex/sql/LOCK_status", "mutex/innodb/dict_sys_mutex", 0},
+  {"mutex/sql/LOCK_status", "mutex/innodb/lock_mutex", 0},
+  {"mutex/sql/LOCK_status", "mutex/innodb/log_sys_mutex", 0},
+  {"mutex/sql/LOCK_status", "mutex/innodb/rseg_mutex", 0},
+  {"mutex/sql/LOCK_status", "mutex/innodb/trx_mutex", 0},
+  {"mutex/sql/LOCK_status", "mutex/innodb/trx_undo_mutex", 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_status", "mutex/sql/THD::LOCK_thd_data", 0},
+  {"mutex/sql/LOCK_user_conn", "mutex/sql/hash_filo::lock", 0},
+  {"mutex/sql/LOG::LOCK_log", "mutex/sql/MYSQL_BIN_LOG::LOCK_prep_xids", 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/tz_LOCK", "mutex/mysys/THR_LOCK_myisam", 0},
+  {"mutex/sql/tz_LOCK", "mutex/mysys/THR_LOCK_open", 0},
+  {"mutex/sql/tz_LOCK", "mutex/sql/LOCK_error_log", 0},
+  {"mutex/sql/tz_LOCK", "mutex/sql/LOCK_plugin", 0},
+  {"mutex/sql/tz_LOCK", "mutex/sql/TABLE_SHARE::LOCK_ha_data", 0},
+
+/*
+  MAINTAINER: Place cycles here, with a full cycle description.
+*/
 
 /*
   Cycle loop link mutex/mysys/my_thread_var::mutex -> mutex/sql/Delayed_insert::mutex
@@ -518,8 +472,6 @@ static LO_authorised_arc debug_lock_orde
   Cycle node 3: mutex/sql/THD::LOCK_thd_data
   Cycle node 4: mutex/mysys/my_thread_var::mutex
 */
-  {"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},
 
 /*
@@ -528,7 +480,6 @@ static LO_authorised_arc debug_lock_orde
   Cycle node 2: mutex/sql/Delayed_insert::mutex
   Cycle node 3: mutex/sql/LOCK_open
 */
-  {"mutex/sql/Delayed_insert::mutex", "mutex/sql/LOCK_open", 0},
   {"mutex/sql/LOCK_open", "mutex/sql/Delayed_insert::mutex", LO_FLAG_LOOP},
 
 /*
@@ -538,7 +489,6 @@ static LO_authorised_arc debug_lock_orde
   Cycle node 3: mutex/innodb/dict_sys_mutex
   Cycle node 4: mutex/sql/LOCK_global_system_variables
 */
-  {"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},
 
 /*
@@ -579,7 +529,6 @@ static LO_authorised_arc debug_lock_orde
   Cycle node 1: mutex/sql/Relay_log_info::run_lock
   Cycle node 2: mutex/sql/LOCK_global_system_variables
 */
-  {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/LOCK_global_system_variables", 0},
   {"mutex/sql/LOCK_global_system_variables", "mutex/sql/Relay_log_info::run_lock", LO_FLAG_LOOP},
 
 /*
@@ -594,9 +543,13 @@ static LO_authorised_arc debug_lock_orde
   Cycle node 1: mutex/sql/Master_info::run_lock
   Cycle node 2: mutex/sql/Relay_log_info::run_lock
 */
-  {"mutex/sql/Master_info::run_lock", "mutex/sql/Relay_log_info::run_lock", 0},
   {"mutex/sql/Relay_log_info::run_lock", "mutex/sql/Master_info::run_lock", LO_FLAG_LOOP},
 
+/*
+  Self loop, on different mutex instances.
+*/
+  {"mutex/sql/Slave_reporting_capability::err_lock", "mutex/sql/Slave_reporting_capability::err_lock", 0},
+
   {NULL, NULL, 0}
 };
 #endif

No bundle (reason: useless for push emails).
Thread
bzr push into mysql-trunk-lock-order branch (marc.alff:3352 to 3353) Marc Alff3 Apr