Tcl Source Code

Artifact [182e36a53f]
Login

Artifact 182e36a53f316652b783d93d7e2ae899fef602b4:

Attachment "kevinleaks1.txt" to ticket [1705778fff] added by kennykb 2007-04-25 01:23:54.
Kevin's leak catalog in 8.5a6:

[K01] Appears in all.tcl even without running test cases:

==4478== 67 bytes in 2 blocks are definitely lost in loss record 1,421 of 2,536
==4478==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4478==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4478==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4478==    by 0x8123317: TclpGetNativeCwd (tclUnixFile.c:705)
==4478==    by 0x80DA100: Tcl_FSChdir (tclIOUtil.c:2980)
==4478==    by 0x806E6D6: Tcl_CdObjCmd (tclCmdAH.c:332)
==4478==    by 0x80B08D2: TclExecuteByteCode (tclExecute.c:1834)
==4478==    by 0x80AEF62: TclCompEvalObj (tclExecute.c:996)
==4478==    by 0x80FB355: TclObjInterpProcCore (tclProc.c:1517)
==4478==    by 0x80FACD5: ObjInterpProcEx (tclProc.c:1269)


[K01a] Looks very similar to [K01] - haven't isolated test cases ([abc]*.test):

==4478== 216 bytes in 6 blocks are definitely lost in loss record 2,082 of 2,536==4478==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4478==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4478==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4478==    by 0x8123317: TclpGetNativeCwd (tclUnixFile.c:705)
==4478==    by 0x80DA100: Tcl_FSChdir (tclIOUtil.c:2980)
==4478==    by 0x806E6D6: Tcl_CdObjCmd (tclCmdAH.c:332)
==4478==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4478==    by 0x8066947: TclEvalEx (tclBasic.c:4221)
==4478==    by 0x8065DFC: Tcl_EvalEx (tclBasic.c:3892)
==4478==    by 0x8067036: TclEvalObjEx (tclBasic.c:4592)


[K02] Possibly related. need to isolate a test case. ([abc]*.test)

==4478== 151 (24 direct, 127 indirect) bytes in 1 blocks are definitely lost in loss record 1,655 of 2,536
==4478==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4478==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4478==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4478==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4478==    by 0x80F05D8: TclFSNormalizeAbsolutePath (tclPathObj.c:235)
==4478==    by 0x80F2D15: Tcl_FSGetNormalizedPath (tclPathObj.c:1920)
==4478==    by 0x80D8E55: Tcl_FSEvalFileEx (tclIOUtil.c:1757)
==4478==    by 0x807ACC1: Tcl_SourceObjCmd (tclCmdMZ.c:953)
==4478==    by 0x80B08D2: TclExecuteByteCode (tclExecute.c:1834)
==4478==    by 0x80AEF62: TclCompEvalObj (tclExecute.c:996)

[K03] namespace-7.7 is known to tickle this bug:

==4478== 268 (264 direct, 4 indirect) bytes in 1 blocks are definitely lost in loss record 2,158 of 2,536
==4478==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4478==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4478==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4478==    by 0x80E1E4D: Tcl_CreateNamespace (tclNamesp.c:813)
==4478==    by 0x80621B0: Tcl_CreateInterp (tclBasic.c:443)
==4478==    by 0x80C5382: SlaveCreate (tclInterp.c:2146)
==4478==    by 0x80C3409: Tcl_InterpObjCmd (tclInterp.c:700)
==4478==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4478==    by 0x8066947: TclEvalEx (tclBasic.c:4221)
==4478==    by 0x8065DFC: Tcl_EvalEx (tclBasic.c:3892)

[K03a] looks to be the same as [K03] only with a different path into
namespace creation:

==4478== 2,144 (2,112 direct, 32 indirect) bytes in 8 blocks are definitely lost in loss record 2,461 of 2,536
==4478==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4478==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4478==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4478==    by 0x80E1E4D: Tcl_CreateNamespace (tclNamesp.c:813)
==4478==    by 0x80621B0: Tcl_CreateInterp (tclBasic.c:443)
==4478==    by 0x80C5382: SlaveCreate (tclInterp.c:2146)
==4478==    by 0x80C3409: Tcl_InterpObjCmd (tclInterp.c:700)
==4478==    by 0x80B08D2: TclExecuteByteCode (tclExecute.c:1834)
==4478==    by 0x80AEF62: TclCompEvalObj (tclExecute.c:996)
==4478==    by 0x80FB355: TclObjInterpProcCore (tclProc.c:1517)

[K04] need to isolate a test case (exec.test fails in a subprocess):

==4602== 636 (204 direct, 432 indirect) bytes in 3 blocks are definitely lost in loss record 2,089 of 2,286
==4602==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4602==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4602==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4602==    by 0x80A3FCC: SetDictFromAny (tclDictObj.c:449)
==4602==    by 0x80A4C18: Tcl_DictObjFirst (tclDictObj.c:942)
==4602==    by 0x80A5A03: DictKeysCmd (tclDictObj.c:1648)
==4602==    by 0x80A8B53: Tcl_DictObjCmd (tclDictObj.c:2979)
==4602==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4602==    by 0x8066947: TclEvalEx (tclBasic.c:4221)
==4602==    by 0x8065DFC: Tcl_EvalEx (tclBasic.c:3892)

[K05] need to isolate a test case (exec.test fails in a subprocess):

==4602== 512 (68 direct, 444 indirect) bytes in 1 blocks are definitely lost in loss record 2,090 of 2,286
==4602==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4602==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4602==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4602==    by 0x80A3FCC: SetDictFromAny (tclDictObj.c:449)
==4602==    by 0x80A4C18: Tcl_DictObjFirst (tclDictObj.c:942)
==4602==    by 0x80A7050: DictFilterCmd (tclDictObj.c:2433)
==4602==    by 0x80A8AC7: Tcl_DictObjCmd (tclDictObj.c:2974)
==4602==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4602==    by 0x8066947: TclEvalEx (tclBasic.c:4221)
==4602==    by 0x8065DFC: Tcl_EvalEx (tclBasic.c:3892)

[K06] need to isolate a test case ([def]*.test):

==4495== 136 (28 direct, 108 indirect) bytes in 1 blocks are definitely lost in loss record 1,261 of 2,541
==4495==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4495==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4495==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4495==    by 0x80F3A37: DupFsPathInternalRep (tclPathObj.c:2500)
==4495==    by 0x80EB093: Tcl_DuplicateObj (tclObj.c:1025)
==4495==    by 0x805CDAE: TestReportInFilesystem (tclTest.c:6398)
==4495==    by 0x80DB37B: Tcl_FSGetFileSystemForPath (tclIOUtil.c:4426)
==4495==    by 0x80D93CB: Tcl_FSAccess (tclIOUtil.c:2127)
==4495==    by 0x80708F4: CheckAccess (tclCmdAH.c:1402)
==4495==    by 0x806F53A: Tcl_FileObjCmd (tclCmdAH.c:943)

[K07] need to isolate a test case ([def]*.test):

==4495== 136 (28 direct, 108 indirect) bytes in 1 blocks are definitely lost in loss record 1,288 of 2,541
==4495==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4495==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4495==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4495==    by 0x80F36D7: SetFsPathFromAny (tclPathObj.c:2428)
==4495==    by 0x80EAD33: Tcl_ConvertToType (tclObj.c:584)
==4495==    by 0x80F1D2A: Tcl_FSConvertToPathType (tclPathObj.c:1136)
==4495==    by 0x807094A: GetStatBuf (tclCmdAH.c:1440)
==4495==    by 0x806FDE9: Tcl_FileObjCmd (tclCmdAH.c:1139)
==4495==    by 0x80B08D2: TclExecuteByteCode (tclExecute.c:1834)
==4495==    by 0x80AEF62: TclCompEvalObj (tclExecute.c:996)

