bpo-46070: _PyGC_Fini() untracks objects by vstinner · Pull Request #30577 · python/cpython

@vstinner

Py_EndInterpreter() now explicitly untracks all objects currently
tracked by the GC. Previously, if an object was used later by another
interpreter, calling PyObject_GC_UnTrack() on the object crashed if
the previous or the next object of the PyGC_Head structure became a
dangling pointer.

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request

Jan 13, 2022
Py_EndInterpreter() now explicitly untracks all objects currently
tracked by the GC. Previously, if an object was used later by another
interpreter, calling PyObject_GC_UnTrack() on the object crashed if
the previous or the next object of the PyGC_Head structure became a
dangling pointer.
(cherry picked from commit 1a4d1c1)

Co-authored-by: Victor Stinner <vstinner@python.org>

miss-islington pushed a commit to miss-islington/cpython that referenced this pull request

Jan 13, 2022
Py_EndInterpreter() now explicitly untracks all objects currently
tracked by the GC. Previously, if an object was used later by another
interpreter, calling PyObject_GC_UnTrack() on the object crashed if
the previous or the next object of the PyGC_Head structure became a
dangling pointer.
(cherry picked from commit 1a4d1c1)

Co-authored-by: Victor Stinner <vstinner@python.org>

This was referenced

Jan 13, 2022

ericsnowcurrently

miss-islington added a commit that referenced this pull request

Jan 13, 2022
Py_EndInterpreter() now explicitly untracks all objects currently
tracked by the GC. Previously, if an object was used later by another
interpreter, calling PyObject_GC_UnTrack() on the object crashed if
the previous or the next object of the PyGC_Head structure became a
dangling pointer.
(cherry picked from commit 1a4d1c1)

Co-authored-by: Victor Stinner <vstinner@python.org>

vstinner added a commit that referenced this pull request

Jan 13, 2022
Py_EndInterpreter() now explicitly untracks all objects currently
tracked by the GC. Previously, if an object was used later by another
interpreter, calling PyObject_GC_UnTrack() on the object crashed if
the previous or the next object of the PyGC_Head structure became a
dangling pointer.

(cherry picked from commit 1a4d1c1)

@graysky graysky mannequin mentioned this pull request

Apr 10, 2022