[Compiler-sig] Memory leaks

Neal Norwitz nnorwitz at gmail.com
Tue Oct 25 06:25:16 CEST 2005


Here are all the memory leaks from running the full regression tests
(nearly all of them, including a bunch of -u ones).  There were
multiple runs which is why the first line is repeated sometimes. 
test_builtin and test_compile demonstrate a few of the problems.  I
haven't narrowed down any more than that though.

n
--

56 bytes in 1 blocks are definitely lost in loss record 39 of 202
56 bytes in 1 blocks are definitely lost in loss record 61 of 229
56 bytes in 1 blocks are definitely lost in loss record 62 of 233
  at 0x11B19F13: malloc (vg_replace_malloc.c:149)
  by 0x4E8DEF: Num (Python-ast.c:751)
  by 0x4EFFE2: ast_for_atom (ast.c:1233)
  by 0x4F0D30: ast_for_expr (ast.c:1584)
  by 0x4EE94E: ast_for_arguments (ast.c:628)
  by 0x4EF180: ast_for_funcdef (ast.c:829)
  by 0x4F43BD: ast_for_stmt (ast.c:2881)
  by 0x4ED957: PyAST_FromNode (ast.c:233)
  by 0x4AFAE9: PyParser_ASTFromString (pythonrun.c:1280)
  by 0x4AF65C: PyRun_StringFlags (pythonrun.c:1163)
  by 0x48DD73: exec_statement (ceval.c:4221)


56 bytes in 1 blocks are definitely lost in loss record 47 of 124
   at 0x11B19F13: malloc (vg_replace_malloc.c:149)
   by 0x4E8DEF: Num (Python-ast.c:751)
   by 0x4EFFE2: ast_for_atom (ast.c:1233)
   by 0x4F0D30: ast_for_expr (ast.c:1584)
   by 0x4EE94E: ast_for_arguments (ast.c:628)
   by 0x4EF180: ast_for_funcdef (ast.c:829)
   by 0x4F43BD: ast_for_stmt (ast.c:2881)
   by 0x4ED957: PyAST_FromNode (ast.c:233)
   by 0x4AFAE9: PyParser_ASTFromString (pythonrun.c:1280)
   by 0x4AF65C: PyRun_StringFlags (pythonrun.c:1163)
   by 0x48DD73: exec_statement (ceval.c:4221)


168 bytes in 3 blocks are definitely lost in loss record  85 of 202
168 bytes in 3 blocks are definitely lost in loss record 106 of 229
168 bytes in 3 blocks are definitely lost in loss record 108 of 233
168 bytes in 3 blocks are definitely lost in loss record  56 of 124
   at 0x11B19F13: malloc (vg_replace_malloc.c:149)
   by 0x4E90EB: Name (Python-ast.c:860)
   by 0x4EFF66: ast_for_atom (ast.c:1218)
   by 0x4F0D30: ast_for_expr (ast.c:1584)
   by 0x4F1661: ast_for_testlist (ast.c:1813)
   by 0x4F17B1: ast_for_expr_stmt (ast.c:1856)
   by 0x4F41F8: ast_for_stmt (ast.c:2841)
   by 0x4EDB9F: PyAST_FromNode (ast.c:274)
   by 0x4AFAE9: PyParser_ASTFromString (pythonrun.c:1280)
   by 0x4AF9C5: Py_CompileStringFlags (pythonrun.c:1246)
   by 0x4780AE: builtin_compile (bltinmodule.c:457)


56 bytes in 1 blocks are definitely lost in loss record  35 of 202
56 bytes in 1 blocks are definitely lost in loss record 130 of 229
56 bytes in 1 blocks are definitely lost in loss record 132 of 233
56 bytes in 1 blocks are definitely lost in loss record  65 of 124
   at 0x11B19F13: malloc (vg_replace_malloc.c:149)
   by 0x4E90EB: Name (Python-ast.c:860)
   by 0x4EEA4B: ast_for_arguments (ast.c:649)
   by 0x4EF180: ast_for_funcdef (ast.c:829)
   by 0x4F43BD: ast_for_stmt (ast.c:2881)
   by 0x4ED957: PyAST_FromNode (ast.c:233)
   by 0x4AFAE9: PyParser_ASTFromString (pythonrun.c:1280)
   by 0x4AF65C: PyRun_StringFlags (pythonrun.c:1163)
   by 0x48DD73: exec_statement (ceval.c:4221)


112 (56 direct, 56 indirect) bytes in 1 blocks are definitely lost in
loss record 131 of 229
112 (56 direct, 56 indirect) bytes in 1 blocks are definitely lost in
loss record 133 of 233
112 (56 direct, 56 indirect) bytes in 1 blocks are definitely lost in
loss record  66 of 124
   at 0x11B19F13: malloc (vg_replace_malloc.c:149)
   by 0x4E8B15: GeneratorExp (Python-ast.c:648)
   by 0x4EFEF7: ast_for_genexp (ast.c:1203)
   by 0x4F006F: ast_for_atom (ast.c:1245)
   by 0x4F0D30: ast_for_expr (ast.c:1584)
   by 0x4F1661: ast_for_testlist (ast.c:1813)
   by 0x4F17B1: ast_for_expr_stmt (ast.c:1856)
   by 0x4F41F8: ast_for_stmt (ast.c:2841)
   by 0x4EDB9F: PyAST_FromNode (ast.c:274)
   by 0x4AFAE9: PyParser_ASTFromString (pythonrun.c:1280)
   by 0x4AF9C5: Py_CompileStringFlags (pythonrun.c:1246)
   by 0x4780AE: builtin_compile (bltinmodule.c:457)


