-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
Closed
Closed
Copy link
Labels
3.13bugs and security fixesbugs and security fixes3.14bugs and security fixesbugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Lines 72 to 85 in 6c450f4
#undef Py_DECREF | |
#define Py_DECREF(arg) \ | |
do { \ | |
PyObject *op = _PyObject_CAST(arg); \ | |
if (_Py_IsImmortal(op)) { \ | |
_Py_DECREF_IMMORTAL_STAT_INC(); \ | |
break; \ | |
} \ | |
_Py_DECREF_STAT_INC(); \ | |
if (--op->ob_refcnt == 0) { \ | |
destructor dealloc = Py_TYPE(op)->tp_dealloc; \ | |
(*dealloc)(op); \ | |
} \ | |
} while (0) |
Tracemalloc only handles PyRefTracer_CREATE
events and we don't have any tests for PyRefTracer_DESTROY
events.
EDIT: _testcapimodule.c
tests PyRefTracer_DESTROY
events, but only through the C API and not the Python interpreter.
Linked PRs
Metadata
Metadata
Assignees
Labels
3.13bugs and security fixesbugs and security fixes3.14bugs and security fixesbugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)type-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error