GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — gh-158314: Fix test_parameters_deep_recursion on 32-bit ARM by aozmekik · Pull Request #161847 · python/cpython

Conversation

@aozmekik

@aozmekik aozmekik commented Nov 12, 2026 •
edited by bedevere-app Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

On 32-bit ARM, _Py_make_parameters() takes only 48 bytes of C stack per level in a debug build, so the 150,000 nested lists fit in the 8 MiB stack of run_with_limited_c_stack() and no RecursionError is raised. The 3.14 release build and 3.15 still pass on armhf, but only just: they overflow at about 149,400 and 149,100 levels.

This nests 500,000 levels instead, the same depth other tests with small C frames use (test_exceptions, test_xml_etree, test_compile).

I ran it with Debian sid's python3.14 and python3.15, debug and release, on amd64, i386, armhf, arm64, ppc64el, s390x and riscv64. Before this change it failed only with python3.14-dbg on armhf. With it, it passes on all of them. On the other architectures a level takes 80 bytes or more. I also ran test_typing from main and 3.14 source builds, debug (with -R 3:3) and release, with ulimit -s from 1 MiB to unlimited. The test's peak memory goes up by about 25 MB in a release build.

The 3.14 backport will conflict in the import list, so I can do that one by hand.

  • Issue: [3.14 Regression] test_typing.GenericTests.test_parameters_deep_recursion fails on arm-linux-gnueabihf #158314

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@aozmekik
pythongh-158314: Fix test_parameters_deep_recursion on 32-bit ARM
06dc5ac
_Py_make_parameters() uses only 48 bytes of C stack per level in a debug
build on 32-bit ARM, so 150_000 nested lists fit in the 8 MiB stack of
run_with_limited_c_stack() and no RecursionError is raised.  Nest
500_000 levels, as other tests with small C frames do.
@aozmekik
aozmekik requested review from AlexWaygood and JelleZijlstra as code owners November 12, 2026 05:46
@bedevere-app bedevere-app Bot mentioned this pull request Nov 12, 2026
[3.14 Regression] test_typing.GenericTests.test_parameters_deep_recursion fails on arm-linux-gnueabihf #158314
Open
@bedevere-app bedevere-app Bot added tests Tests in the Lib/test dir awaiting review labels Nov 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@JelleZijlstra JelleZijlstra Awaiting requested review from JelleZijlstra JelleZijlstra is a code owner
@AlexWaygood AlexWaygood Awaiting requested review from AlexWaygood AlexWaygood is a code owner

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

awaiting review tests Tests in the Lib/test dir

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@aozmekik
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.