Skip to content

Assertion failures from _interpchannels._register_end_types  #127234

Open
@devdanzin

Description

@devdanzin

Crash report

What happened?

It's possible to abort a debug build by calling _interpchannels._register_end_types with invalid values:

import _interpchannels

_interpchannels._register_end_types(int, int)

Abort on 3.13:

python: Python/crossinterp_data_lookup.h:260: _PyCrossInterpreterData_RegisterClass: Assertion `matched->getdata == getdata' failed.
Aborted

Abort on main:

python: Python/crossinterp_data_lookup.h:271: _PyXIData_RegisterClass: Assertion `matched->getdata == getdata' failed.
Aborted

Found using fusil by @vstinner.

CPython versions tested on:

3.13, 3.14, CPython main branch

Operating systems tested on:

Linux

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

Python 3.13.0+ (heads/3.13:746a0c5, Nov 20 2024, 21:39:05) [GCC 13.2.0]

Activity

added
type-crashA hard crash of the interpreter, possibly with a core dump
on Nov 24, 2024
added
3.13bugs and security fixes
3.14new features, bugs and security fixes
on Nov 25, 2024
ZeroIntensity

ZeroIntensity commented on Nov 25, 2024

@ZeroIntensity
Member

I'm not sure this is worth fixing. _interpchannels is completely private--the difference with _intepreters is that it's eventually going to be exposed publicly with PEP 734 as a wrapper over it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    3.13bugs and security fixes3.14new features, bugs and security fixesextension-modulesC modules in the Modules dirtopic-subinterpreterstype-crashA hard crash of the interpreter, possibly with a core dump

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @ZeroIntensity@devdanzin

        Issue actions

          Assertion failures from `_interpchannels._register_end_types` · Issue #127234 · python/cpython