Skip to content

python -m test -v test_call segfault with clang 22.1.3 build #148284

@ppigazzini

Description

@ppigazzini

Crash report

What happened?

python 3.14.4 built as with Clang 22.1.3 and pyenv (on 3 different Ubuntu 24.04 machines):

$ CC="clang" CXX="clang++" LDFLAGS="${LDFLAGS:+$LDFLAGS }-fuse-ld=lld" PYTHON_CONFIGURE_OPTS="--enable-optimizations --with-lto" PYTHON_CFLAGS="-march=native -mtune=native" pyenv install 3.14.4
$ python -m test -v test_call
== CPython 3.14.4 (main, Apr 9 2026, 07:24:07) [Clang 22.1.3 (++20260402073256+4250a0fc5de9-1~exp1~20260402073413.57)]
== Linux-6.8.0-107-generic-x86_64-with-glibc2.39 little-endian
== Python build: release shared ThinLTO+PGO
== cwd: /tmp/test_python_worker_93691æ
== CPU count: 4
== encodings: locale=UTF-8 FS=utf-8
== resources: all test resources are disabled, use -u option to unskip tests

Using random seed: 1791553283
0:00:00 load avg: 0.00 Run 1 test sequentially in a single process
0:00:00 load avg: 0.00 [1/1] test_call
test_module_not_callable_no_suggestion_0 (test.test_call.CFunctionCallsErrorMessages.test_module_not_callable_no_suggestion_0) ... ok
...
...
test_margin_is_sufficient (test.test_call.TestRecursion.test_margin_is_sufficient) ... FAIL
test_recursion_with_kwargs (test.test_call.TestRecursion.test_recursion_with_kwargs) ... ok
test_super_deep (test.test_call.TestRecursion.test_super_deep) ... Fatal Python error: Segmentation fault

Current thread 0x00007a261a915b80 [python] (most recent call first):
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse
  File "/home/usr00/.pyenv/versions/3.14.4/lib/python3.14/test/test_call.py", line 1081 in c_recurse

Current thread's C stack trace (most recent call first):
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at _Py_DumpStack+0x29 [0x7a261b007919]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at +0x60dd5f [0x7a261b00dd5f]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at +0x60dc2d [0x7a261b00dc2d]
  Binary file "/lib/x86_64-linux-gnu/libc.so.6", at +0x45330 [0x7a261a645330]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at _PyEval_EvalFrameDefault+0x226 [0x7a261ac164b6]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at +0x2a7e3c [0x7a261aca7e3c]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at PyObject_Vectorcall+0x59 [0x7a261ad003a9]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at _PyEval_EvalFrameDefault+0x1da74 [0x7a261ac33d04]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at +0x2a7e3c [0x7a261aca7e3c]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at PyObject_Vectorcall+0x59 [0x7a261ad003a9]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at _PyEval_EvalFrameDefault+0x1da74 [0x7a261ac33d04]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at +0x2a7e3c [0x7a261aca7e3c]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at PyObject_Vectorcall+0x59 [0x7a261ad003a9]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at _PyEval_EvalFrameDefault+0x1da74 [0x7a261ac33d04]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at +0x2a7e3c [0x7a261aca7e3c]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at PyObject_Vectorcall+0x59 [0x7a261ad003a9]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at _PyEval_EvalFrameDefault+0x1da74 [0x7a261ac33d04]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at +0x2a7e3c [0x7a261aca7e3c]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at PyObject_Vectorcall+0x59 [0x7a261ad003a9]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at _PyEval_EvalFrameDefault+0x1da74 [0x7a261ac33d04]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at +0x2a7e3c [0x7a261aca7e3c]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at PyObject_Vectorcall+0x59 [0x7a261ad003a9]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at _PyEval_EvalFrameDefault+0x1da74 [0x7a261ac33d04]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at +0x2a7e3c [0x7a261aca7e3c]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at PyObject_Vectorcall+0x59 [0x7a261ad003a9]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at _PyEval_EvalFrameDefault+0x1da74 [0x7a261ac33d04]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at +0x2a7e3c [0x7a261aca7e3c]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at PyObject_Vectorcall+0x59 [0x7a261ad003a9]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at _PyEval_EvalFrameDefault+0x1da74 [0x7a261ac33d04]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at +0x2a7e3c [0x7a261aca7e3c]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at PyObject_Vectorcall+0x59 [0x7a261ad003a9]
  Binary file "/home/usr00/.pyenv/versions/3.14.4/lib/libpython3.14.so.1.0", at _PyEval_EvalFrameDefault+0x1da74 [0x7a261ac33d04]
  <truncated rest of calls>

Extension modules: _testcapi, _testlimitedcapi, _testinternalcapi (total: 3)
Segmentation fault (core dumped)

CPython versions tested on:

3.14

Operating systems tested on:

Linux

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

Python 3.14.4 (main, Apr 9 2026, 07:24:07) [Clang 22.1.3 (++20260402073256+4250a0fc5de9-1exp120260402073413.57)]

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.14bugs and security fixes3.15new features, bugs and security fixesrelease-blockertestsTests in the Lib/test dirtype-crashA hard crash of the interpreter, possibly with a core dump

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions