Excessive stack usage for clang-cl debug builds on Windows
Ouverte
@chris-eibl y travaille déjà.
Depuis le 19/9/2026.
build
OS-unsupported
OS-windows
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 35.9k
- Métriques de merge des PR
- Métriques de PR en attente
Description
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
https://github.com/python/cpython/blob/5b343636bae9b89cb5632ca07b01e1570e24653d/Lib/test/test_call.py#L1105-L1107
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
- gh-157791
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Évaluation
Cette issue n'a pas encore été évaluée.