[K08] need to isolate a test case ([def]*.test):

==4495== 62 (24 direct, 38 indirect) bytes in 1 blocks are definitely lost in loss record 1,298 of 2,541
==4495==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4495==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4495==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4495==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4495==    by 0x805D780: SimpleRedirect (tclTest.c:6778)
==4495==    by 0x805D7E3: SimpleMatchInDirectory (tclTest.c:6807)
==4495==    by 0x80D83E2: Tcl_FSMatchInDirectory (tclIOUtil.c:1108)
==4495==    by 0x80C1010: DoGlob (tclFileName.c:2334)
==4495==    by 0x80C1553: DoGlob (tclFileName.c:2493)
==4495==    by 0x80C0677: TclGlob (tclFileName.c:1911)

[K08a] looks like another path into K8

==4495== 72 (24 direct, 48 indirect) bytes in 1 blocks are definitely lost in loss record 1,630 of 2,541
==4495==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4495==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4495==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4495==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4495==    by 0x805D780: SimpleRedirect (tclTest.c:6778)
==4495==    by 0x805D7E3: SimpleMatchInDirectory (tclTest.c:6807)
==4495==    by 0x80D83E2: Tcl_FSMatchInDirectory (tclIOUtil.c:1108)
==4495==    by 0x80C1411: DoGlob (tclFileName.c:2456)
==4495==    by 0x80C0677: TclGlob (tclFileName.c:1911)
==4495==    by 0x80BFEE8: Tcl_GlobObjCmd (tclFileName.c:1580)

[K09] looks like another literal leak, need to isolate a test case
([def]*.test):

==4495== 55 (48 direct, 7 indirect) bytes in 2 blocks are definitely lost in loss record 1,707 of 2,541
==4495==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4495==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4495==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4495==    by 0x80EAD5E: Tcl_NewObj (tclObj.c:689)
==4495==    by 0x8099AAC: ParseLexeme (tclCompExpr.c:2095)
==4495==    by 0x809773E: ParseExpr (tclCompExpr.c:284)
==4495==    by 0x8099D89: TclCompileExpr (tclCompExpr.c:2319)
==4495==    by 0x80AE906: Tcl_ExprObj (tclExecute.c:788)
==4495==    by 0x806F072: Tcl_ExprObjCmd (tclCmdAH.c:771)
==4495==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)

[K10] is known to be a Heisenbug. Need to isolate a test case ([ghi]*.test):

==4691== 324 (48 direct, 276 indirect) bytes in 2 blocks are definitely lost in loss record 1,903 of 2,456
==4691==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4691==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4691==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4691==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4691==    by 0x80EFF3F: TclSubstTokens (tclParse.c:2176)
==4691==    by 0x806628D: TclEvalEx (tclBasic.c:4086)
==4691==    by 0x8065DFC: Tcl_EvalEx (tclBasic.c:3892)
==4691==    by 0x80F59ED: Tcl_PkgRequireProc (tclPkg.c:493)
==4691==    by 0x80F6D2B: Tcl_PackageObjCmd (tclPkg.c:1013)
==4691==    by 0x80B08D2: TclExecuteByteCode (tclExecute.c:1834)

[K11] need to isolate a test case ([ghi]*.test):

==4691== 168 (24 direct, 144 indirect) bytes in 1 blocks are definitely lost in loss record 1,981 of 2,456
==4691==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4691==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4691==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4691==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4691==    by 0x80F1949: Tcl_FSJoinPath (tclPathObj.c:962)
==4691==    by 0x80BEBB8: Tcl_FSJoinToPath (tclFileName.c:793)
==4691==    by 0x806F76A: Tcl_FileObjCmd (tclCmdAH.c:1005)
==4691==    by 0x80B08D2: TclExecuteByteCode (tclExecute.c:1834)
==4691==    by 0x80AEF62: TclCompEvalObj (tclExecute.c:996)
==4691==    by 0x80FB355: TclObjInterpProcCore (tclProc.c:1517)

[K12] need to isolate a test case ([ghi]*.test):

==4691== 864 bytes in 36 blocks are definitely lost in loss record 2,262 of 2,456
==4691==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4691==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4691==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4691==    by 0x80EBC51: Tcl_NewIntObj (tclObj.c:1833)
==4691==    by 0x80D2016: FixLevelCode (tclIO.c:10008)
==4691==    by 0x80D1E52: Tcl_SetChannelError (tclIO.c:9933)
==4691==    by 0x805AFF9: TestChannelCmd (tclTest.c:5635)
==4691==    by 0x8063CBD: TclInvokeStringCommand (tclBasic.c:2020)
==4691==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4691==    by 0x8066947: TclEvalEx (tclBasic.c:4221)

[K12a] may be the same bug as [K12]:

==4691== 864 bytes in 36 blocks are definitely lost in loss record 2,263 of 2,456
==4691==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4691==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4691==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4691==    by 0x80EBC51: Tcl_NewIntObj (tclObj.c:1833)
==4691==    by 0x80D2016: FixLevelCode (tclIO.c:10008)
==4691==    by 0x80D1D64: Tcl_SetChannelErrorInterp (tclIO.c:9897)
==4691==    by 0x805B0B6: TestChannelCmd (tclTest.c:5648)
==4691==    by 0x8063CBD: TclInvokeStringCommand (tclBasic.c:2020)
==4691==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4691==    by 0x8066947: TclEvalEx (tclBasic.c:4221)

[K13] need to isolate a test case, presumably in lset.test:

==4778== 210 (24 direct, 186 indirect) bytes in 1 blocks are definitely lost in loss record 1,443 of 1,980
==4778==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4778==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4778==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4778==    by 0x80EAF8F: Tcl_DuplicateObj (tclObj.c:1012)
==4778==    by 0x80DD63A: TclLsetFlat (tclListObj.c:1282)
==4778==    by 0x80B3287: TclExecuteByteCode (tclExecute.c:3126)
==4778==    by 0x80AEF62: TclCompEvalObj (tclExecute.c:996)
==4778==    by 0x80FB355: TclObjInterpProcCore (tclProc.c:1517)
==4778==    by 0x80FACD5: ObjInterpProcEx (tclProc.c:1269)
==4778==    by 0x80FAB51: TclObjInterpProc (tclProc.c:1199)

[K14] need to isolate a test case, again presumably in lset.test:

==4778== 210 (24 direct, 186 indirect) bytes in 1 blocks are definitely lost in loss record 1,443 of 1,980
==4778==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4778==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4778==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4778==    by 0x80EAF8F: Tcl_DuplicateObj (tclObj.c:1012)
==4778==    by 0x80DD63A: TclLsetFlat (tclListObj.c:1282)
==4778==    by 0x80B3287: TclExecuteByteCode (tclExecute.c:3126)
==4778==    by 0x80AEF62: TclCompEvalObj (tclExecute.c:996)
==4778==    by 0x80FB355: TclObjInterpProcCore (tclProc.c:1517)
==4778==    by 0x80FACD5: ObjInterpProcEx (tclProc.c:1269)
==4778==    by 0x80FAB51: TclObjInterpProc (tclProc.c:1199)

[K15] need to isolate a test case ([mnopq]*.test)

==4813== 24 bytes in 1 blocks are definitely lost in loss record 754 of 2,615
==4813==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4813==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4813==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4813==    by 0x80FB013: TclObjInterpProcCore (tclProc.c:1439)
==4813==    by 0x80FACD5: ObjInterpProcEx (tclProc.c:1269)
==4813==    by 0x80FAB51: TclObjInterpProc (tclProc.c:1199)
==4813==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4813==    by 0x8065C07: Tcl_EvalObjv (tclBasic.c:3737)
==4813==    by 0x80E8922: NsEnsembleImplementationCmd (tclNamesp.c:6236)
==4813==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)

[K16] need to isolate a test case: ([rst]*.test)

==4943== 295 (20 direct, 275 indirect) bytes in 1 blocks are definitely lost in loss record 2,305 of 2,920
==4943==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4943==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4943==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4943==    by 0x80ED4FA: AllocObjEntry (tclObj.c:3287)
==4943==    by 0x80C1A72: Tcl_CreateHashEntry (tclHash.c:383)
==4943==    by 0x80A4907: Tcl_DictObjPut (tclDictObj.c:749)
==4943==    by 0x80A5210: DictCreateCmd (tclDictObj.c:1331)
==4943==    by 0x80A8A8F: Tcl_DictObjCmd (tclDictObj.c:2972)
==4943==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4943==    by 0x8066947: TclEvalEx (tclBasic.c:4221)

[K17] need to isolate a test case ([rst]*.test):

==4889== 162 (24 direct, 138 indirect) bytes in 1 blocks are definitely lost in loss record 2,421 of 2,833
==4889==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4889==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4889==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4889==    by 0x80DE538: TclRegisterLiteral (tclLiteral.c:348)
==4889==    by 0x809DC18: TclCompileScript (tclCompile.c:1577)
==4889==    by 0x809BFB9: TclSetByteCodeFromAny (tclCompile.c:493)
==4889==    by 0x809C1A8: SetByteCodeFromAny (tclCompile.c:588)
==4889==    by 0x80AEFC6: TclCompEvalObj (tclExecute.c:1017)
==4889==    by 0x80671C9: TclEvalObjEx (tclBasic.c:4677)
==4889==    by 0x80C5C38: SlaveEval (tclInterp.c:2491)

[K18] related leaks ([u-z]*.test, presumably unload.test):

==4959== 26 (24 direct, 2 indirect) bytes in 1 blocks are definitely lost in loss record 713 of 2,071
==4959==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4959==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4959==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4959==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4959==    by 0x81129F6: Tcl_SetVar2 (tclVar.c:1393)
==4959==    by 0x81129CE: Tcl_SetVar (tclVar.c:1341)
==4959==    by 0x4023D8C: ???
==4959==    by 0x80DFF39: Tcl_UnloadObjCmd (tclLoad.c:741)
==4959==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4959==    by 0x8066947: TclEvalEx (tclBasic.c:4221)

[K18a]
==4959== 52 (48 direct, 4 indirect) bytes in 2 blocks are definitely lost in loss record 1,126 of 2,071
==4959==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4959==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4959==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4959==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4959==    by 0x81129F6: Tcl_SetVar2 (tclVar.c:1393)
==4959==    by 0x81129CE: Tcl_SetVar (tclVar.c:1341)
==4959==    by 0x4023BD4: ???
==4959==    by 0x80DF733: Tcl_LoadObjCmd (tclLoad.c:432)
==4959==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4959==    by 0x8066947: TclEvalEx (tclBasic.c:4221)

[K18b]
==4959== 52 (48 direct, 4 indirect) bytes in 2 blocks are definitely lost in loss record 1,128 of 2,071
==4959==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4959==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4959==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4959==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4959==    by 0x81129F6: Tcl_SetVar2 (tclVar.c:1393)
==4959==    by 0x81129CE: Tcl_SetVar (tclVar.c:1341)
==4959==    by 0x4021BD4: ???
==4959==    by 0x80DF733: Tcl_LoadObjCmd (tclLoad.c:432)
==4959==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4959==    by 0x8066947: TclEvalEx (tclBasic.c:4221)

