
marvin at rectangular
Jul 1, 2008, 4:36 PM
Post #13 of 13
(1718 views)
Permalink
|
|
Re: Re: Backtrace of segfault when building inverted index
[In reply to]
|
|
On Jun 28, 2008, at 6:13 AM, Peter Karman wrote: > I also read the pod for Test::Valgrind. I *think* smoke.pl could be > altered to use it conditionally when it is installed. Hmm, turns out I had some trouble with false passes using Test::Valgrind 0.04. It happily installed on my system, but there don't seem to be any tests in Test::Valgrind's test suite which probe for anything other than a clean run, so it's not clear whether it really works as intended. When I alter a test from the KS suite which I *know* to leak right now (patch below), Test::Valgrind gives it a clean bill of health, but doesn't seem to run the actual test (output below). Nevertheless, as of r3554, KS has a test_valgrind build target, consisting of what was in trunk/devel/bin/valgrind_test.plx augmented with screen-scraping. That was the lazy way out, since rooting around in Test::Valgrind looked kind of tricky. Marvin Humphrey Rectangular Research http://www.rectangular.com/ PATCH: Index: t/210-deldocs.t =================================================================== --- t/210-deldocs.t (revision 3553) +++ t/210-deldocs.t (working copy) @@ -2,8 +2,11 @@ use warnings; use lib 'buildlib'; -use Test::More tests => 13; +use Test::More; +use Test::Valgrind diag => 1; use KinoSearch::Index::DelDocs; Test::Valgrind OUTPUT: marvin [at] linli:~/projects/ks/perl$ /usr/local/debugperl/bin/perl5.10.0 - Mblib t/210-deldocs.t 1..5 # valgrind --tool=memcheck --leak-check=full --leak-resolution=high -- num-callers=50 --error-limit=yes --suppressions=/usr/local/debugperl/ lib/site_perl/5.10.0/i686-linux/Test/Valgrind/perlTestValgrind.supp -- show-reachable=yes --leak-check=full /usr/local/debugperl/bin/ perl5.10.0 -Ibuildlib -I/home/marvin/projects/ks/perl/blib/arch -I/ home/marvin/projects/ks/perl/blib/lib -I/usr/local/debugperl/lib/ 5.10.0/i686-linux -I/usr/local/debugperl/lib/5.10.0 -I/usr/local/ debugperl/lib/site_perl/5.10.0/i686-linux -I/usr/local/debugperl/lib/ site_perl/5.10.0 -I. -MTest::Valgrind=run,1 /usr/local/debugperl/lib/ site_perl/5.10.0/i686-linux/Test/Valgrind.pm # ==17956== Memcheck, a memory error detector. # ==17956== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. # ==17956== Using LibVEX rev 1732, a library for dynamic binary translation. # ==17956== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. # ==17956== Using valgrind-3.2.3-Debian, a dynamic binary instrumentation framework. # ==17956== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et al. # ==17956== For more details, rerun with: -v # ==17956== # Subroutine import redefined at /usr/local/debugperl/lib/site_perl/ 5.10.0/i686-linux/Test/Valgrind.pm line 78. # ==17956== # ==17956== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 63 from 3) # ==17956== malloc/free: in use at exit: 2,771 bytes in 15 blocks. # ==17956== malloc/free: 43,148 allocs, 43,133 frees, 2,086,050 bytes allocated. # ==17956== For counts of detected errors, rerun with: -v # ==17956== searching for pointers to 15 not-freed blocks. # ==17956== checked 300,652 bytes. # ==17956== # ==17956== LEAK SUMMARY: # ==17956== definitely lost: 0 bytes in 0 blocks. # ==17956== possibly lost: 0 bytes in 0 blocks. # ==17956== still reachable: 0 bytes in 0 blocks. # ==17956== suppressed: 2,771 bytes in 15 blocks. ok 1 - valgrind errors ok 2 - valgrind definitely lost ok 3 - valgrind indirectly lost ok 4 - valgrind possibly lost ok 5 - valgrind still reachable marvin [at] linli:~/projects/ks/perl$ _______________________________________________ KinoSearch mailing list KinoSearch [at] rectangular http://www.rectangular.com/mailman/listinfo/kinosearch
|