diff options
| author | Angus Gratton <angus@redyak.com.au> | 2025-08-06 10:20:57 +1000 |
|---|---|---|
| committer | Angus Gratton <angus@redyak.com.au> | 2025-08-19 10:33:40 +1000 |
| commit | d8672f4cde83c0a5632f9e6ac5a55eb68fed64f9 (patch) | |
| tree | bede31b12b8c34a6dd841227bf2cf664c117cf5a /tests/stress/recursive_iternext.py | |
| parent | 3faf2298537ee34648d27a662529ff2aa73cec1c (diff) | |
unix: Increase stack sizes if running with sanitizers.
The specific problem seems to be that the runtime "Python stack frame"
function call is several times more expensive in stack usage when running
with UBSan on older GCC (observed on gcc 11.4 as used in CI, would get
'RuntimeError: maximum recursion depth exceeded' when running some tests
with UBSan enabled.)
Other stack usage (i.e. from pushing things on the stack in Python) stays
the same. Whatever causes the usage seems to be mostly gone in later GCC
versions.
Includes a refactor to apply the same stack size multipliers
for the default thread stack size same as the main stack size.
This goes in a new port-specific header as it depends on macros
in misc.h, so can't be in mpconfigport.h.
A side effect of this is that the default thread stack size is
now doubled on ARM, same as the main stack size.
This work was funded through GitHub Sponsors.
Signed-off-by: Angus Gratton <angus@redyak.com.au>
Diffstat (limited to 'tests/stress/recursive_iternext.py')
0 files changed, 0 insertions, 0 deletions
