Skip to content

crash in PyTuple_GET_SIZE: Assertion `PyTuple_Check(op)' failed #138479

Description

@15r10nk

Crash report

What happened?

The following code causes a crash in cpython:

classGeneric:
def__call__(*a):
print(a)
def__getattr__(self, name):
returnGeneric()
name_5=Generic()
type name_3[*name_2] =0name_3[name_5][0]

output:

(<__main__.Genericobjectat0x7fb99dc5a280>, name_3[<__main__.Genericobjectat0x7fb99d792420>], (0,))
(<__main__.Genericobjectat0x7fb99dbd7960>, None)
python3: ./Include/cpython/tupleobject.h:24: PyTuple_GET_SIZE: Assertion `PyTuple_Check(op)' failed.
fish: Job1, '../cpython/install/bin/python3 …'terminatedbysignalSIGABRT (Abbruch)

I found this example while fuzzing with pysource-codegen.

CPython versions tested on:

3.12, 3.13, 3.14, 3.15

Operating systems tested on:

Linux

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

Python 3.14.0rc2+ (heads/3.14:45a79b4f4b7, Sep 3 2025, 22:05:34) [GCC 12.2.0]

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.13bugs and security fixes3.14bugs and security fixes3.15pre-release feature fixes, bugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)type-crashA hard crash of the interpreter, possibly with a core dump

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions