Increase stack size of ndbd threads for safety's sake.

This commit is contained in:
Tom Lane 2009-04-15 19:48:31 +00:00 committed by Michal Schorm
parent af5d0e52a1
commit d87f3fc06c
2 changed files with 34 additions and 1 deletions

27
mysql-ndb-stacksize.patch Normal file
View File

@ -0,0 +1,27 @@
Raise minimum stack size in ndb code to be a uniform 32K (64K on 64-bit
platforms). This is in response to an episode where glibc needed 8K of
stack to run malloc(), resulting in ndbd crashing at launch. While that
was acknowledged to be a glibc bug (see bz #494631), byte-shaving here
isn't any better an idea than it is in the main mysql server.
Note: the request gets rounded up to at least PTHREAD_STACK_MIN, which
is 128K on PPC; otherwise we would need to do something about including
the stack guard size explicitly, since it's so much larger on PPC than
elsewhere. At some point we might want to use our my_setstacksize()
hack in NdbThread_Create().
diff -Naur mysql-5.1.33.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp mysql-5.1.33/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp
--- mysql-5.1.33.orig/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-03-13 17:54:07.000000000 -0400
+++ mysql-5.1.33/storage/ndb/src/kernel/blocks/ndbfs/AsyncFile.cpp 2009-04-15 14:00:04.000000000 -0400
@@ -106,8 +106,8 @@
AsyncFile::doStart()
{
// Stacksize for filesystem threads
- // An 8k stack should be enough
- const NDB_THREAD_STACKSIZE stackSize = 8192;
+ // don't make this too small
+ const NDB_THREAD_STACKSIZE stackSize = 32768;
char buf[16];
numAsyncFiles++;

View File

@ -1,6 +1,6 @@
Name: mysql
Version: 5.1.33
Release: 1%{?dist}
Release: 2%{?dist}
Summary: MySQL client programs and shared libraries
Group: Applications/Databases
URL: http://www.mysql.com
@ -31,6 +31,7 @@ Patch5: mysql-install-test.patch
Patch6: mysql-stack-guard.patch
Patch7: mysql-plugin-bug.patch
Patch8: mysql-setschedparam.patch
Patch9: mysql-ndb-stacksize.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
BuildRequires: gperf, perl, readline-devel, openssl-devel
@ -172,6 +173,7 @@ the MySQL sources.
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
libtoolize --force
aclocal
@ -637,6 +639,10 @@ fi
%{_mandir}/man1/mysql_client_test.1*
%changelog
* Wed Apr 15 2009 Tom Lane <tgl@redhat.com> 5.1.33-2
- Increase stack size of ndbd threads for safety's sake.
Related: #494631
* Tue Apr 7 2009 Tom Lane <tgl@redhat.com> 5.1.33-1
- Update to MySQL 5.1.33.
- Disable use of pthread_setschedparam; doesn't work the way code expects.