Skip to content

CI - fails with new pypy 3.11.15 [pypy-7.3.21-final] #12956

@galuszkak

Description

@galuszkak

While working on #12951 there were failures in "CI / core / Test with debug build (pypy3.11)" - see run: https://github.com/pydantic/pydantic/actions/runs/23416755262/job/68113631300

Relevant part:

tests/test_forward_ref.py ...............................................xx.....s...sxssss....s.                                               [ 67%]
Fatal Python error: Segmentation fault

Stack (most recent call first, approximate line numbers):
  File "/home/runner/work/pydantic/pydantic/pydantic/fields.py", line 825 in _copy
  File "/home/runner/work/pydantic/pydantic/pydantic/_internal/_fields.py", line 224 in collect_model_fields
  File "/home/runner/work/pydantic/pydantic/pydantic/_internal/_model_construction.py", line 560 in set_model_fields
  File "/home/runner/work/pydantic/pydantic/pydantic/_internal/_model_construction.py", line 84 in __new__
  File "/home/runner/work/pydantic/pydantic/pydantic/_internal/_generics.py", line 105 in create_generic_submodel
  File "/home/runner/work/pydantic/pydantic/pydantic/main.py", line 904 in __class_getitem__
  File "/home/runner/work/pydantic/pydantic/tests/test_generics.py", line 475 in test_generics_work_with_many_parametrized_base_models
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_callers.py", line 53 in _multicall [jit inlined]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_manager.py", line 111 in _hookexec [jit inlined]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_callers.py", line 73 in <listcomp> [jit inlined]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_callers.py", line 53 in _multicall [jit inlined]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_manager.py", line 111 in _hookexec [jit inlined]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_hooks.py", line 498 in __call__ [jitted]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_hooks.py", line 498 in __call__
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/python.py", line 1625 in runtest
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/runner.py", line 163 in pytest_runtest_call
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_callers.py", line 53 in _multicall [jit inlined]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_manager.py", line 111 in _hookexec [jitted]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_hooks.py", line 498 in __call__ [jitted]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/runner.py", line 242 in <lambda> [jit inlined]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/runner.py", line 319 in from_call [jitted]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/runner.py", line 319 in from_call
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/runner.py", line 226 in call_and_report
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/runner.py", line 118 in runtestprotocol
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/runner.py", line 110 in pytest_runtest_protocol
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_callers.py", line 53 in _multicall [jit inlined]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_manager.py", line 111 in _hookexec [jit inlined]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_callers.py", line 73 in <listcomp> [jit inlined]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_callers.py", line 53 in _multicall [jit inlined]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_manager.py", line 111 in _hookexec [jit inlined]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_hooks.py", line 498 in __call__ [jitted]
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_hooks.py", line 498 in __call__
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/main.py", line 350 in pytest_runtestloop
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_callers.py", line 53 in _multicall
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_manager.py", line 111 in _hookexec
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_hooks.py", line 498 in __call__
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/main.py", line 333 in _main
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/main.py", line 270 in wrap_session
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/main.py", line 329 in pytest_cmdline_main
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_callers.py", line 53 in _multicall
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_manager.py", line 111 in _hookexec
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/pluggy/_hooks.py", line 498 in __call__
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/config/__init__.py", line 139 in main
  File "/home/runner/work/pydantic/pydantic/.venv/lib/pypy3.11/site-packages/_pytest/config/__init__.py", line 194 in console_main
  File "/home/runner/work/pydantic/pydantic/.venv/bin/pytest", line 1 in <module>
  File "<builtin>/app_main.py", line 1081 in execfile
  File "<builtin>/app_main.py", line 144 in run_toplevel
  File "<builtin>/app_main.py", line 784 in run_command_line
  File "<builtin>/app_main.py", line 1195 in entry_point
tests/test_generics.py ...................sss

That did had Segmentation fault.

For now @Viicos - did pin down version of pypy3 in #12954 to pypy3.11.13 (last successful run was 3.11.13[pypy-7.3.20-final] here before doing that: https://github.com/pydantic/pydantic/actions/runs/23256413601/job/67612511578

@Viicos - mentioned that there could be different reason for that than proposed fix - that I successfuly tried locally and inside CI - but I have no expertise and relied on LLM helping me understand the issue - and it's more than probably only AI slop solution that @Viicos pointed out.

This probably needs more investigation to find real root cause of this behaviour (this is only impacting debug version using pypy3 newest build).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions