python / python/cpython

`test_call.test_super_deep` started segfaulting with 3.14.0a4 freethreading

Open
#128,954 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

tests topic-free-threading type-crash
Dominant language
Python
Stars
77.2k
Forks
35.9k
PR merge metrics
PR metrics pending

Description

Crash report

What happened?
test_super_deep (test.test_call.TestRecursion.test_super_deep) ... Fatal Python error: Segmentation fault

The test passes with a3 but segfaults with a4 — so I'm guessing stack frames grew or something. Not sure if this is the kind of regression in code that needs to be fixed, or merely recursion limit needs to be lowered.

This is Gentoo Linux amd64, CPython built with LTO + PGO, CFLAGS are -march=znver2 --param=l1-cache-size=32 --param=l1-cache-line-size=64 -O2 -pipe -frecord-gcc-switches.

Full log: dev-lang:python-3.14.0_alpha4-r100:20250117-163521.txt

CPython versions tested on:

3.14

Operating systems tested on:

Linux

Output from running 'python -VV' on the command line:

Python 3.14.0a4 experimental free-threading build (main, Jan 17 2025, 17:46:22) [GCC 14.2.1 20241221]

Linked PRs
  • gh-128958

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with test.test_call.TestRecursion.test_super_deep and reproduce the segmentation fault on a 3.14.0a4 free-threading build, then compare it with 3.14.0a3. Review linked PR gh-128958 for the current investigation; done means the test no longer segfaults without masking the underlying regression.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.