[New-bugs-announce] [issue40217] The garbage collector doesn't take in account that objects of heap allocated types hold a strong reference to their type
STINNER Victor
report at bugs.python.org
Tue Apr 7 12:23:41 EDT 2020
New submission from STINNER Victor <vstinner at python.org>:
The bpo-35810 modified the object allocate to hold a *strong* reference to the type in PyObject.ob_type, whereas PyObject.ob_type is a *borrowed* references if the type is statically allocated.
commit 364f0b0f19cc3f0d5e63f571ec9163cf41c62958
Author: Eddie Elizondo <eduardo.elizondorueda at gmail.com>
Date: Wed Mar 27 07:52:18 2019 -0400
bpo-35810: Incref heap-allocated types in PyObject_Init (GH-11661)
* Incref heap-allocated types in PyObject_Init
* Add documentation and porting notes to What's New
The problem is now in some corner cases, the GC fails to visit all referrer of a type and so considers that the type is still alive.
bpo-40149 is a concrete example of such bug.
I propose to modify the GC to take bpo-35810 in account.
... or maybe I just misunderstood bpo-40149 bug :-)
----------
components: Interpreter Core
messages: 365911
nosy: pablogsal, vstinner
priority: normal
severity: normal
status: open
title: The garbage collector doesn't take in account that objects of heap allocated types hold a strong reference to their type
versions: Python 3.9
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40217>
_______________________________________
More information about the New-bugs-announce
mailing list