1
0
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:
Daniel Black
2025-09-22 11:58:50 +10:00
parent f9bdff6162
commit f2ef683b7a
5 changed files with 11 additions and 1 deletions

View File

@@ -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