List:Commits« Previous MessageNext Message »
From:Jon Olav Hauglid Date:August 26 2010 3:17pm
Subject:bzr commit into mysql-trunk-bugfixing branch (jon.hauglid:3242) Bug#56241
View as plain text  
#At file:///export/home/x/mysql-trunk-bugfixing-test/ based on revid:marc.alff@stripped

 3242 Jon Olav Hauglid	2010-08-26
      Bug #56241 Valgrind/CDB warnings for many tests in trunk-bugfixing
      
      The reason for the warnings was that the performance schema
      instrumentation function release_table_share() could be called
      on a TABLE_SHARE that had already been free'd.
      
      The bug was introduced during merging of the patch for Bug#52044
      from mysql-5.5-bugfixing (which does not include the call to
      PSI release_table_share()) to mysql-trunk-bugfixing.
      
      This patch fixes the problem by moving the release_table_share()
      call to TABLE_SHARE::destroy() before the TABLE_SHARE is free'd.
      
      No test case added as this problem is detected by existing 
      valgrind tests.

    modified:
      sql/table.cc
=== modified file 'sql/table.cc'
--- a/sql/table.cc	2010-08-20 08:48:59 +0000
+++ b/sql/table.cc	2010-08-26 15:17:35 +0000
@@ -426,6 +426,12 @@ void TABLE_SHARE::destroy()
       info_it->flags= 0;
     }
   }
+
+#ifdef HAVE_PSI_INTERFACE
+  if (likely(PSI_server && m_psi))
+    PSI_server->release_table_share(m_psi);
+#endif
+
   /*
     Make a copy since the share is allocated in its own root,
     and free_root() updates its argument after freeing the memory.
@@ -477,12 +483,6 @@ void free_table_share(TABLE_SHARE *share
       for this thread to do the work.
     */
   }
-
-#ifdef HAVE_PSI_INTERFACE
-  if (likely(PSI_server && share->m_psi))
-    PSI_server->release_table_share(share->m_psi);
-#endif
-
   DBUG_VOID_RETURN;
 }
 


Attachment: [text/bzr-bundle] bzr/jon.hauglid@oracle.com-20100826151735-h63yjr0li8fm4n95.bundle
Thread
bzr commit into mysql-trunk-bugfixing branch (jon.hauglid:3242) Bug#56241Jon Olav Hauglid26 Aug
  • Re: bzr commit into mysql-trunk-bugfixing branch (jon.hauglid:3242)Bug#56241Dmitry Lenev26 Aug