Posted to tcl by de at Fri Apr 11 19:37:33 GMT 2008view pretty

tcl8.4.19rc0, build with --enable-symbols, added -DPURIFY

In all.tcl:
tcltest::singleProcess 1 (because on linux)
(and before the return at the end of the file):
proc exit args {}

If I run:

valgrind --num-callers=60 --leak-check=full --show-reachable=yes ./tcltest ../tests/all.tcl -file compExpr-old.test -match 'compExpr-old-1.12'

valgrind returns:

==20815== Memcheck, a memory error detector.
==20815== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==20815== Using LibVEX rev 1658, a library for dynamic binary translation.
==20815== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==20815== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==20815== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==20815== For more details, rerun with: -v
==20815== 
Tests running in interp:  /home/rolf/tcltk/tcl8.4.19/unix/tcltest
Tests located in:  /home/rolf/tcltk/tcl8.4.19/tests
Tests running in:  /home/rolf/tcltk/tcl8.4.19/unix
Temporary files stored in /home/rolf/tcltk/tcl8.4.19/unix
Test files sourced into current interpreter
Running tests that match:  compExpr-old-1.12
Skipping test files that match:  l.*.test
Only running test files that match:  compExpr-old.test
Tests began at Fre Apr 11 21:35:58 CEST 2008
compExpr-old.test

