test.test_call.TestRecursion.test_margin_is_sufficient fails on the AMD64 Windows Server 2025 Clang 3.14 buildbot.
The table lists safe_margin before it is multiplied, because 3.14 and main use different extra percents
|
# Add an (arbitrary) extra 25% for safety |
|
safe_margin = safe_margin * 5 / 4 |
|
self.assertLess(safe_margin, _testinternalcapi.get_stack_margin()) |
and
_testinternalcapi.get_stack_margin(), which is actually just
_PyOS_STACK_MARGIN_BYTES.
| branch |
compiler |
build |
safe_margin |
_PyOS_STACK_MARGIN_BYTES |
| main |
MSC v.1951 |
debug |
20080 |
32768 |
| main |
clang-cl 22.1.3 |
debug |
26032 |
32768 |
| main |
clang-cl 22.1.3 |
release |
1200 |
16384 |
| 3.14 |
MSC v.1944 |
debug |
23168 |
32768 |
| 3.14 |
clang-cl 22.1.3 |
debug |
33920 |
32768 |
| 3.14 |
clang-cl 22.1.3 |
release |
992 |
16384 |
| 3.14 |
clang-cl 22.1.3 |
debug with -Og |
1536 |
32768 |
Using -Og drastically improves stack usage.
Linked PRs
test.test_call.TestRecursion.test_margin_is_sufficientfails on the AMD64 Windows Server 2025 Clang 3.14 buildbot.The table lists
safe_marginbefore it is multiplied, because 3.14 and main use different extra percentscpython/Lib/test/test_call.py
Lines 1105 to 1107 in 5b34363
and
_testinternalcapi.get_stack_margin(), which is actually just_PyOS_STACK_MARGIN_BYTES.Using -Og drastically improves stack usage.
Linked PRs
-Ogin case of clang-cl debug builds #157791