Skip to content

Runaway recursion on 3.13 and higher for _PY_FRAME_GENERAL #132744

Open
@Fidget-Spinner

Description

@Fidget-Spinner

Bug report

Bug description:

Reported here https://discuss.python.org/t/infinite-recursion/88900

def foo(depth = None):
    print(foo.count)
    foo.count  = 1
    return foo()

foo.count = 1
print(foo())

The problem is that normal Calls check the recursion limit remaining, but _PY_FRAME_GENERAL does not.

I'm hesitant to backport the fix to 3.13, as it might break existing code.

CPython versions tested on:

CPython main branch, 3.13

Operating systems tested on:

No response

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.13bugs and security fixes3.14bugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or error

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions