Issue35774
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 2019-01-18 12:28 by Dhiraj_Mishra, last changed 2022-04-11 14:59 by admin. This issue is now closed.
Messages (2) | |||
---|---|---|---|
msg333958 - (view) | Author: Dhiraj (Dhiraj_Mishra) * | Date: 2019-01-18 12:28 | |
Hi Team, I have compiled cpython via clang using ASAN and memory leak was observed. After successful build of python, 1. Run python 2. Ctrl + D ==21461==ERROR: LeakSanitizer: detected memory leaks Direct leak of 257790 byte(s) in 93 object(s) allocated from: #0 0x4f1460 in malloc (/home/input0/Desktop/cpython/python+0x4f1460) #1 0x63fc59 in PyMem_RawMalloc /home/input0/Desktop/cpython/Objects/obmalloc.c:527:12 #2 0x63fc59 in _PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:1550 #3 0x644d77 in PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:640:12 Direct leak of 1640 byte(s) in 3 object(s) allocated from: #0 0x4f1460 in malloc (/home/input0/Desktop/cpython/python+0x4f1460) #1 0x63fc59 in PyMem_RawMalloc /home/input0/Desktop/cpython/Objects/obmalloc.c:527:12 #2 0x63fc59 in _PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:1550 #3 0x644d77 in PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:640:12 #4 0x96cea4 in _PyObject_GC_Malloc /home/input0/Desktop/cpython/Modules/gcmodule.c:1908:12 #5 0x96cea4 in _PyObject_GC_NewVar /home/input0/Desktop/cpython/Modules/gcmodule.c:1937 Direct leak of 663 byte(s) in 1 object(s) allocated from: #0 0x4f1460 in malloc (/home/input0/Desktop/cpython/python+0x4f1460) #1 0x63fc59 in PyMem_RawMalloc /home/input0/Desktop/cpython/Objects/obmalloc.c:527:12 #2 0x63fc59 in _PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:1550 #3 0x644d77 in PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:640:12 #4 0x8b9dd8 in r_object /home/input0/Desktop/cpython/Python/marshal.c:1362:20 #5 0x8b84a5 in r_object /home/input0/Desktop/cpython/Python/marshal.c:1194:18 #6 0x8b9e09 in r_object /home/input0/Desktop/cpython/Python/marshal.c:1365:22 #7 0x8bf86a in read_object /home/input0/Desktop/cpython/Python/marshal.c:1451:9 #8 0x8bf86a in marshal_loads_impl /home/input0/Desktop/cpython/Python/marshal.c:1763 #9 0x8bf86a in marshal_loads /home/input0/Desktop/cpython/Python/clinic/marshal.c.h:158 #10 0x564da7 in _PyMethodDef_RawFastCallKeywords /home/input0/Desktop/cpython/Objects/call.c Direct leak of 579 byte(s) in 1 object(s) allocated from: #0 0x4f1460 in malloc (/home/input0/Desktop/cpython/python+0x4f1460) #1 0x63fc59 in PyMem_RawMalloc /home/input0/Desktop/cpython/Objects/obmalloc.c:527:12 #2 0x63fc59 in _PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:1550 #3 0x644d77 in PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:640:12 #4 0x8b9dd8 in r_object /home/input0/Desktop/cpython/Python/marshal.c:1362:20 #5 0x8b84a5 in r_object /home/input0/Desktop/cpython/Python/marshal.c:1194:18 #6 0x8b9e09 in r_object /home/input0/Desktop/cpython/Python/marshal.c:1365:22 #7 0x8b84a5 in r_object /home/input0/Desktop/cpython/Python/marshal.c:1194:18 #8 0x8b9e09 in r_object /home/input0/Desktop/cpython/Python/marshal.c:1365:22 #9 0x8b409d in PyMarshal_ReadObjectFromString /home/input0/Desktop/cpython/Python/marshal.c:1568:14 #10 0x8a0d81 in get_frozen_object /home/input0/Desktop/cpython/Python/import.c:1277:12 #11 0x8a0d81 in _imp_get_frozen_object_impl /home/input0/Desktop/cpython/Python/import.c:2036 #12 0x8a0d81 in _imp_get_frozen_object /home/input0/Desktop/cpython/Python/clinic/import.c.h:198 #13 0x5623eb in _PyCFunction_FastCallDict /home/input0/Desktop/cpython/Objects/call.c:584:14 #14 0x5623eb in PyCFunction_Call /home/input0/Desktop/cpython/Objects/call.c:789 Direct leak of 536 byte(s) in 1 object(s) allocated from: #0 0x4f1460 in malloc (/home/input0/Desktop/cpython/python+0x4f1460) #1 0x6403b0 in PyMem_RawMalloc /home/input0/Desktop/cpython/Objects/obmalloc.c:527:12 #2 0x6403b0 in _PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:1550 #3 0x6403b0 in pymalloc_realloc /home/input0/Desktop/cpython/Objects/obmalloc.c:1869 #4 0x6403b0 in _PyObject_Realloc /home/input0/Desktop/cpython/Objects/obmalloc.c:1888 #5 0x644ead in PyObject_Realloc /home/input0/Desktop/cpython/Objects/obmalloc.c:658:12 Indirect leak of 15640 byte(s) in 17 object(s) allocated from: #0 0x4f1460 in malloc (/home/input0/Desktop/cpython/python+0x4f1460) #1 0x63fc59 in PyMem_RawMalloc /home/input0/Desktop/cpython/Objects/obmalloc.c:527:12 #2 0x63fc59 in _PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:1550 #3 0x644d77 in PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:640:12 #4 0x675f9a in PyType_GenericAlloc /home/input0/Desktop/cpython/Objects/typeobject.c:975:15 Indirect leak of 7440 byte(s) in 7 object(s) allocated from: #0 0x4f1460 in malloc (/home/input0/Desktop/cpython/python+0x4f1460) #1 0x63fc59 in PyMem_RawMalloc /home/input0/Desktop/cpython/Objects/obmalloc.c:527:12 #2 0x63fc59 in _PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:1550 #3 0x644d77 in PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:640:12 Indirect leak of 2571 byte(s) in 2 object(s) allocated from: #0 0x4f1460 in malloc (/home/input0/Desktop/cpython/python+0x4f1460) #1 0x63fc59 in PyMem_RawMalloc /home/input0/Desktop/cpython/Objects/obmalloc.c:527:12 #2 0x63fc59 in _PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:1550 #3 0x644d77 in PyObject_Malloc /home/input0/Desktop/cpython/Objects/obmalloc.c:640:12 #4 0x687d07 in type_call /home/input0/Desktop/cpython/Objects/typeobject.c:934:11 SUMMARY: AddressSanitizer: 286859 byte(s) leaked in 125 allocation(s). |
|||
msg411960 - (view) | Author: STINNER Victor (vstinner) * | Date: 2022-01-28 02:24 | |
> 1. Run python > 2. Ctrl + D It seems like this scenario has recently been fixed in bpo-1635741: $ ./python -I -X showrefcount Python 3.11.0a4+ (heads/main:18ea973c21, Jan 28 2022, 01:38:10) [GCC 11.2.1 20211203 (Red Hat 11.2.1-7)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> exit() [-4 refs, 1 blocks] If you still see memory leaks in Python 3.11, please better describe what you do to "Run python" and open a new issue ;-) |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:59:10 | admin | set | github: 79955 |
2022-01-28 02:24:27 | vstinner | set | status: open -> closed superseder: Py_Finalize() doesn't clear all Python objects at exit nosy: + vstinner messages: + msg411960 resolution: duplicate stage: resolved |
2019-01-18 12:33:26 | xtreak | set | nosy:
+ gregory.p.smith |
2019-01-18 12:28:26 | Dhiraj_Mishra | create |