Skip to content

Runaway recursion with keyword arguments in 3.14 #137883

@jrivers0

Description

@jrivers0

Bug report

Bug description:

def f(a=0):
    f(a=0)
f()

This code causes an infinite loop (until it runs out of memory) in Python 3.14. It raises RecursionError in Python 3.13. There is no problem when calling the function without a keyword argument; in that case, it also raises RecursionError as expected.

CPython versions tested on:

3.13, 3.14, CPython main branch

Operating systems tested on:

macOS

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.14bugs and security fixes3.15new features, bugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)release-blockertype-bugAn unexpected behavior, bug, or error

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions