[New-bugs-announce] [issue45758] Crash on Py_DecRef'ing builtin object from previous run
Victor Milovanov
report at bugs.python.org
Mon Nov 8 18:07:35 EST 2021
New submission from Victor Milovanov <lostfreeman at gmail.com>:
Trying to Py_DecRef owned reference to builtin "iter" crashes if the reference was alive when runtime was reinitialized.
Py_Initialize();
PyObject* builtins = PyEval_GetBuiltins();
PyObject* iter = PyDict_GetItemString(builtins, "iter");
Py_IncRef(iter);
Py_Finalize();
// ----- new run starts, iter should still be alive
Py_Initialize();
Py_DecRef(iter);
Py_Finalize(); // fails inside PyGC_Collect -> validate_list
Related on StackOverflow: https://stackoverflow.com/questions/69890182/is-it-safe-to-call-py-decref-on-an-object-created-before-the-last-py-initializ
----------
components: C API
messages: 405987
nosy: Victor Milovanov
priority: normal
severity: normal
status: open
title: Crash on Py_DecRef'ing builtin object from previous run
type: crash
versions: Python 3.10, Python 3.9
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue45758>
_______________________________________
More information about the New-bugs-announce
mailing list