4045 Joerg Bruehe 2012-11-08 [merge]
Merge the ULN RPM fix into main.
modified:
packaging/rpm-uln/mysql-chain-certs.patch
packaging/rpm-uln/mysql.spec.sh
4044 Aditya A 2012-11-08 [merge]
Bug#14234028 - CRASH DURING SHUTDOWN WITH BACKGROUND PURGE THREAD
Analysis
---------
my_stat() calls stat() and if the stat() call fails we try to set
the variable my_errno which is actually a thread specific data .
We try to get the address of this thread specific data using
my_pthread_getspecifc(),but for the purge thread we have not defined
any thread specific data so it returns null and when dereferencing
null we get a segmentation fault.
init_available_charsets() seen in the core stack is invoked
through pthread_once() .pthread_once is used for one time
initialization.Since free_charsets() is called before innodb plugin
shutdown ,purge thread calls init_avaliable_charsets() which leads
to the crash.
Fix
---
Call free_charsets() after the innodb plugin shutdown,since purge
threads are still using the charsets.
modified:
sql/mysqld.cc
=== modified file 'packaging/rpm-uln/mysql-chain-certs.patch'
--- a/packaging/rpm-uln/mysql-chain-certs.patch 2012-06-08 17:44:06 +0000
+++ b/packaging/rpm-uln/mysql-chain-certs.patch 2012-11-08 14:49:28 +0000
@@ -9,19 +9,23 @@ Fedora builds, I'm not feeling motivated
See RH bug #598656. Filed upstream at http://bugs.mysql.com/bug.php?id=54158
+ ===
-diff -Naur mysql-5.1.47.orig/vio/viosslfactories.c mysql-5.1.47/vio/viosslfactories.c
---- mysql-5.1.47.orig/vio/viosslfactories.c 2010-05-06 11:28:07.000000000 -0400
-+++ mysql-5.1.47/vio/viosslfactories.c 2010-05-26 23:23:46.000000000 -0400
-@@ -100,7 +100,7 @@
- (long) ctx, cert_file, key_file));
- if (cert_file)
+Joerg Bruehe, MySQL Build Team at Oracle: First patch adapted to code changes in MySQL 5.5
+
+
+diff -Naur mysql-5.5.29.orig/vio/viosslfactories.c mysql-5.5.29/vio/viosslfactories.c
+--- mysql-5.5.29.orig/vio/viosslfactories.c 2010-05-06 11:28:07.000000000 -0400
++++ mysql-5.5.29/vio/viosslfactories.c 2010-05-26 23:23:46.000000000 -0400
+@@ -106,7 +106,7 @@
+ key_file= cert_file;
+
+ if (cert_file &&
+- SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0)
++ SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0)
{
-- if (SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) <= 0)
-+ if (SSL_CTX_use_certificate_chain_file(ctx, cert_file) <= 0)
- {
- *error= SSL_INITERR_CERT;
- DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file));
+ *error= SSL_INITERR_CERT;
+ DBUG_PRINT("error",("%s from file '%s'", sslGetErrString(*error), cert_file));
diff -Naur mysql-5.1.47.orig/extra/yassl/src/ssl.cpp mysql-5.1.47/extra/yassl/src/ssl.cpp
--- mysql-5.1.47.orig/extra/yassl/src/ssl.cpp 2010-05-06 11:24:26.000000000 -0400
+++ mysql-5.1.47/extra/yassl/src/ssl.cpp 2010-05-26 23:29:13.000000000 -0400
=== modified file 'packaging/rpm-uln/mysql.spec.sh'
--- a/packaging/rpm-uln/mysql.spec.sh 2012-11-07 19:32:54 +0000
+++ b/packaging/rpm-uln/mysql.spec.sh 2012-11-08 14:49:28 +0000
@@ -244,8 +244,7 @@ Patch13: mysql-expired-certs.patch
# Will not be used by MySQL
# Patch14: mysql-missing-string-code.patch Undecided, will not work in 5.5 (cmake)
# Patch15: mysql-lowercase-bug.patch Fixed in MySQL 5.1.54 and 5.5.9
-# Patch16: mysql-chain-certs.patch Currently, this patch is broken
-# by server code changes to "vio/viosslfactories.c"
+Patch16: mysql-chain-certs.patch
Patch17: mysql-5.5-libdir.patch
Patch18: mysql-5.5-fix-tests.patch
Patch19: mysql-5.5-mtr1.patch
@@ -400,8 +399,7 @@ cd %{src_dir} # read about "%setup -n"
# %patch10 -p1
# %patch13 -p1
# %patch14 -p1
-# %patch16 -p1 Currently, this patch is broken
-# by server code changes to "vio/viosslfactories.c"
+%patch16 -p1
%patch17 -p1
%patch18 -p1
%patch19 -p1
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-5.5 branch (joerg.bruehe:4044 to 4045) | Joerg Bruehe | 9 Nov |