List:Commits« Previous MessageNext Message »
From:Marc Alff Date:September 9 2010 8:39pm
Subject:bzr push into mysql-5.5-bugfixing branch (marc.alff:3204 to 3205) Bug#56521
View as plain text  
 3205 Marc Alff	2010-09-09
      Bug#56521 Assertion failed: (m_state == 2), function allocated_to_free, pfs_lock.h (138)
      
      Before this fix, it was possible to build the server:
      - with the performance schema
      - with a dummy implementation of my_atomic (MY_ATOMIC_MODE_DUMMY).
      
      In this case, the resulting binary will just crash,
      as this configuration is not supported.
      
      This fix enforces that the build will fail with a compilation error in this
      configuration, instead of resulting in a broken binary.

    modified:
      storage/perfschema/ha_perfschema.cc
 3204 Marc Alff	2010-09-09 [merge]
      local merge

    modified:
      client/mysqltest.cc
      cmake/dtrace.cmake
      libmysqld/lib_sql.cc
      mysql-test/r/func_time.result
      mysql-test/r/parser.result
      mysql-test/r/select.result
      mysql-test/r/strict.result
      mysql-test/r/type_datetime.result
      mysql-test/suite/rpl/t/disabled.def
      mysql-test/t/disabled.def
      mysql-test/t/strict.test
      mysql-test/t/type_datetime.test
      mysys/my_gethwaddr.c
      mysys/my_sync.c
      sql/derror.cc
      sql/item_timefunc.cc
      sql/item_timefunc.h
      sql/mysqld.cc
      sql/set_var.cc
      sql/set_var.h
      sql/sys_vars.h
=== modified file 'storage/perfschema/ha_perfschema.cc'
--- a/storage/perfschema/ha_perfschema.cc	2010-07-15 23:44:45 +0000
+++ b/storage/perfschema/ha_perfschema.cc	2010-09-09 20:28:47 +0000
@@ -19,6 +19,7 @@
 */
 
 #include "my_global.h"
+#include "my_atomic.h"
 #include "my_pthread.h"
 #include "sql_plugin.h"
 #include "mysql/plugin.h"
@@ -28,6 +29,17 @@
 #include "pfs_instr_class.h"
 #include "pfs_instr.h"
 
+#ifdef MY_ATOMIC_MODE_DUMMY
+/*
+  The performance schema can can not function with MY_ATOMIC_MODE_DUMMY,
+  a fully functional implementation of MY_ATOMIC should be used instead.
+  If the build fails with this error message:
+  - either use a different ./configure --with-atomic-ops option
+  - or do not build with the performance schema.
+*/
+#error "The performance schema needs a functional MY_ATOMIC implementation."
+#endif
+
 handlerton *pfs_hton= NULL;
 
 static handler* pfs_create_handler(handlerton *hton,


Attachment: [text/bzr-bundle] bzr/marc.alff@oracle.com-20100909202847-p2eq4vqq8v1r27ir.bundle
Thread
bzr push into mysql-5.5-bugfixing branch (marc.alff:3204 to 3205) Bug#56521Marc Alff9 Sep