[Compiler-sig] Memory leaks

Neil Schemenauer nas at arctrix.com
Tue Oct 25 11:36:35 CEST 2005


On Mon, Oct 24, 2005 at 09:25:16PM -0700, Neal Norwitz wrote:
>    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)

Should be fixed.

>    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)

Should be fixed.

While poking around I noticed a large number of theoretical
leaks.  Code like:

    return Delete(expr_list, LINENO(n));

when it should be:

    r = Delete(expr_list, LINENO(n));
    if (!r)
        asdl_free_free(expr_list);
    return r;

How tedious.

  Neil


More information about the Compiler-sig mailing list