112 (56 direct, 56 indirect) bytes in 1 blocks are definitely lost in
d 67 of 124
   at 0x11B19F13: malloc (vg_replace_malloc.c:149)
   by 0x4E8CB9: Call (Python-ast.c:707)
   by 0x4F0DFA: ast_for_expr (ast.c:1601)
   by 0x4F1D9D: ast_for_exprlist (ast.c:1984)
   by 0x4F1EAE: ast_for_del_stmt (ast.c:2006)
   by 0x4F4224: ast_for_stmt (ast.c:2845)
   by 0x4ED957: PyAST_FromNode (ast.c:233)
   by 0x4AFAE9: PyParser_ASTFromString (pythonrun.c:1280)
   by 0x4AF9C5: Py_CompileStringFlags (pythonrun.c:1246)
   by 0x4780AE: builtin_compile (bltinmodule.c:457)


2000 bytes in 2 blocks are definitely lost in loss record 152 of 202
2000 bytes in 2 blocks are definitely lost in loss record 179 of 229
2000 bytes in 2 blocks are definitely lost in loss record 182 of 233
2000 bytes in 2 blocks are definitely lost in loss record  85 of 124
   at 0x11B19F13: malloc (vg_replace_malloc.c:149)
   by 0x44438D: PyObject_Malloc (obmalloc.c:717)
   by 0x4447A5: _PyObject_DebugMalloc (obmalloc.c:1010)
   by 0x4125D5: tok_new (tokenizer.c:108)
   by 0x4136C2: PyTokenizer_FromString (tokenizer.c:629)
   by 0x41204D: PyParser_ParseStringFlagsFilename (parsetok.c:44)
   by 0x4AFACD: PyParser_ASTFromString (pythonrun.c:1276)
   by 0x4AF9C5: Py_CompileStringFlags (pythonrun.c:1246)
   by 0x4780AE: builtin_compile (bltinmodule.c:457)


1792 bytes in 3 blocks are definitely lost in loss record 148 of 202
  at 0x11B19F13: malloc (vg_replace_malloc.c:149)
  by 0x444019: new_arena (obmalloc.c:500)
  by 0x444368: PyObject_Malloc (obmalloc.c:699)
  by 0x4447A5: _PyObject_DebugMalloc (obmalloc.c:1010)
  by 0x4BAE57: _PyObject_GC_Malloc (gcmodule.c:1247)
  by 0x4BAEFF: _PyObject_GC_New (gcmodule.c:1268)
  by 0x4DE291: PyFunction_New (funcobject.c:12)
  by 0x488287: PyEval_EvalFrameEx (ceval.c:2238)
  by 0x48A08B: PyEval_EvalCodeEx (ceval.c:2739)
  by 0x48C4CE: fast_function (ceval.c:3658)
  by 0x48C196: call_function (ceval.c:3586)


 416 bytes in 61 blocks are definitely lost in loss record 163 of 202
 368 bytes in 78 blocks are definitely lost in loss record 194 of 229
 872 bytes in 87 blocks are definitely lost in loss record 199 of 233
5152 bytes in 92 blocks are definitely lost in loss record 101 of 124
   at 0x11B19F13: malloc (vg_replace_malloc.c:149)
   by 0x4E9209: Tuple (Python-ast.c:902)
   by 0x4F16E2: ast_for_testlist (ast.c:1826)
   by 0x4F3FD4: ast_for_classdef (ast.c:2785)
   by 0x4F43D0: ast_for_stmt (ast.c:2883)
   by 0x4ED957: PyAST_FromNode (ast.c:233)
   by 0x4AFAE9: PyParser_ASTFromString (pythonrun.c:1280)
   by 0x4AF65C: PyRun_StringFlags (pythonrun.c:1163)
   by 0x143AC0EB: init_bsddb (_bsddb.c:5327)


 3584 bytes in  8 blocks are definitely lost in loss record 164 of 202
  856 bytes in 22 blocks are definitely lost in loss record 205 of 229
10752 bytes in 24 blocks are definitely lost in loss record 209 of 233
10752 bytes in 24 blocks are definitely lost in loss record 107 of 124
   at 0x11B19F13: malloc (vg_replace_malloc.c:149)
   by 0x44438D: PyObject_Malloc (obmalloc.c:717)
   by 0x4447A5: _PyObject_DebugMalloc (obmalloc.c:1010)
   by 0x490A95: compiler_enter_scope (compile.c:1062)
   by 0x491CC0: compiler_mod (compile.c:1700)
   by 0x48E3EF: PyAST_Compile (compile.c:280)
   by 0x4AF9EB: Py_CompileStringFlags (pythonrun.c:1249)
   by 0x4780AE: builtin_compile (bltinmodule.c:457)


More information about the Compiler-sig mailing list