Tests ended at Fre Apr 11 21:36:00 CEST 2008
all.tcl:	Total	188	Passed	1	Skipped	187	Failed	0
Sourced 1 Test Files.
==20815== 
==20815== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 71 from 3)
==20815== malloc/free: in use at exit: 24 bytes in 1 blocks.
==20815== malloc/free: 53,492 allocs, 53,491 frees, 3,063,566 bytes allocated.
==20815== For counts of detected errors, rerun with: -v
==20815== searching for pointers to 1 not-freed blocks.
==20815== checked 114,296 bytes.
==20815== 
==20815== 24 bytes in 1 blocks are definitely lost in loss record 1 of 1
==20815==    at 0x40196CE: malloc (m_replacemalloc/vg_replace_malloc.c:149)
==20815==    by 0x4040725: TclpAlloc (/home/rolf/tcltk/tcl8.4.19/generic/tclAlloc.c:687)
==20815==    by 0x40487B9: Tcl_Alloc (/home/rolf/tcltk/tcl8.4.19/generic/tclCkalloc.c:1002)
==20815==    by 0x40ADDFE: ResetObjResult (/home/rolf/tcltk/tcl8.4.19/generic/tclResult.c:828)
==20815==    by 0x40ADCF1: Tcl_ResetResult (/home/rolf/tcltk/tcl8.4.19/generic/tclResult.c:787)
==20815==    by 0x40431EF: TclInterpReady (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3014)
==20815==    by 0x40432ED: TclEvalObjvInternal (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3101)
==20815==    by 0x4044102: Tcl_EvalEx (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:4011)
==20815==    by 0x4044937: Tcl_EvalObjEx (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:4529)
==20815==    by 0x40AAA52: Tcl_UplevelObjCmd (/home/rolf/tcltk/tcl8.4.19/generic/tclProc.c:738)
==20815==    by 0x40435B8: TclEvalObjvInternal (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3219)
==20815==    by 0x4072140: TclExecuteByteCode (/home/rolf/tcltk/tcl8.4.19/generic/tclExecute.c:1581)
==20815==    by 0x40715AD: TclCompEvalObj (/home/rolf/tcltk/tcl8.4.19/generic/tclExecute.c:1106)
==20815==    by 0x40AB22B: TclObjInterpProc (/home/rolf/tcltk/tcl8.4.19/generic/tclProc.c:1180)
==20815==    by 0x40435B8: TclEvalObjvInternal (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3219)
==20815==    by 0x40437F6: Tcl_EvalObjv (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3345)
==20815==    by 0x40447EA: Tcl_EvalObjEx (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:4509)
==20815==    by 0x40AAA52: Tcl_UplevelObjCmd (/home/rolf/tcltk/tcl8.4.19/generic/tclProc.c:738)
==20815==    by 0x40435B8: TclEvalObjvInternal (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3219)
==20815==    by 0x4072140: TclExecuteByteCode (/home/rolf/tcltk/tcl8.4.19/generic/tclExecute.c:1581)
==20815==    by 0x40715AD: TclCompEvalObj (/home/rolf/tcltk/tcl8.4.19/generic/tclExecute.c:1106)
==20815==    by 0x40AB22B: TclObjInterpProc (/home/rolf/tcltk/tcl8.4.19/generic/tclProc.c:1180)
==20815==    by 0x40435B8: TclEvalObjvInternal (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3219)
==20815==    by 0x40437F6: Tcl_EvalObjv (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3345)
==20815==    by 0x40447EA: Tcl_EvalObjEx (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:4509)
==20815==    by 0x40AAA52: Tcl_UplevelObjCmd (/home/rolf/tcltk/tcl8.4.19/generic/tclProc.c:738)
==20815==    by 0x40435B8: TclEvalObjvInternal (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3219)
==20815==    by 0x4072140: TclExecuteByteCode (/home/rolf/tcltk/tcl8.4.19/generic/tclExecute.c:1581)
==20815==    by 0x40715AD: TclCompEvalObj (/home/rolf/tcltk/tcl8.4.19/generic/tclExecute.c:1106)
==20815==    by 0x40AB22B: TclObjInterpProc (/home/rolf/tcltk/tcl8.4.19/generic/tclProc.c:1180)
==20815==    by 0x409C1B0: InvokeImportedCmd (/home/rolf/tcltk/tcl8.4.19/generic/tclNamesp.c:1508)
==20815==    by 0x40435B8: TclEvalObjvInternal (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3219)
==20815==    by 0x4044102: Tcl_EvalEx (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:4011)
==20815==    by 0x4091FBD: Tcl_FSEvalFile (/home/rolf/tcltk/tcl8.4.19/generic/tclIOUtil.c:1776)
==20815==    by 0x4053360: Tcl_SourceObjCmd (/home/rolf/tcltk/tcl8.4.19/generic/tclCmdMZ.c:1069)
==20815==    by 0x40435B8: TclEvalObjvInternal (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3219)
==20815==    by 0x40437F6: Tcl_EvalObjv (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3345)
==20815==    by 0x40447EA: Tcl_EvalObjEx (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:4509)
==20815==    by 0x40AAA52: Tcl_UplevelObjCmd (/home/rolf/tcltk/tcl8.4.19/generic/tclProc.c:738)
==20815==    by 0x40435B8: TclEvalObjvInternal (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3219)
==20815==    by 0x4072140: TclExecuteByteCode (/home/rolf/tcltk/tcl8.4.19/generic/tclExecute.c:1581)
==20815==    by 0x40715AD: TclCompEvalObj (/home/rolf/tcltk/tcl8.4.19/generic/tclExecute.c:1106)
==20815==    by 0x40AB22B: TclObjInterpProc (/home/rolf/tcltk/tcl8.4.19/generic/tclProc.c:1180)
==20815==    by 0x40435B8: TclEvalObjvInternal (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:3219)
==20815==    by 0x4044102: Tcl_EvalEx (/home/rolf/tcltk/tcl8.4.19/generic/tclBasic.c:4011)
==20815==    by 0x4091FBD: Tcl_FSEvalFile (/home/rolf/tcltk/tcl8.4.19/generic/tclIOUtil.c:1776)
==20815==    by 0x409A00A: Tcl_Main (/home/rolf/tcltk/tcl8.4.19/generic/tclMain.c:295)
==20815==    by 0x804C7F5: main (/home/rolf/tcltk/tcl8.4.19/unix/tclAppInit.c:90)
==20815== 
==20815== LEAK SUMMARY:
==20815==    definitely lost: 24 bytes in 1 blocks.
==20815==      possibly lost: 0 bytes in 0 blocks.
==20815==    still reachable: 0 bytes in 0 blocks.
==20815==         suppressed: 0 bytes in 0 blocks.