davidmalcolm / gcc-python-plugin

GCC plugin that embeds CPython inside the compiler
GNU General Public License v3.0
197 stars 58 forks source link

Segfault compiling while using a plugin #186

Open MasterDuke17 opened 4 years ago

MasterDuke17 commented 4 years ago

I created a plugin to check some potential errors in MoarVM. It runs fine for the most part, but I can reliable get it to segfault on a particular source file (https://github.com/MoarVM/MoarVM/blob/master/src/io/filewatchers.c#L93). Below is valgrind output.

$ PYTHONPATH=/home/dan/Source/gcc-python-plugin/ LD_LIBRARY_PATH=. valgrind --trace-children=yes gcc -c -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Wno-missing-braces -Werror=pointer-arith -g3  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC -DDEBUG_HELPERS -DHAVE_TELEMEH -DMVM_HEAPSNAPSHOT_FORMAT=3 -DMVM_TRACING=0 -DMVM_CGOTO=1 -DMVM_RDTSCP=1 -fplugin=python.so -fplugin-arg-python-script=tools/check-throw-without-free.py -Wno-return-type -Wno-implicit-fallthrough -DMVM_BUILD_SHARED -fPIC -I3rdparty/libuv/include -I3rdparty/libuv/src -I3rdparty/libatomicops/src -I3rdparty/libtommath -I3rdparty/dyncall/dynload -I3rdparty/dyncall/dyncall -I3rdparty/dyncall/dyncallback -I3rdparty/sha1 -isystem3rdparty/tinymt -isystem3rdparty/dynasm -isystem3rdparty/cmp -isystem3rdparty -Isrc -o src/io/filewatchers.o src/io/filewatchers.c
==357707== Memcheck, a memory error detector
==357707== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==357707== Using Valgrind-3.16.0.GIT and LibVEX; rerun with -h for copyright info
==357707== Command: gcc -c -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Wno-missing-braces -Werror=pointer-arith -g3 -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC -DDEBUG_HELPERS -DHAVE_TELEMEH -DMVM_HEAPSNAPSHOT_FORMAT=3 -DMVM_TRACING=0 -DMVM_CGOTO=1 -DMVM_RDTSCP=1 -fplugin=python.so -fplugin-arg-python-script=tools/check-throw-without-free.py -Wno-return-type -Wno-implicit-fallthrough -DMVM_BUILD_SHARED -fPIC -I3rdparty/libuv/include -I3rdparty/libuv/src -I3rdparty/libatomicops/src -I3rdparty/libtommath -I3rdparty/dyncall/dynload -I3rdparty/dyncall/dyncall -I3rdparty/dyncall/dyncallback -I3rdparty/sha1 -isystem3rdparty/tinymt -isystem3rdparty/dynasm -isystem3rdparty/cmp -isystem3rdparty -Isrc -o src/io/filewatchers.o src/io/filewatchers.c
==357707== 
==357708== Memcheck, a memory error detector
==357708== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==357708== Using Valgrind-3.16.0.GIT and LibVEX; rerun with -h for copyright info
==357708== Command: /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/cc1 -quiet -I 3rdparty/libuv/include -I 3rdparty/libuv/src -I 3rdparty/libatomicops/src -I 3rdparty/libtommath -I 3rdparty/dyncall/dynload -I 3rdparty/dyncall/dyncall -I 3rdparty/dyncall/dyncallback -I 3rdparty/sha1 -I src -dD -iplugindir=/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/plugin -D _REENTRANT -D _FILE_OFFSET_BITS=64 -D DEBUG_HELPERS -D HAVE_TELEMEH -D MVM_HEAPSNAPSHOT_FORMAT=3 -D MVM_TRACING=0 -D MVM_CGOTO=1 -D MVM_RDTSCP=1 -D MVM_BUILD_SHARED -isystem 3rdparty/tinymt -isystem 3rdparty/dynasm -isystem 3rdparty/cmp -isystem 3rdparty src/io/filewatchers.c -iplugindir=/usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/plugin -quiet -dumpbase filewatchers.c -mtune=generic -march=x86-64 -auxbase-strip src/io/filewatchers.o -g3 -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Wno-missing-braces -Werror=pointer-arith -Wno-return-type -Wimplicit-fallthrough=0 -fplugin=python.so -fplugin-arg-python-script=tools/check-throw-without-free.py -fPIC -o /tmp/ccsxfJxj.s
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x5873702: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58C89BF: tupledealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F9702: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D271: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x4f9c020 is 1,792 bytes inside a block of size 2,731 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x591BE25: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x591BDED: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D2C84: string_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F96CD: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D271: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D061: PyImport_ExecCodeModuleEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x4ff5020 is 3,920 bytes inside a block of size 4,096 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x4C73BB4: _IO_setb (in /usr/lib/libc-2.31.so)
==357708==    by 0x4C720F4: _IO_file_close_it@@GLIBC_2.2.5 (in /usr/lib/libc-2.31.so)
==357708==    by 0x4C65195: fclose@@GLIBC_2.2.5 (in /usr/lib/libc-2.31.so)
==357708==    by 0x591D21A: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x4C64F63: _IO_file_doallocate (in /usr/lib/libc-2.31.so)
==357708==    by 0x4C73C0F: _IO_doallocbuf (in /usr/lib/libc-2.31.so)
==357708==    by 0x4C72B4B: _IO_file_underflow@@GLIBC_2.2.5 (in /usr/lib/libc-2.31.so)
==357708==    by 0x4C73CC5: _IO_default_uflow (in /usr/lib/libc-2.31.so)
==357708==    by 0x588EA50: r_long (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588F251: PyMarshal_ReadLongFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D1D1: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D2C84: string_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F96CD: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58C897F: tupledealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F96E7: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D271: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x4fe2020 is 288 bytes inside a block of size 576 free'd
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58EBC1E: PyList_Append (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893B89: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893C71: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893942: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CDA: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893942: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BD47: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BE19: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58EBC1E: PyList_Append (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893B89: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CDA: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893958: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CDA: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893942: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BD47: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BE19: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x5873702: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58C89BF: tupledealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F96E7: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D271: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x4f90020 is 10,672 bytes inside a block of size 11,416 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x591BE25: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x591BDED: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x5873702: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F9793: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D271: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D061: PyImport_ExecCodeModuleEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x4f92020 is 112 bytes inside a block of size 1,008 free'd
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58EBC1E: PyList_Append (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893B89: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CB3: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893958: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CDA: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893942: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BD47: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BE19: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58EBC1E: PyList_Append (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893B89: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CDA: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893942: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CDA: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893942: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BD47: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BE19: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D2C84: string_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F9784: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D271: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x50f4020 is 2,976 bytes inside a block of size 4,784 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x58EE275: list_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BD61: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BE19: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58EBC1E: PyList_Append (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893B89: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CDA: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893942: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BD47: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BE19: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Conditional jump or move depends on uninitialised value(s)
==357708==    at 0x587370B: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909A05: PyGrammar_AddAccelerators (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909BA4: PyParser_New (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909BE5: parsetok (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E88F: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E8F1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Use of uninitialised value of size 8
==357708==    at 0x5873723: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909A05: PyGrammar_AddAccelerators (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909BA4: PyParser_New (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909BE5: parsetok (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E88F: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E8F1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x5873702: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909A05: PyGrammar_AddAccelerators (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909BA4: PyParser_New (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909BE5: parsetok (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E88F: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E8F1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5138020 is 656 bytes inside a block of size 676 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x5909A05: PyGrammar_AddAccelerators (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909BA4: PyParser_New (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909BE5: parsetok (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E88F: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E8F1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x590952A: PyGrammar_AddAccelerators (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909BA4: PyParser_New (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909BE5: parsetok (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E88F: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E8F1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x5873702: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5905D4F: freechildren (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5905D75: freechildren (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5905DB0: freechildren (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x590601D: PyNode_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E842: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E8F1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5196020 is 35,472 bytes inside a block of size 36,032 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x5909DA3: parsetok (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E88F: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E8F1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x5909B11: PyParser_New (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5909BE5: parsetok (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E88F: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E8F1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D8133: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A1BAC: compiler_addop_i.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A26F3: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920585: compiler_body (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4420: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E914: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5197020 is 432 bytes inside a block of size 464 free'd
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58EBC1E: PyList_Append (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588F2C1: PyArena_AddPyObject (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B3315: ast_for_expr.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B265C: ast_for_testlist.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B35E3: ast_for_expr.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B26D4: ast_for_testlist.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B4572: ast_for_stmt.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B5FE0: PyAST_FromNode (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E836: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E8F1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58EBC1E: PyList_Append (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588F2C1: PyArena_AddPyObject (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B33EA: ast_for_expr.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B26D4: ast_for_testlist.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B453A: ast_for_stmt.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B5FE0: PyAST_FromNode (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E836: PyParser_ASTFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E8F1: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D2C84: string_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A0787: assemble.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A43A2: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E914: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x519a020 is 11 bytes after a block of size 549 free'd
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58CA69D: _PyString_Resize (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A0421: assemble.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A43A2: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E914: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x58D81A8: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58CA69D: _PyString_Resize (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A03CA: assemble.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A43A2: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E914: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x5873702: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591FC3C: compiler_unit_free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x59201F2: compiler_exit_scope.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A43AD: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E914: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5198020 is 432 bytes inside a block of size 768 free'd
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58A1BAC: compiler_addop_i.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A26F3: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920585: compiler_body (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4420: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E914: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x58D81A8: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A1BAC: compiler_addop_i.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A0C76: compiler_visit_expr.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A0DCA: compiler_visit_expr.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A26C2: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920585: compiler_body (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4420: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x588E914: PyRun_StringFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ADA72: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D2C84: string_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58DBB4B: dict_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5751: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D061: PyImport_ExecCodeModuleEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D25D: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5134020 is 2,048 bytes inside a block of size 4,096 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x4C73BB4: _IO_setb (in /usr/lib/libc-2.31.so)
==357708==    by 0x4C720F4: _IO_file_close_it@@GLIBC_2.2.5 (in /usr/lib/libc-2.31.so)
==357708==    by 0x4C65195: fclose@@GLIBC_2.2.5 (in /usr/lib/libc-2.31.so)
==357708==    by 0x593F2D8: close_the_file (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F4ADB: file_close.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5900972: _PyObject_CallMethod_SizeT (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x593F711: file_exit.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF7D9: PyObject_CallFunctionObjArgs (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A8A0B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x4C64F63: _IO_file_doallocate (in /usr/lib/libc-2.31.so)
==357708==    by 0x4C73C0F: _IO_doallocbuf (in /usr/lib/libc-2.31.so)
==357708==    by 0x4C71B9B: _IO_file_xsgetn (in /usr/lib/libc-2.31.so)
==357708==    by 0x4C65FB2: fread (in /usr/lib/libc-2.31.so)
==357708==    by 0x58F18AC: Py_UniversalNewlineFread (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F4F9B: file_iternext.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F7ECE: enum_next.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6DB3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D2C84: string_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F96CD: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D271: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D999: import_submodule.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895BF3: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5b23020 is 34,192 bytes inside a block of size 36,636 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x591BE25: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D999: import_submodule.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895BF3: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x591BDED: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D999: import_submodule.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895BF3: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x5873702: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F9793: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D271: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D999: import_submodule.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895BF3: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5b29020 is 928 bytes inside a block of size 1,608 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x58EE275: list_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BD61: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BE19: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D999: import_submodule.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895BF3: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58EBC1E: PyList_Append (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893B89: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CDA: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893942: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BD47: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BE19: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D999: import_submodule.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895BF3: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D2C84: string_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F9784: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D271: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D999: import_submodule.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591C379: ensure_fromlist.part.0.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896968: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5b4a020 is 1,600 bytes inside a block of size 3,240 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x58EE275: list_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BD61: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BE19: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D999: import_submodule.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591C379: ensure_fromlist.part.0.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896968: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58EBC1E: PyList_Append (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893B89: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CDA: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893942: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BD47: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BE19: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D999: import_submodule.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591C379: ensure_fromlist.part.0.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896968: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D8133: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A1BAC: compiler_addop_i.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A0C76: compiler_visit_expr.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A0D0D: compiler_visit_expr.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A0CF9: compiler_visit_expr.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A2F5E: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A28A8: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A28A8: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A2F06: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A28A8: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A28A8: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A2CBE: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5bf3020 is 16 bytes inside a block of size 120 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x58EE275: list_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A2068: dictbytype (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920329: compiler_enter_scope.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A277C: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920585: compiler_body (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4420: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919F69: PyRun_FileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591A991: PyRun_SimpleFileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x56DCE14: PyGcc_run_any_script (gcc-python.c:659)
==357708==    by 0x56DCE14: plugin_init (gcc-python.c:852)
==357708==    by 0xA93F89: ??? (in /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/cc1)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x58EA6A5: PyList_New (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58D8D82: dict_keys.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A1FEA: dictbytype (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920329: compiler_enter_scope.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A277C: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920585: compiler_body (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4420: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919F69: PyRun_FileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591A991: PyRun_SimpleFileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x56DCE14: PyGcc_run_any_script (gcc-python.c:659)
==357708==    by 0x56DCE14: plugin_init (gcc-python.c:852)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x5873702: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591FC3C: compiler_unit_free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x59201F2: compiler_exit_scope.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A2904: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920585: compiler_body (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4420: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919F69: PyRun_FileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591A991: PyRun_SimpleFileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x56DCE14: PyGcc_run_any_script (gcc-python.c:659)
==357708==    by 0x56DCE14: plugin_init (gcc-python.c:852)
==357708==    by 0xA93F89: ??? (in /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/cc1)
==357708==    by 0x14D865E: htab_traverse_noresize (in /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/cc1)
==357708==  Address 0x5bf3020 is 16 bytes inside a block of size 120 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x58EE275: list_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A2068: dictbytype (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920329: compiler_enter_scope.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A277C: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920585: compiler_body (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4420: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919F69: PyRun_FileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591A991: PyRun_SimpleFileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x56DCE14: PyGcc_run_any_script (gcc-python.c:659)
==357708==    by 0x56DCE14: plugin_init (gcc-python.c:852)
==357708==    by 0xA93F89: ??? (in /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/cc1)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x58EA6A5: PyList_New (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58D8D82: dict_keys.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A1FEA: dictbytype (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920329: compiler_enter_scope.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A277C: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920585: compiler_body (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4420: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919F69: PyRun_FileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591A991: PyRun_SimpleFileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x56DCE14: PyGcc_run_any_script (gcc-python.c:659)
==357708==    by 0x56DCE14: plugin_init (gcc-python.c:852)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D8133: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A1BAC: compiler_addop_i.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A0CAE: compiler_visit_expr.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A29F3: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920585: compiler_body (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4420: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919F69: PyRun_FileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591A991: PyRun_SimpleFileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x56DCE14: PyGcc_run_any_script (gcc-python.c:659)
==357708==    by 0x56DCE14: plugin_init (gcc-python.c:852)
==357708==    by 0xA93F89: ??? (in /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/cc1)
==357708==    by 0x14D865E: htab_traverse_noresize (in /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/cc1)
==357708==  Address 0x5bf2020 is 496 bytes inside a block of size 768 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x58DBC10: dict_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591FCC0: compiler_unit_free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x59201F2: compiler_exit_scope.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A2904: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920585: compiler_body (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4420: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919F69: PyRun_FileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591A991: PyRun_SimpleFileExFlags (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x56DCE14: PyGcc_run_any_script (gcc-python.c:659)
==357708==    by 0x56DCE14: plugin_init (gcc-python.c:852)
==357708==    by 0xA93F89: ??? (in /usr/lib/gcc/x86_64-pc-linux-gnu/10.1.0/cc1)
==357708==  Block was alloc'd at
==357708==    at 0x483BB65: calloc (vg_replace_malloc.c:760)
==357708==    by 0x58DF81F: dictresize.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x589FE0C: compiler_add_o.isra.0.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A241B: compiler_nameop.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A0BA0: compiler_visit_expr.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A0BC2: compiler_visit_expr.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A2726: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A2CBE: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A2802: compiler_visit_stmt (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5920585: compiler_body (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4420: PyAST_Compile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5919EA6: run_mod (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D8133: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5885A79: _PyObject_GC_Resize (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F220B: PyFrame_New (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A62A1: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5c37020 is 240 bytes inside a block of size 257 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x58FD4B1: bytearray_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F2446: frame_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A638D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x48396AF: malloc (vg_replace_malloc.c:306)
==357708==    by 0x58FD9EA: PyByteArray_Resize (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FEDD1: bytearray_init.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58C5434: type_call.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB41D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x5873702: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F9793: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58C897F: tupledealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F96E7: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D271: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896857: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5c37020 is 240 bytes inside a block of size 257 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x58FD4B1: bytearray_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F2446: frame_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A638D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABA01: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x48396AF: malloc (vg_replace_malloc.c:306)
==357708==    by 0x58FD9EA: PyByteArray_Resize (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FEDD1: bytearray_init.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58C5434: type_call.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB41D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB53B: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x5873702: PyObject_Free (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58C89BF: tupledealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F96E7: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58C897F: tupledealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F96E7: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D271: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896895: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5FA8: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5deb020 is 208 bytes inside a block of size 1,608 free'd
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58EBC1E: PyList_Append (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893B89: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CDA: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893958: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CDA: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893942: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BD47: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BE19: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483BD7B: realloc (vg_replace_malloc.c:834)
==357708==    by 0x58EBC1E: PyList_Append (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893B89: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893C71: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893958: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893CDA: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5893942: r_object.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BD47: PyMarshal_ReadObjectFromString (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591BE19: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D8133: PyObject_Realloc (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58CA69D: _PyString_Resize (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4584: string_concatenate.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58ABB3C: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D061: PyImport_ExecCodeModuleEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D25D: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896895: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5FA8: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5ecc020 is 336 bytes inside a block of size 472 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x4C65AB2: __fopen_internal (in /usr/lib/libc-2.31.so)
==357708==    by 0x58953DD: find_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D973: import_submodule.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895BF3: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x4C659EE: __fopen_internal (in /usr/lib/libc-2.31.so)
==357708==    by 0x58953DD: find_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D973: import_submodule.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895BF3: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 4
==357708==    at 0x58D2C84: string_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F96CD: code_dealloc.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D271: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591DC62: load_package (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A5A96: PyEval_EvalCode (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x5c06020 is 21,568 bytes inside a block of size 24,025 free'd
==357708==    at 0x483A9AB: free (vg_replace_malloc.c:538)
==357708==    by 0x591BE25: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591DC62: load_package (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==  Block was alloc'd at
==357708==    at 0x483977F: malloc (vg_replace_malloc.c:307)
==357708==    by 0x591BDED: PyMarshal_ReadLastObjectFromFile (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591CF70: read_compiled_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591D20E: load_source_module (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x591DC62: load_package (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5895B46: load_next (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x5896650: PyImport_ImportModuleLevel (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58B1B29: builtin___import__.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4881: PyEval_CallObjectWithKeywords (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A94E3: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708== 
==357708== Invalid read of size 1
==357708==    at 0x483CC72: strlen (vg_replace_strmem.c:459)
==357708==    by 0x58D507C: PyString_FromFormatV (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58D5C89: PyString_FromFormat (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58DB752: _PyObject_Str (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58DB7BC: PyObject_Str (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58CC395: string_new.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58C53B5: type_call.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58FF452: PyObject_Call (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58AB41D: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A6367: PyEval_EvalFrameEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58A4BE5: PyEval_EvalCodeEx (in /usr/lib/libpython2.7.so.1.0)
==357708==    by 0x58F0A4B: function_call.lto_priv.0 (in /usr/lib/libpython2.7.so.1.0)
==357708==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==357708== 
*** WARNING *** there are active plugins, do not report this as a bug unless you can reproduce it without enabling any plugins.
Event                            | Plugins
PLUGIN_FINISH                    | python
during GIMPLE pass: check-throw-without-free
src/io/filewatchers.c: In function ‘MVM_io_file_watch’:
src/io/filewatchers.c:93:54: internal compiler error: Segmentation fault
   93 |                               MVMObject *async_type) {
      |                                                      ^
0x483cc72 _vgr20070ZU_libcZdsoZa_strlen
   ../shared/vg_replace_strmem.c:459
0x56e090b impl_execute
   /home/dan/Source/gcc-python-plugin/gcc-python-pass.c:134
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://bugs.archlinux.org/> for instructions.
==357708== 
==357708== HEAP SUMMARY:
==357708==     in use at exit: 4,026,343 bytes in 6,936 blocks
==357708==   total heap usage: 56,114 allocs, 49,178 frees, 67,835,175 bytes allocated
==357708== 
==357708== LEAK SUMMARY:
==357708==    definitely lost: 15 bytes in 1 blocks
==357708==    indirectly lost: 0 bytes in 0 blocks
==357708==      possibly lost: 83,744 bytes in 31 blocks
==357708==    still reachable: 3,942,584 bytes in 6,904 blocks
==357708==                       of which reachable via heuristic:
==357708==                         newarray           : 1,416 bytes in 1 blocks
==357708==         suppressed: 0 bytes in 0 blocks
==357708== Rerun with --leak-check=full to see details of leaked memory
==357708== 
==357708== Use --track-origins=yes to see where uninitialised values come from
==357708== For lists of detected and suppressed errors, rerun with: -s
==357708== ERROR SUMMARY: 361 errors from 26 contexts (suppressed: 0 from 0)
==357707== 
==357707== HEAP SUMMARY:
==357707==     in use at exit: 168,435 bytes in 80 blocks
==357707==   total heap usage: 266 allocs, 186 frees, 203,736 bytes allocated
==357707== 
==357707== LEAK SUMMARY:
==357707==    definitely lost: 822 bytes in 11 blocks
==357707==    indirectly lost: 16 bytes in 1 blocks
==357707==      possibly lost: 0 bytes in 0 blocks
==357707==    still reachable: 167,597 bytes in 68 blocks
==357707==         suppressed: 0 bytes in 0 blocks
==357707== Rerun with --leak-check=full to see details of leaked memory
==357707== 
==357707== For lists of detected and suppressed errors, rerun with: -s
==357707== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

and here is the plugin I'm running:

import gcc
from gccutils import get_src_for_loc, pformat, cfg_to_dot, invoke_dot

# We'll implement this as a custom pass, to be called directly after the
# builtin "cfg" pass, which generates the CFG:

def collect_control_flows(bb, path, seen):
    if bb.index in seen:
        seen[bb.index] = 2
    else:
        seen[bb.index] = 1
    paths = []
    new_path = [bb]
    new_path.extend(path)
    if not bb.preds:
        paths.append(new_path)
    for edge in bb.preds:
        pred = edge.src
        if pred.index in seen and seen[pred.index] > 1:
            continue
        paths.extend(collect_control_flows(pred, new_path, seen))
    return paths

alloc_funcs = {"MVM_string_utf8_c8_encode_C_string"}
#alloc_funcs = {'MVM_malloc', 'MVM_calloc', 'MVM_fixed_size_allocate', 'MVM_fixed_size_allocate_zeroed', "ANSIToUTF8", "MVM_bytecode_dump", "MVM_exception_backtrace_line", "MVM_nativecall_unmarshal_string", "MVM_reg_get_debug_name", "MVM_serialization_read_cstr", "MVM_spesh_dump", "MVM_spesh_dump_arg_guard", "MVM_spesh_dump_planned", "MVM_spesh_dump_stats", "MVM_staticframe_file_location", "MVM_string_ascii_encode", "MVM_string_ascii_encode_any", "MVM_string_ascii_encode_substr", "MVM_string_encode", "MVM_string_encoding_cname", "MVM_string_gb18030_encode_substr", "MVM_string_gb2312_encode_substr", "MVM_string_latin1_encode", "MVM_string_latin1_encode_substr", "MVM_string_shiftjis_encode_substr", "MVM_string_utf16_encode", "MVM_string_utf16_encode_substr", "MVM_string_utf16_encode_substr_main", "MVM_string_utf16be_encode_substr", "MVM_string_utf16le_encode_substr", "MVM_string_utf8_c8_encode", "MVM_string_utf8_c8_encode_C_string", "MVM_string_utf8_c8_encode_substr", "MVM_string_utf8_encode", "MVM_string_utf8_encode_C_string", "MVM_string_utf8_encode_substr", "MVM_string_utf8_maybe_encode_C_string", "MVM_string_windows1251_encode_substr", "MVM_string_windows1252_encode_substr", "MVM_string_windows125X_encode_substr", "NFG_check_make_debug_string", "NFG_checker", "UnicodeToUTF8", "UnicodeToUTF8", "base64_encode", "callback_handler", "get_signature_char", "twoway_memmem_uint32", "u64toa_naive_worker"}
free_funcs = {'MVM_free', 'MVM_fixed_size_free', 'MVM_fixed_size_free_at_safepoint'}

def check_code_for_throw_without_free(fun):
    for bb in fun.cfg.basic_blocks:
        for ins in bb.gimple:
            if isinstance(ins, gcc.GimpleReturn):
                cfs = collect_control_flows(bb, [], {})

                for cf in cfs:
                    allocs = set()
                    for bb in cf:
                        for ins in bb.gimple:
                            if isinstance(ins, gcc.GimpleCall):
                                if isinstance(ins.fn, gcc.AddrExpr): # plain function call is AddrExpr, other things could be function pointers
                                    try:
                                        if ins.fn.operand.name in alloc_funcs:
                                            allocs.add(ins.lhs)
                                        if ins.fn.operand.name in free_funcs:
                                            if ins.args[0] in allocs:
                                                allocs.remove(ins.args[0])
                                        if ins.fn.operand.name == 'MVM_exception_throw_adhoc':
                                            if allocs:
                                                print("\nMissing free in " + str(fun.decl.name) + " at " + str(cf[-2].gimple[-1].loc) + " " + str(allocs) + "\n")
                                    except Exception as e:
                                        print(e)

class CheckThrowWithoutFree(gcc.GimplePass):
    def execute(self, fun):
        # (the CFG should be set up by this point, and the GIMPLE is not yet
        # in SSA form)
        if fun and fun.cfg:
            check_code_for_throw_without_free(fun)

ps = CheckThrowWithoutFree(name='check-throw-without-free')
ps.register_after('cfg')

if I use the commented-out complete set of alloc_funcs it completes successfullly, but if I add or use just the current one I get the segfault every time.