Open
Description
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]
Metadata
Metadata
Assignees
Labels
Projects
Status
Todo
Milestone
Relationships
Development
No branches or pull requests
Activity
ZeroIntensity commentedon Nov 25, 2024
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.