mirror of
https://github.com/MariaDB/server.git
synced 2025-11-08 00:28:29 +03:00
MDEV-37705 main.lotofstack /main.sp-error fails in MSAN+Debug
Tests on clang-20/21 had both of these tests overrunning the stack. The check_stack_overrun function checked the function earlier with a 2*STACK_MIN_SIZE margin. The exection within the processing is deeper then when check_stack_overrun was called. Raising STACK_MIN_SIZE to 44k was sufficient (and 40k wasn't oufficient). execution_constants also tested however the topic mention tests are bigger. Perfscheam tests * perfschema.statement_program_nesting_event_check * perfschema.statement_program_nested * perfschema.max_program_zero A small increase to the test thread-stack-size on statement_program_lost_inst allows this test to continue to pass.
This commit is contained in:
@@ -167,7 +167,14 @@
|
||||
Feel free to raise this by the smallest amount you can to get the
|
||||
"execution_constants" test to pass.
|
||||
*/
|
||||
#ifndef __has_feature
|
||||
#define __has_feature(x) 0
|
||||
#endif
|
||||
#if defined(__clang__) && __has_feature(memory_sanitizer) && !defined(DBUG_OFF)
|
||||
#define STACK_MIN_SIZE 44000
|
||||
#else
|
||||
#define STACK_MIN_SIZE 16000 // Abort if less stack during eval.
|
||||
#endif
|
||||
|
||||
#define STACK_MIN_SIZE_FOR_OPEN (1024*80)
|
||||
#define STACK_BUFF_ALLOC 352 ///< For stack overrun checks
|
||||
|
||||
Reference in New Issue
Block a user