This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2012年12月15日 01:39 by bfroehle, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| heaptype_refcnt_testcases.py | bfroehle, 2012年12月20日 01:18 | |||
| Messages (6) | |||
|---|---|---|---|
| msg177527 - (view) | Author: Bradley Froehle (bfroehle) * | Date: 2012年12月15日 01:39 | |
There is a reference leak when using PyType_FromSpec with custom tp_dealloc. This was first noted in issue #15142, where a fix was given which only applies to types which do not override tp_dealloc. For example, the xxlimited.Xxo type suffers from this: Python 3.3.0 (default, Oct 26 2012, 11:06:17) [GCC 4.6.3] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import xxlimited >>> import sys >>> Xxo = type(xxlimited.new()) >>> e = Xxo() >>> sys.getrefcount(Xxo) 7 >>> e = Xxo() >>> sys.getrefcount(Xxo) 8 >>> e = Xxo() >>> sys.getrefcount(Xxo) 9 |
|||
| msg177528 - (view) | Author: Bradley Froehle (bfroehle) * | Date: 2012年12月15日 02:06 | |
I see this issue came up in the course of #15653 as well. |
|||
| msg177794 - (view) | Author: Bradley Froehle (bfroehle) * | Date: 2012年12月20日 01:18 | |
The attached file `heaptype_refcnt_testcases.py` runs through several test cases (ssl.SSLError, a subclass of ssl.SSLError, and xxlimited.Xxo) seeing if references are leaked in each instance. Unfortunately `xxlimited.Xxo` isn't set to be a base type and I don't know of any other types in the default install which use PyType_FromSpec with a custom tp_dealloc. |
|||
| msg244420 - (view) | Author: Alyssa Coghlan (ncoghlan) * (Python committer) | Date: 2015年05月29日 21:29 | |
The new test cases for PEP 489 (multi-phase extension module import) appear to be encountering this leak. See issue 24268 for context. |
|||
| msg244814 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2015年06月04日 11:58 | |
New changeset 265eeb60443a by Nick Coghlan in branch '3.5': Issue #24373: Eliminate PEP 489 test refleaks https://hg.python.org/cpython/rev/265eeb60443a |
|||
| msg352187 - (view) | Author: Petr Viktorin (petr.viktorin) * (Python committer) | Date: 2019年09月12日 14:43 | |
This is fixed in Python 3.5+. |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:39 | admin | set | github: 60894 |
| 2019年09月12日 14:43:43 | petr.viktorin | set | status: open -> closed resolution: fixed messages: + msg352187 stage: resolved |
| 2015年06月04日 11:58:34 | python-dev | set | nosy:
+ python-dev messages: + msg244814 |
| 2015年05月29日 21:29:34 | ncoghlan | set | nosy:
+ petr.viktorin messages: + msg244420 |
| 2015年05月29日 21:26:17 | ncoghlan | set | nosy:
+ ncoghlan |
| 2012年12月20日 01:18:48 | bfroehle | set | files:
+ heaptype_refcnt_testcases.py messages: + msg177794 |
| 2012年12月19日 18:45:07 | bfroehle | set | nosy:
+ pitrou |
| 2012年12月15日 15:45:51 | pitrou | set | nosy:
+ loewis, Robin.Schreiber |
| 2012年12月15日 02:06:20 | bfroehle | set | messages: + msg177528 |
| 2012年12月15日 01:39:25 | bfroehle | create | |