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

Reply via email to