Commit 84645366 authored by Sergei Golubchik's avatar Sergei Golubchik

ASAN loves stack, give it some

fixes these test failures in ASAN builds (in 10.1 and 10.4):
* main.signal_demo3
* main.sp
* sys_vars.max_sp_recursion_depth_func
* mroonga/storage.foreign_key_delete_existent
* mroonga/storage.foreign_key_delete_nonexistent
* mroonga/storage.foreign_key_insert_existent
* mroonga/storage.foreign_key_update_existent
* mroonga/storage.foreign_key_update_nonexistent
* mroonga/storage.function_command_auto-escape
* mroonga/storage.function_command_select
* mroonga/storage.variable_enable_operations_recording_insert
parent 5ce6fb59
......@@ -734,7 +734,11 @@ extern void my_mutex_end(void);
We need to have at least 256K stack to handle calls to myisamchk_init()
with the current number of keys and key parts.
*/
#define DEFAULT_THREAD_STACK (289*1024L)
#ifdef __SANITIZE_ADDRESS__
#define DEFAULT_THREAD_STACK (364*1024L)
#else
#define DEFAULT_THREAD_STACK (292*1024L)
#endif
#endif
#define MY_PTHREAD_LOCK_READ 0
......
......@@ -133,6 +133,6 @@
-thread-pool-oversubscribe 3
-thread-pool-stall-limit 500
+thread-pool-min-threads 1
thread-stack 295936
thread-stack 299008
time-format %H:%i:%s
timed-mutexes FALSE
......@@ -1449,7 +1449,7 @@ thread-pool-idle-timeout 60
thread-pool-max-threads 1000
thread-pool-oversubscribe 3
thread-pool-stall-limit 500
thread-stack 295936
thread-stack 299008
time-format %H:%i:%s
timed-mutexes FALSE
tmp-table-size 16777216
......
......@@ -12,7 +12,7 @@ set sql_mode=ansi_quotes;
set global div_precision_increment=5;
--replace_regex /^\/\S+/PATH/
--replace_result $MASTER_MYPORT MASTER_MYPORT
--replace_result $MASTER_MYPORT MASTER_MYPORT 372736 299008
select * from information_schema.system_variables
where variable_name not like 'aria%' and
variable_name not like 'debug%' and
......
......@@ -3917,9 +3917,9 @@ READ_ONLY YES
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME THREAD_STACK
SESSION_VALUE NULL
GLOBAL_VALUE 295936
GLOBAL_VALUE 299008
GLOBAL_VALUE_ORIGIN COMPILE-TIME
DEFAULT_VALUE 295936
DEFAULT_VALUE 299008
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The stack size for each thread
......
......@@ -4687,9 +4687,9 @@ READ_ONLY NO
COMMAND_LINE_ARGUMENT REQUIRED
VARIABLE_NAME THREAD_STACK
SESSION_VALUE NULL
GLOBAL_VALUE 295936
GLOBAL_VALUE 299008
GLOBAL_VALUE_ORIGIN COMPILE-TIME
DEFAULT_VALUE 295936
DEFAULT_VALUE 299008
VARIABLE_SCOPE GLOBAL
VARIABLE_TYPE BIGINT UNSIGNED
VARIABLE_COMMENT The stack size for each thread
......
select @@global.thread_stack;
@@global.thread_stack
295936
299008
select @@session.thread_stack;
ERROR HY000: Variable 'thread_stack' is a GLOBAL variable
show global variables like 'thread_stack';
Variable_name Value
thread_stack 295936
thread_stack 299008
show session variables like 'thread_stack';
Variable_name Value
thread_stack 295936
thread_stack 299008
select * from information_schema.global_variables where variable_name='thread_stack';
VARIABLE_NAME VARIABLE_VALUE
THREAD_STACK 295936
THREAD_STACK 299008
select * from information_schema.session_variables where variable_name='thread_stack';
VARIABLE_NAME VARIABLE_VALUE
THREAD_STACK 295936
THREAD_STACK 299008
set global thread_stack=1;
ERROR HY000: Variable 'thread_stack' is a read only variable
set session thread_stack=1;
......
#
# only global
#
--replace_result 196608 262144
--replace_result 372736 299008
select @@global.thread_stack;
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
select @@session.thread_stack;
--replace_result 196608 262144
--replace_result 372736 299008
show global variables like 'thread_stack';
--replace_result 196608 262144
--replace_result 372736 299008
show session variables like 'thread_stack';
--replace_result 196608 262144
--replace_result 372736 299008
select * from information_schema.global_variables where variable_name='thread_stack';
--replace_result 196608 262144
--replace_result 372736 299008
select * from information_schema.session_variables where variable_name='thread_stack';
#
......
......@@ -57,7 +57,7 @@ perl;
# fixes for 32-bit
s/\b4294967295\b/18446744073709551615/;
s/\b2146435072\b/9223372036853727232/;
s/\b196608\b/262144/;
s/\b372736\b/299008/;
s/\b4294963200\b/18446744073709547520/;
foreach $var (@env) { s/\Q$ENV{$var}\E/$var/ }
next if /use --skip-(use-)?symbolic-links to disable/; # for valgrind, again
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment