==15918== Memcheck, a memory error detector
==15918== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==15918== Using Valgrind-3.6.1-Debian and LibVEX; rerun with -h for copyright info
==15918== Command: ./tclsh /tmp/foo.tcl
==15918== 
==15918== Invalid read of size 8
==15918==    at 0x444EFD: TclProcCleanupProc (tclProc.c:2205)
==15918==    by 0x445222: FreeLambdaInternalRep (tclProc.c:2436)
==15918==    by 0x435DE3: TclFreeObj (tclObj.c:1427)
==15918==    by 0x4626AF: UnsetVarStruct (tclVar.c:2404)
==15918==    by 0x462286: TclObjUnsetVar2 (tclVar.c:2224)
==15918==    by 0x462884: Tcl_UnsetObjCmd (tclVar.c:2499)
==15918==    by 0x48B8D8: TclEvalObjvInternal (tclBasic.c:3703)
==15918==    by 0x48CCDD: TclEvalEx (tclBasic.c:4402)
==15918==    by 0x48C0EA: Tcl_EvalEx (tclBasic.c:4059)
==15918==    by 0x42504C: Tcl_FSEvalFileEx (tclIOUtil.c:1826)
==15918==  Address 0x570e3e0 is 976 bytes inside a block of size 1,232 free'd
==15918==    at 0x4C282E0: free (vg_replace_malloc.c:366)
==15918==    by 0x518E83: TclpFree (tclAlloc.c:723)
==15918==    by 0x4934C5: Tcl_Free (tclCkalloc.c:1217)
==15918==    by 0x488C31: DeleteInterpProc (tclBasic.c:1469)
==15918==    by 0x442018: Tcl_EventuallyFree (tclPreserve.c:298)
==15918==    by 0x4883A5: Tcl_DeleteInterp (tclBasic.c:1183)
==15918==    by 0x4113D4: SlaveObjCmdDeleteProc (tclInterp.c:2467)
==15918==    by 0x48A56E: Tcl_DeleteCommandFromToken (tclBasic.c:2847)
==15918==    by 0x40E47C: Tcl_InterpObjCmd (tclInterp.c:742)
==15918==    by 0x48B8D8: TclEvalObjvInternal (tclBasic.c:3703)
==15918== 
==15918== Invalid read of size 8
==15918==    at 0x444F04: TclProcCleanupProc (tclProc.c:2205)
==15918==    by 0x445222: FreeLambdaInternalRep (tclProc.c:2436)
==15918==    by 0x435DE3: TclFreeObj (tclObj.c:1427)
==15918==    by 0x4626AF: UnsetVarStruct (tclVar.c:2404)
==15918==    by 0x462286: TclObjUnsetVar2 (tclVar.c:2224)
==15918==    by 0x462884: Tcl_UnsetObjCmd (tclVar.c:2499)
==15918==    by 0x48B8D8: TclEvalObjvInternal (tclBasic.c:3703)
==15918==    by 0x48CCDD: TclEvalEx (tclBasic.c:4402)
==15918==    by 0x48C0EA: Tcl_EvalEx (tclBasic.c:4059)
==15918==    by 0x42504C: Tcl_FSEvalFileEx (tclIOUtil.c:1826)
==15918==  Address 0x40 is not stack'd, malloc'd or (recently) free'd
==15918== 
==15918== 
==15918== Process terminating with default action of signal 11 (SIGSEGV)
==15918==  Access not within mapped region at address 0x40
==15918==    at 0x444F04: TclProcCleanupProc (tclProc.c:2205)
==15918==    by 0x445222: FreeLambdaInternalRep (tclProc.c:2436)
==15918==    by 0x435DE3: TclFreeObj (tclObj.c:1427)
==15918==    by 0x4626AF: UnsetVarStruct (tclVar.c:2404)
==15918==    by 0x462286: TclObjUnsetVar2 (tclVar.c:2224)
==15918==    by 0x462884: Tcl_UnsetObjCmd (tclVar.c:2499)
==15918==    by 0x48B8D8: TclEvalObjvInternal (tclBasic.c:3703)
==15918==    by 0x48CCDD: TclEvalEx (tclBasic.c:4402)
==15918==    by 0x48C0EA: Tcl_EvalEx (tclBasic.c:4059)
==15918==    by 0x42504C: Tcl_FSEvalFileEx (tclIOUtil.c:1826)
==15918==  If you believe this happened as a result of a stack
==15918==  overflow in your program's main thread (unlikely but
==15918==  possible), you can try to increase the size of the
==15918==  main thread stack using the --main-stacksize= flag.
==15918==  The main thread stack size used in this run was 8388608.
==15918== 