[K18c]
==4959== 52 (48 direct, 4 indirect) bytes in 2 blocks are definitely lost in loss record 1,129 of 2,071
==4959==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4959==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4959==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4959==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4959==    by 0x81129F6: Tcl_SetVar2 (tclVar.c:1393)
==4959==    by 0x81129CE: Tcl_SetVar (tclVar.c:1341)
==4959==    by 0x4023D8C: ???
==4959==    by 0x4023DBF: ???
==4959==    by 0x80DFF39: Tcl_UnloadObjCmd (tclLoad.c:741)
==4959==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)

[K18d]
==4959== 52 (48 direct, 4 indirect) bytes in 2 blocks are definitely lost in loss record 1,131 of 2,071
==4959==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4959==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4959==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4959==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4959==    by 0x81129F6: Tcl_SetVar2 (tclVar.c:1393)
==4959==    by 0x81129CE: Tcl_SetVar (tclVar.c:1341)
==4959==    by 0x4023D5B: ???
==4959==    by 0x80DFF39: Tcl_UnloadObjCmd (tclLoad.c:741)
==4959==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4959==    by 0x8066947: TclEvalEx (tclBasic.c:4221)

[K18e]
==4959== 52 (48 direct, 4 indirect) bytes in 2 blocks are definitely lost in loss record 1,133 of 2,071
==4959==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4959==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4959==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4959==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4959==    by 0x81129F6: Tcl_SetVar2 (tclVar.c:1393)
==4959==    by 0x81129CE: Tcl_SetVar (tclVar.c:1341)
==4959==    by 0x4021D5B: ???
==4959==    by 0x80DFF39: Tcl_UnloadObjCmd (tclLoad.c:741)
==4959==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4959==    by 0x8066947: TclEvalEx (tclBasic.c:4221)

[K18f]
==4959== 52 (48 direct, 4 indirect) bytes in 2 blocks are definitely lost in loss record 1,134 of 2,071
==4959==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4959==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4959==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4959==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4959==    by 0x81129F6: Tcl_SetVar2 (tclVar.c:1393)
==4959==    by 0x81129CE: Tcl_SetVar (tclVar.c:1341)
==4959==    by 0x4021D8C: ???
==4959==    by 0x80DFF39: Tcl_UnloadObjCmd (tclLoad.c:741)
==4959==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)
==4959==    by 0x8066947: TclEvalEx (tclBasic.c:4221)

[K18g]
==4959== 78 (72 direct, 6 indirect) bytes in 3 blocks are definitely lost in loss record 1,393 of 2,071
==4959==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4959==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4959==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4959==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4959==    by 0x81129F6: Tcl_SetVar2 (tclVar.c:1393)
==4959==    by 0x81129CE: Tcl_SetVar (tclVar.c:1341)
==4959==    by 0x4023BD4: ???
==4959==    by 0x4023C99: ???
==4959==    by 0x80DF6E7: Tcl_LoadObjCmd (tclLoad.c:423)
==4959==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)

[K18h]
==4959== 78 (72 direct, 6 indirect) bytes in 3 blocks are definitely lost in loss record 1,394 of 2,071
==4959==    at 0x401A846: malloc (vg_replace_malloc.c:149)
==4959==    by 0x8134841: TclpAlloc (tclAlloc.c:710)
==4959==    by 0x806BD89: Tcl_Alloc (tclCkalloc.c:1019)
==4959==    by 0x8100A60: Tcl_NewStringObj (tclStringObj.c:210)
==4959==    by 0x81129F6: Tcl_SetVar2 (tclVar.c:1393)
==4959==    by 0x81129CE: Tcl_SetVar (tclVar.c:1341)
==4959==    by 0x4023D5B: ???
==4959==    by 0x4023DBF: ???
==4959==    by 0x80DFF39: Tcl_UnloadObjCmd (tclLoad.c:741)
==4959==    by 0x80659C6: TclEvalObjvInternal (tclBasic.c:3617)