15r10nk · GitHub

Crash report

What happened?

The following code causes a crash in cpython:

class Generic:
    def __call__(*a):
        print(a)
    def __getattr__(self, name):
        return Generic()
name_5 = Generic()
type name_3[*name_2] = 0
name_3[name_5][0]

output:

(<__main__.Generic object at 0x7fb99dc5a280>, name_3[<__main__.Generic object at 0x7fb99d792420>], (0,))
(<__main__.Generic object at 0x7fb99dbd7960>, None)
python3: ./Include/cpython/tupleobject.h:24: PyTuple_GET_SIZE: Assertion `PyTuple_Check(op)' failed.
fish: Job 1, '../cpython/install/bin/python3 …' terminated by signal SIGABRT (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

Read the original on github.com ↗