https://github.com/python/cpython/commit/14ab7c775a5e296432e5cbe73e36b25da61730f7
commit: 14ab7c775a5e296432e5cbe73e36b25da61730f7
branch: 3.15
author: Miss Islington (bot) <[email protected]>
committer: JelleZijlstra <[email protected]>
date: 2026-10-21T11:48:47-07:00
summary:

[3.15] gh-159739: Break reference cycles involving property objects (GH-159978) 
(#160014)


(cherry picked from commit 4101d59902bed8278fb50d6ac50e7227e3fe12ab)

Co-authored-by: Jelle Zijlstra <[email protected]>

files:
A 
Misc/NEWS.d/next/Core_and_Builtins/2026-10-20-00-00-00.gh-issue-159739.848b18.rst
M Objects/descrobject.c

diff --git 
a/Misc/NEWS.d/next/Core_and_Builtins/2026-10-20-00-00-00.gh-issue-159739.848b18.rst
 
b/Misc/NEWS.d/next/Core_and_Builtins/2026-10-20-00-00-00.gh-issue-159739.848b18.rst
new file mode 100644
index 000000000000000..07f842471b4d0f2
--- /dev/null
+++ 
b/Misc/NEWS.d/next/Core_and_Builtins/2026-10-20-00-00-00.gh-issue-159739.848b18.rst
@@ -0,0 +1,2 @@
+Allow the garbage collector to break reference cycles involving property
+accessors or names.
diff --git a/Objects/descrobject.c b/Objects/descrobject.c
index cfcafb56d46cc39..bf78e17ad1ad0ef 100644
--- a/Objects/descrobject.c
+++ b/Objects/descrobject.c
@@ -2012,7 +2012,11 @@ static int
 property_clear(PyObject *self)
 {
     propertyobject *pp = (propertyobject *)self;
+    Py_CLEAR(pp->prop_get);
+    Py_CLEAR(pp->prop_set);
+    Py_CLEAR(pp->prop_del);
     Py_CLEAR(pp->prop_doc);
+    Py_CLEAR(pp->prop_name);
     return 0;
 }
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to