[issue13090] test_multiprocessing: memory leaks

Stefan Krah report at bugs.python.org
Wed Feb 15 22:56:42 CET 2012


Stefan Krah <stefan-usenet at bytereef.org> added the comment:

Yes, the leak does not seem to be in posix_read() itself. Sadly
enough, the number of leaks in test_multiprocessing has grown to
five in e9d01c5c92ed (the four additional ones were definitely not
present when I reported this).


==3047== 32 bytes in 1 blocks are definitely lost in loss record 340 of 6,704
==3047==    at 0x4C27878: malloc (vg_replace_malloc.c:236)
==3047==    by 0x4D5C35: PyThread_allocate_lock (thread_pthread.h:280)
==3047==    by 0x4A817C: _PyImport_AcquireLock (import.c:292)
==3047==    by 0x4ADE7A: PyImport_ImportModuleLevelObject (import.c:2903)
==3047==    by 0x4ADF64: PyImport_ImportModuleLevel (import.c:2922)
==3047==    by 0x4AF8BB: PyImport_Import (import.c:3510)
==3047==    by 0x4AD8AF: PyImport_ImportModule (import.c:2728)
==3047==    by 0x5567E9: _PyExc_Init (exceptions.c:2345)
==3047==    by 0x4BBA8F: Py_InitializeEx (pythonrun.c:277)
==3047==    by 0x4BBCA8: Py_Initialize (pythonrun.c:341)
==3047==    by 0x4D875C: Py_Main (main.c:595)
==3047==    by 0x41ABFF: main (python.c:63)
==3047== 


==3047== 37 bytes in 1 blocks are definitely lost in loss record 390 of 6,704
==3047==    at 0x4C27878: malloc (vg_replace_malloc.c:236)
==3047==    by 0x53F997: PyBytes_FromStringAndSize (bytesobject.c:98)
==3047==    by 0x4E5AB8: posix_read (posixmodule.c:7010)
==3047==    by 0x57B4AD: PyCFunction_Call (methodobject.c:81)
==3047==    by 0x490397: call_function (ceval.c:4051)
==3047==    by 0x48B826: PyEval_EvalFrameEx (ceval.c:2674)
==3047==    by 0x48E509: PyEval_EvalCodeEx (ceval.c:3426)
==3047==    by 0x4908D7: fast_function (ceval.c:4149)
==3047==    by 0x4904EA: call_function (ceval.c:4072)
==3047==    by 0x48B826: PyEval_EvalFrameEx (ceval.c:2674)
==3047==    by 0x48E509: PyEval_EvalCodeEx (ceval.c:3426)
==3047==    by 0x4908D7: fast_function (ceval.c:4149)
==3047== 


==3047== 72 bytes in 1 blocks are definitely lost in loss record 2,859 of 6,704
==3047==    at 0x4C27878: malloc (vg_replace_malloc.c:236)
==3047==    by 0x4DA93E: _PyObject_GC_Malloc (gcmodule.c:1455)
==3047==    by 0x4DAA5A: _PyObject_GC_NewVar (gcmodule.c:1487)
==3047==    by 0x427A77: PyTuple_New (tupleobject.c:91)
==3047==    by 0x427F3A: PyTuple_Pack (tupleobject.c:195)
==3047==    by 0x494607: compiler_add_o (compile.c:1024)
==3047==    by 0x4947EA: compiler_addop_o (compile.c:1056)
==3047==    by 0x49B1BB: compiler_visit_expr (compile.c:3341)
==3047==    by 0x49AEBB: compiler_visit_expr (compile.c:3293)
==3047==    by 0x498B3A: compiler_visit_stmt (compile.c:2411)
==3047==    by 0x494B32: compiler_body (compile.c:1247)
==3047==    by 0x494C33: compiler_mod (compile.c:1267)


==3047== 120 bytes in 3 blocks are definitely lost in loss record 3,649 of 6,704
==3047==    at 0x4C27878: malloc (vg_replace_malloc.c:236)
==3047==    by 0x4DC686: thread_PyThread_start_new_thread (_threadmodule.c:1052)
==3047==    by 0x57B4AD: PyCFunction_Call (methodobject.c:81)
==3047==    by 0x490397: call_function (ceval.c:4051)
==3047==    by 0x48B826: PyEval_EvalFrameEx (ceval.c:2674)
==3047==    by 0x4907CB: fast_function (ceval.c:4139)
==3047==    by 0x4904EA: call_function (ceval.c:4072)
==3047==    by 0x48B826: PyEval_EvalFrameEx (ceval.c:2674)
==3047==    by 0x48E509: PyEval_EvalCodeEx (ceval.c:3426)
==3047==    by 0x56263C: function_call (funcobject.c:669)
==3047==    by 0x532B87: PyObject_Call (abstract.c:2150)
==3047==    by 0x549EF6: method_call (classobject.c:320)


==3047== 120 bytes in 3 blocks are definitely lost in loss record 3,650 of 6,704
==3047==    at 0x4C27878: malloc (vg_replace_malloc.c:236)
==3047==    by 0x4DC686: thread_PyThread_start_new_thread (_threadmodule.c:1052)
==3047==    by 0x57B4AD: PyCFunction_Call (methodobject.c:81)
==3047==    by 0x490397: call_function (ceval.c:4051)
==3047==    by 0x48B826: PyEval_EvalFrameEx (ceval.c:2674)
==3047==    by 0x4907CB: fast_function (ceval.c:4139)
==3047==    by 0x4904EA: call_function (ceval.c:4072)
==3047==    by 0x48B826: PyEval_EvalFrameEx (ceval.c:2674)
==3047==    by 0x48E509: PyEval_EvalCodeEx (ceval.c:3426)
==3047==    by 0x4908D7: fast_function (ceval.c:4149)
==3047==    by 0x4904EA: call_function (ceval.c:4072)
==3047==    by 0x48B826: PyEval_EvalFrameEx (ceval.c:2674)

----------
title: posix_read: memory leak -> test_multiprocessing: memory leaks

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13090>
_______________________________________


More information about the Python-bugs-list mailing list