New submission from Stefan Krah: Hi Alexandre, the following leaks appear after 64c6d52793be. I'm not sure yet if they're caused or just exposed by the changeset.
Code: ============== import sys import pickle sys.exit(0) ============== ==8118== 864 (192 direct, 672 indirect) bytes in 3 blocks are definitely lost in loss record 2,198 of 2,365 ==8118== at 0x4C28B8C: malloc (vg_replace_malloc.c:270) ==8118== by 0x41D12A: _PyMem_RawMalloc (obmalloc.c:60) ==8118== by 0x41D5E9: PyObject_Malloc (obmalloc.c:351) ==8118== by 0x533FC9: _PyObject_GC_Malloc (gcmodule.c:1726) ==8118== by 0x534092: _PyObject_GC_New (gcmodule.c:1749) ==8118== by 0x450CDF: new_dict (dictobject.c:391) ==8118== by 0x4527BB: _PyDict_NewPresized (dictobject.c:1043) ==8118== by 0x4DCAFD: PyEval_EvalFrameEx (ceval.c:2366) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x4D3A59: PyEval_EvalCode (ceval.c:770) ==8118== by 0x4CD6BE: builtin_exec (bltinmodule.c:876) ==8118== by 0x5B11B3: PyCFunction_Call (methodobject.c:93) ==8118== by 0x4E6946: ext_do_call (ceval.c:4546) ==8118== by 0x4DFC60: PyEval_EvalFrameEx (ceval.c:2866) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x4E5BF7: fast_function (ceval.c:4332) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x5B05F2: function_call (funcobject.c:632) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x42619E: _PyObject_CallMethodIdObjArgs (abstract.c:2359) ==8118== by 0x502FBE: PyImport_ImportModuleLevelObject (import.c:1473) ==8118== by 0x4CC3EC: builtin___import__ (bltinmodule.c:210) ==8118== by 0x5B11D5: PyCFunction_Call (methodobject.c:99) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x4E4E01: PyEval_CallObjectWithKeywords (ceval.c:4101) ==8118== by 0x4DD718: PyEval_EvalFrameEx (ceval.c:2466) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x4D3A59: PyEval_EvalCode (ceval.c:770) ==8118== by 0x4CD6BE: builtin_exec (bltinmodule.c:876) ==8118== by 0x5B11B3: PyCFunction_Call (methodobject.c:93) ==8118== by 0x4E6946: ext_do_call (ceval.c:4546) ==8118== by 0x4DFC60: PyEval_EvalFrameEx (ceval.c:2866) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x4E5BF7: fast_function (ceval.c:4332) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== 2,112 (128 direct, 1,984 indirect) bytes in 2 blocks are definitely lost in loss record 2,301 of 2,365 ==8118== at 0x4C28B8C: malloc (vg_replace_malloc.c:270) ==8118== by 0x41D12A: _PyMem_RawMalloc (obmalloc.c:60) ==8118== by 0x41D5E9: PyObject_Malloc (obmalloc.c:351) ==8118== by 0x533FC9: _PyObject_GC_Malloc (gcmodule.c:1726) ==8118== by 0x4734D9: PyType_GenericAlloc (typeobject.c:784) ==8118== by 0x456438: dict_new (dictobject.c:2604) ==8118== by 0x473355: type_call (typeobject.c:751) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x4E6313: do_call (ceval.c:4454) ==8118== by 0x4E57B5: call_function (ceval.c:4252) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x4D3A59: PyEval_EvalCode (ceval.c:770) ==8118== by 0x4CD6BE: builtin_exec (bltinmodule.c:876) ==8118== by 0x5B11B3: PyCFunction_Call (methodobject.c:93) ==8118== by 0x4E6946: ext_do_call (ceval.c:4546) ==8118== by 0x4DFC60: PyEval_EvalFrameEx (ceval.c:2866) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x4E5BF7: fast_function (ceval.c:4332) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x5B05F2: function_call (funcobject.c:632) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x42619E: _PyObject_CallMethodIdObjArgs (abstract.c:2359) ==8118== by 0x502FBE: PyImport_ImportModuleLevelObject (import.c:1473) ==8118== by 0x4CC3EC: builtin___import__ (bltinmodule.c:210) ==8118== by 0x5B11D5: PyCFunction_Call (methodobject.c:99) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x4E4E01: PyEval_CallObjectWithKeywords (ceval.c:4101) ==8118== by 0x4DD718: PyEval_EvalFrameEx (ceval.c:2466) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x4D3A59: PyEval_EvalCode (ceval.c:770) ==8118== by 0x4CD6BE: builtin_exec (bltinmodule.c:876) ==8118== by 0x5B11B3: PyCFunction_Call (methodobject.c:93) ==8118== by 0x4E6946: ext_do_call (ceval.c:4546) ==8118== by 0x4DFC60: PyEval_EvalFrameEx (ceval.c:2866) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== ==8118== 2,402 (64 direct, 2,338 indirect) bytes in 1 blocks are definitely lost in loss record 2,304 of 2,365 ==8118== at 0x4C28B8C: malloc (vg_replace_malloc.c:270) ==8118== by 0x41D12A: _PyMem_RawMalloc (obmalloc.c:60) ==8118== by 0x41D5E9: PyObject_Malloc (obmalloc.c:351) ==8118== by 0x533FC9: _PyObject_GC_Malloc (gcmodule.c:1726) ==8118== by 0x534092: _PyObject_GC_New (gcmodule.c:1749) ==8118== by 0x450CDF: new_dict (dictobject.c:391) ==8118== by 0x450E4C: PyDict_New (dictobject.c:429) ==8118== by 0x45F97D: module_init (moduleobject.c:372) ==8118== by 0x47342B: type_call (typeobject.c:766) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x4E6313: do_call (ceval.c:4454) ==8118== by 0x4E57B5: call_function (ceval.c:4252) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x5B05F2: function_call (funcobject.c:632) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x42619E: _PyObject_CallMethodIdObjArgs (abstract.c:2359) ==8118== by 0x502FBE: PyImport_ImportModuleLevelObject (import.c:1473) ==8118== by 0x4CC3EC: builtin___import__ (bltinmodule.c:210) ==8118== by 0x5B11D5: PyCFunction_Call (methodobject.c:99) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x4E4E01: PyEval_CallObjectWithKeywords (ceval.c:4101) ==8118== by 0x4DD718: PyEval_EvalFrameEx (ceval.c:2466) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x4D3A59: PyEval_EvalCode (ceval.c:770) ==8118== by 0x4CD6BE: builtin_exec (bltinmodule.c:876) ==8118== by 0x5B11B3: PyCFunction_Call (methodobject.c:93) ==8118== by 0x4E6946: ext_do_call (ceval.c:4546) ==8118== by 0x4DFC60: PyEval_EvalFrameEx (ceval.c:2866) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x4E5BF7: fast_function (ceval.c:4332) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E5ACA: fast_function (ceval.c:4322) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== ==8118== 4,919 (64 direct, 4,855 indirect) bytes in 1 blocks are definitely lost in loss record 2,347 of 2,365 ==8118== at 0x4C28B8C: malloc (vg_replace_malloc.c:270) ==8118== by 0x41D12A: _PyMem_RawMalloc (obmalloc.c:60) ==8118== by 0x41D5E9: PyObject_Malloc (obmalloc.c:351) ==8118== by 0x533FC9: _PyObject_GC_Malloc (gcmodule.c:1726) ==8118== by 0x534092: _PyObject_GC_New (gcmodule.c:1749) ==8118== by 0x450CDF: new_dict (dictobject.c:391) ==8118== by 0x450E15: new_dict_with_shared_keys (dictobject.c:420) ==8118== by 0x458477: _PyObjectDict_SetItem (dictobject.c:3746) ==8118== by 0x46215A: _PyObject_GenericSetAttrWithDict (object.c:1143) ==8118== by 0x462394: PyObject_GenericSetAttr (object.c:1185) ==8118== by 0x4618E4: PyObject_SetAttr (object.c:914) ==8118== by 0x4DABEB: PyEval_EvalFrameEx (ceval.c:2111) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x5B05F2: function_call (funcobject.c:632) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x5A1348: method_call (classobject.c:347) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x482B2A: slot_tp_init (typeobject.c:5895) ==8118== by 0x47342B: type_call (typeobject.c:766) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x4E6313: do_call (ceval.c:4454) ==8118== by 0x4E57B5: call_function (ceval.c:4252) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x4E5BF7: fast_function (ceval.c:4332) ==8118== by 0x4E5796: call_function (ceval.c:4250) ==8118== by 0x4DF8C7: PyEval_EvalFrameEx (ceval.c:2826) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x5B05F2: function_call (funcobject.c:632) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x5A1348: method_call (classobject.c:347) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x42632D: PyObject_CallFunctionObjArgs (abstract.c:2381) ==8118== by 0x4DF288: PyEval_EvalFrameEx (ceval.c:2711) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x5B05F2: function_call (funcobject.c:632) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x42619E: _PyObject_CallMethodIdObjArgs (abstract.c:2359) ==8118== by 0x502FBE: PyImport_ImportModuleLevelObject (import.c:1473) ==8118== by 0x4CC3EC: builtin___import__ (bltinmodule.c:210) ==8118== by 0x5B11D5: PyCFunction_Call (methodobject.c:99) ==8118== by 0x4252E7: PyObject_Call (abstract.c:2087) ==8118== by 0x4E4E01: PyEval_CallObjectWithKeywords (ceval.c:4101) ==8118== by 0x4DD718: PyEval_EvalFrameEx (ceval.c:2466) ==8118== by 0x4E3340: PyEval_EvalCodeEx (ceval.c:3576) ==8118== by 0x4D3A59: PyEval_EvalCode (ceval.c:770) ==8118== by 0x4CD6BE: builtin_exec (bltinmodule.c:876) ==8118== by 0x5B11B3: PyCFunction_Call (methodobject.c:93) ==8118== by 0x4E6946: ext_do_call (ceval.c:4546) ==8118== by 0x4DFC60: PyEval_EvalFrameEx (ceval.c:2866) ==8118== ---------- components: Extension Modules messages: 206044 nosy: alexandre.vassalotti, skrah priority: normal severity: normal status: open title: Leak in pickle (?) type: behavior versions: Python 3.4 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue19972> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com