summaryrefslogtreecommitdiff
path: root/BUILD/compile-amd64-valgrind-max
diff options
context:
space:
mode:
authorunknown <acurtis/antony@xiphis.org/ltamd64.xiphis.org>2007-01-23 05:09:14 -0800
committerunknown <acurtis/antony@xiphis.org/ltamd64.xiphis.org>2007-01-23 05:09:14 -0800
commitd48e864f2faf06867988e5b9b9346a56fb86b818 (patch)
tree1eedc50e2ad5cf8250a182fcd30f2c542a50804c /BUILD/compile-amd64-valgrind-max
parent702a25ddb86c3231bee2a97fae5ddb14067540c2 (diff)
downloadmariadb-git-d48e864f2faf06867988e5b9b9346a56fb86b818.tar.gz
Bug#25396
"Valgrind leak in closecon_handlerton" plugin_shutdown() calls plugin_deinitialize() which calls ha_finalize_handlerton(). ndbcluster_end() fails to wait for the ndb utility thread to exit which results in the handlerton struct being freed before the ndb utility thread has destroyed it's THD but before the plugin has been marked as UNINITIALIZED Bug is caused by misuse of abort_loops variable and not locking mutex during calls to pthread condition variable functions causing a race in valgrind's pthread_cond_wait implementation. sql/ha_ndbcluster.cc: Bug25396 Valgrind requires that mutex be held during call to pthread_cond_signal. Change pthread_cond_timedwait() to pthread_cond_wait() where the timeout is not needed. Ensure that appropiate variables are protected by mutex. Remove use of abort_loop global variable. Ensure that ndbcluster_end waits for util thread to exit. Add an extra cond_var as insurance against non-conforming pthreads implementations. sql/mysqld.cc: Bug25386 Valgrind requires that mutex be held during call to pthread_cond_signal. BUILD/compile-amd64-valgrind-max: New BitKeeper file ``BUILD/compile-amd64-valgrind-max''
Diffstat (limited to 'BUILD/compile-amd64-valgrind-max')
-rwxr-xr-xBUILD/compile-amd64-valgrind-max24
1 files changed, 24 insertions, 0 deletions
diff --git a/BUILD/compile-amd64-valgrind-max b/BUILD/compile-amd64-valgrind-max
new file mode 100755
index 00000000000..962d0f17b04
--- /dev/null
+++ b/BUILD/compile-amd64-valgrind-max
@@ -0,0 +1,24 @@
+#! /bin/sh
+
+path=`dirname $0`
+. "$path/SETUP.sh"
+
+extra_flags="$amd64_cflags $debug_cflags $valgrind_flags"
+extra_configs="$amd64_configs $debug_configs $max_configs"
+
+. "$path/FINISH.sh"
+
+if test -z "$just_print"
+then
+ set +v +x
+ echo "\
+******************************************************************************
+Note that by default BUILD/compile-pentium-valgrind-max calls 'configure' with
+--enable-assembler. When Valgrind detects an error involving an assembly
+function (for example an uninitialized value used as an argument of an
+assembly function), Valgrind will not print the stacktrace and 'valgrind
+--gdb-attach=yes' will not work either. If you need a stacktrace in those
+cases, you have to run BUILD/compile-pentium-valgrind-max with the
+--disable-assembler argument.
+******************************************************************************"
+fi