From: Filipe Laíns 🇵🇸 Date: Fri, 4 Apr 2025 08:34:02 +0000 (+0100) Subject: GH-131770: increase assumed WASI stack size to 131072 (wasi-sdk default) (#131844) X-Git-Tag: v3.14.0a7~83 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6ab4acecf91413fccd39f78ff14775d83498dab5;p=thirdparty%2FPython%2Fcpython.git GH-131770: increase assumed WASI stack size to 131072 (wasi-sdk default) (#131844) https://github.com/WebAssembly/wasi-libc/blob/e9524a0980b9bb6bb92e87a41ed1055bdda5bb86/libc-top-half/musl/src/internal/pthread_impl.h#L220 Signed-off-by: Filipe Laíns --- diff --git a/Lib/test/test_gettext.py b/Lib/test/test_gettext.py index 0fbd90dcb485..04d26596849b 100644 --- a/Lib/test/test_gettext.py +++ b/Lib/test/test_gettext.py @@ -485,6 +485,7 @@ class PluralFormsInternalTestCase(unittest.TestCase): s = ''.join([ str(f(x)) for x in range(200) ]) eq(s, "01233333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444445553333333344444444444444444444444444444444444444444444444444444444444444444444444444444444444444444") + @support.skip_wasi_stack_overflow() def test_security(self): raises = self.assertRaises # Test for a dangerous expression diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py index 2c87b145254a..02d10c1961e2 100644 --- a/Lib/test/test_syntax.py +++ b/Lib/test/test_syntax.py @@ -2900,6 +2900,7 @@ while 1: compile(source, "", mode) @support.cpython_only + @support.skip_wasi_stack_overflow() def test_deep_invalid_rule(self): # Check that a very deep invalid rule in the PEG # parser doesn't have exponential backtracking. diff --git a/Python/ceval.c b/Python/ceval.c index 363f263ad2a0..add8c2a28c74 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -364,7 +364,7 @@ _Py_EnterRecursiveCallUnchecked(PyThreadState *tstate) # define Py_C_STACK_SIZE 1600000 #elif defined(__wasi__) /* Web assembly has two stacks, so this isn't really the stack depth */ -# define Py_C_STACK_SIZE 80000 +# define Py_C_STACK_SIZE 131072 // wasi-libc DEFAULT_STACK_SIZE #elif defined(__hppa__) || defined(__powerpc64__) # define Py_C_STACK_SIZE 2000000 #else