Talk about silly byte-shaving ... the "stock" value of STACK_MIN_SIZE does not work on s390x, and probably not on some other platforms either. Knock it up to twice the pre-5.0.33 value to have some margin for future changes in compiler, glibc, etc. Suspect this number if "execution_constants" regression test fails. As of 5.0.45 and F9, it seems 16384 isn't enough anymore either (ppc fails, and seems to now need something above 20000 --- why?). STACK_MIN_SIZE has to be enough less than DEFAULT_THREAD_STACK / 8 to provide some headroom, which means we are now also forced to raise DEFAULT_THREAD_STACK for 32-bit arches. diff -Naur mysql-5.0.45.orig/include/my_pthread.h mysql-5.0.45/include/my_pthread.h --- mysql-5.0.45.orig/include/my_pthread.h 2007-07-04 09:06:05.000000000 -0400 +++ mysql-5.0.45/include/my_pthread.h 2008-01-08 14:51:39.000000000 -0500 @@ -737,7 +737,7 @@ */ #define DEFAULT_THREAD_STACK (256*1024L) #else -#define DEFAULT_THREAD_STACK (192*1024) +#define DEFAULT_THREAD_STACK (256*1024) #endif #endif diff -Naur mysql-5.0.45.orig/sql/mysql_priv.h mysql-5.0.45/sql/mysql_priv.h --- mysql-5.0.45.orig/sql/mysql_priv.h 2007-07-04 09:06:41.000000000 -0400 +++ mysql-5.0.45/sql/mysql_priv.h 2008-01-08 14:51:55.000000000 -0500 @@ -173,7 +173,7 @@ Feel free to raise this by the smallest amount you can to get the "execution_constants" test to pass. */ -#define STACK_MIN_SIZE 12000 // Abort if less stack during eval. +#define STACK_MIN_SIZE 24576 // Abort if less stack during eval. #define STACK_MIN_SIZE_FOR_OPEN 1024*80 #define STACK_BUFF_ALLOC 352 // For stack overrun checks