Post by Marvin HumphreyPost by Xavier NoriaFortunately the tester that reported the problem (David Cantrell)
is so kind as to provide a SSH account on his Linux.
He's done that for me, too. Good bloke.
Post by Xavier NoriaIndeed, if I run the test under Valgrind in 5.6.2 there's a
==15955== Invalid write of size 4
==15955== at 0x4A0829D: __next_partition_of_size_p (in /home/
perluser/FXN/Algorithm-Combinatorics-0.22/blib/arch/auto/Algorithm/
Combinatorics/Combinatorics.so)
But in 5.8.8 it completes the test, the only errors come at the
beginning and seem to be unrelated to the module (reported about
Perl_runops_standard). There were some under 5.6.2 like those as
well, but much less.
Errors? I've seen leaks (including one in DynaLoader), but I don't
recall errors under 5.8.8.
This is the first time I use Valgrind. Using 5.8.8 the test suite
passes but there's a report that reads:
ERROR SUMMARY: 18 errors from 14 contexts (suppressed: 19 from 1)
and a lot of stuff I don't understand at the beginning. I copy the
output below. Do you smell in that report that albeit the tests pass
there may be some incorrect C code? For instance before the first ok
1 there's a suspicious
Invalid read of size 4
I'll try to figure out whether that happens before or while the first
test runs.
Post by Marvin HumphreyI have a perl 5.8.8 compiled with -DDEBUGGING that I use for
http://xrl.us/wdve (Link to www.rectangular.com)
valgrind --leak-check=full --show-reachable=yes \
--suppressions=../devel/p588_valgrind.supp \
/usr/local/debugperl/bin/perl5.8.8 -Mblib \
t/test_file.t
More on these leaks in this thread.
http://www.nntp.perl.org/group/perl.xs/2007/01/msg2358.html
http://www.nntp.perl.org/group/perl.xs/2007/01/msg2357.html
Post by Xavier NoriaDiffing the Combinatorics.c generated by each perl the only
differences seem to be calls to PERL_UNUSED_VAR() in 5.6.2
#ifndef PERL_UNUSED_VAR
# define PERL_UNUSED_VAR(var) if (0) var = var
#endif
that are not generated by 5.8.8. Looks harmless, hmmmmmmm.
Yeah, that's just to avoid compiler warnings about unused variables.
You probably have the tools to track this down now. Throw in some
debug prints until you figure out exactly where in your test code
the error occurs. Keep reducing the test code... yada, yada,
standard bug isolation.
With Valgrind, debugging C becomes a lot more like debugging Perl. :)
Thank you! This stuff is new to me so I appreciate very much your
guidance.
-- fxn
***@pigsty:~/FXN/Algorithm-Combinatorics-0.22$ ~/FXN/local/bin/
valgrind --leak-check=yes perl5.8.8 -Mblib t/10_partitions_of_size_p.t
==29452== Memcheck, a memory error detector.
==29452== Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et
al.
==29452== Using LibVEX rev 1732, a library for dynamic binary
translation.
==29452== Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP.
==29452== Using valgrind-3.2.3, a dynamic binary instrumentation
framework.
==29452== Copyright (C) 2000-2007, and GNU GPL'd, by Julian Seward et
al.
==29452== For more details, rerun with: -v
==29452==
==29452== Conditional jump or move depends on uninitialised value(s)
==29452== at 0x4010C4E: (within /lib/ld-2.3.6.so)
==29452== by 0x4006704: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452== by 0x80BC3A8: Perl_runops_standard (in /usr/bin/perl5.8.8)
==29452==
==29452== Conditional jump or move depends on uninitialised value(s)
==29452== at 0x4010C5D: (within /lib/ld-2.3.6.so)
==29452== by 0x4006704: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452== by 0x80BC3A8: Perl_runops_standard (in /usr/bin/perl5.8.8)
==29452==
==29452== Conditional jump or move depends on uninitialised value(s)
==29452== at 0x4010C6C: (within /lib/ld-2.3.6.so)
==29452== by 0x4006704: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452== by 0x80BC3A8: Perl_runops_standard (in /usr/bin/perl5.8.8)
==29452==
==29452== Conditional jump or move depends on uninitialised value(s)
==29452== at 0x4010DDC: (within /lib/ld-2.3.6.so)
==29452== by 0x4006704: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452== by 0x80BC3A8: Perl_runops_standard (in /usr/bin/perl5.8.8)
==29452==
==29452== Conditional jump or move depends on uninitialised value(s)
==29452== at 0x4010DDC: (within /lib/ld-2.3.6.so)
==29452== by 0x4004B78: (within /lib/ld-2.3.6.so)
==29452== by 0x4006792: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452==
==29452== Invalid read of size 4
==29452== at 0x4010DD3: (within /lib/ld-2.3.6.so)
==29452== by 0x4004B78: (within /lib/ld-2.3.6.so)
==29452== by 0x4006792: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452== Address 0x43A4268 is 32 bytes inside a block of size 34
alloc'd
==29452== at 0x401D4B0: malloc (vg_replace_malloc.c:149)
==29452== by 0x4005DA5: (within /lib/ld-2.3.6.so)
==29452== by 0x4006704: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452==
==29452== Conditional jump or move depends on uninitialised value(s)
==29452== at 0x4008ED5: (within /lib/ld-2.3.6.so)
==29452== by 0x418C764: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452== by 0x80BC3A8: Perl_runops_standard (in /usr/bin/perl5.8.8)
==29452== by 0x80626BD: (within /usr/bin/perl5.8.8)
==29452==
==29452== Conditional jump or move depends on uninitialised value(s)
==29452== at 0x4008B2E: (within /lib/ld-2.3.6.so)
==29452== by 0x418C764: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452== by 0x80BC3A8: Perl_runops_standard (in /usr/bin/perl5.8.8)
==29452== by 0x80626BD: (within /usr/bin/perl5.8.8)
==29452==
==29452== Conditional jump or move depends on uninitialised value(s)
==29452== at 0x4010CC4: (within /lib/ld-2.3.6.so)
==29452== by 0x4006704: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452== by 0x80BC3A8: Perl_runops_standard (in /usr/bin/perl5.8.8)
==29452==
==29452== Conditional jump or move depends on uninitialised value(s)
==29452== at 0x4010CCF: (within /lib/ld-2.3.6.so)
==29452== by 0x4006704: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452== by 0x80BC3A8: Perl_runops_standard (in /usr/bin/perl5.8.8)
==29452==
==29452== Conditional jump or move depends on uninitialised value(s)
==29452== at 0x4010CDA: (within /lib/ld-2.3.6.so)
==29452== by 0x4006704: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452== by 0x80BC3A8: Perl_runops_standard (in /usr/bin/perl5.8.8)
==29452==
==29452== Conditional jump or move depends on uninitialised value(s)
==29452== at 0x4010E0A: (within /lib/ld-2.3.6.so)
==29452== by 0x4006704: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452== by 0x80BC3A8: Perl_runops_standard (in /usr/bin/perl5.8.8)
==29452==
==29452== Conditional jump or move depends on uninitialised value(s)
==29452== at 0x4010E0A: (within /lib/ld-2.3.6.so)
==29452== by 0x4004B78: (within /lib/ld-2.3.6.so)
==29452== by 0x4006792: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452==
==29452== Invalid read of size 4
==29452== at 0x4010E00: (within /lib/ld-2.3.6.so)
==29452== by 0x4004B78: (within /lib/ld-2.3.6.so)
==29452== by 0x4006792: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
==29452== Address 0x463D970 is 40 bytes inside a block of size 41
alloc'd
==29452== at 0x401D4B0: malloc (vg_replace_malloc.c:149)
==29452== by 0x4005DA5: (within /lib/ld-2.3.6.so)
==29452== by 0x4006704: (within /lib/ld-2.3.6.so)
==29452== by 0x418C30F: (within /lib/libc-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x418BE9E: _dl_open (in /lib/libc-2.3.6.so)
==29452== by 0x4025D8D: (within /lib/libdl-2.3.6.so)
==29452== by 0x400B44E: (within /lib/ld-2.3.6.so)
==29452== by 0x40261BC: (within /lib/libdl-2.3.6.so)
==29452== by 0x4025D20: dlopen (in /lib/libdl-2.3.6.so)
==29452== by 0x8060A74: XS_DynaLoader_dl_load_file (in /usr/bin/
perl5.8.8)
==29452== by 0x80BDAD0: Perl_pp_entersub (in /usr/bin/perl5.8.8)
ok 1 -
ok 2 -
ok 3 -
ok 4 -
ok 5 -
ok 6 -
ok 7 -
ok 8 -
ok 9 -
ok 10 -
ok 11 -
ok 12 -
ok 13 -
ok 14 -
ok 15 -
ok 16 -
ok 17 -
ok 18 -
ok 19 -
ok 20 -
ok 21 -
ok 22 -
ok 23 -
ok 24 -
ok 25 -
ok 26 -
ok 27 -
ok 28 -
1..28
==29452==
==29452== ERROR SUMMARY: 18 errors from 14 contexts (suppressed: 19
from 1)
==29452== malloc/free: in use at exit: 1,714,030 bytes in 36,963 blocks.
==29452== malloc/free: 572,075 allocs, 535,112 frees, 10,832,681
bytes allocated.
==29452== For counts of detected errors, rerun with: -v
==29452== searching for pointers to 36,963 not-freed blocks.
==29452== checked 2,020,940 bytes.
==29452==
==29452==
==29452== 5 bytes in 1 blocks are definitely lost in loss record 1 of 21
==29452== at 0x401D4B0: malloc (vg_replace_malloc.c:149)
==29452== by 0x80AC69D: Perl_savesharedpv (in /usr/bin/perl5.8.8)
==29452== by 0x8064EF5: (within /usr/bin/perl5.8.8)
==29452== by 0x80671CB: perl_parse (in /usr/bin/perl5.8.8)
==29452== by 0x805FF71: main (in /usr/bin/perl5.8.8)
==29452==
==29452==
==29452== 68 bytes in 1 blocks are possibly lost in loss record 6 of 21
==29452== at 0x401C7EF: calloc (vg_replace_malloc.c:279)
==29452== by 0x400E188: (within /lib/ld-2.3.6.so)
==29452== by 0x400E214: (within /lib/ld-2.3.6.so)
==29452== by 0x400E257: _dl_allocate_tls (in /lib/ld-2.3.6.so)
==29452== by 0x4054FBD: __pthread_initialize_minimal (in /lib/
libpthread-0.10.so)
==29452== by 0x40511C4: (within /lib/libpthread-0.10.so)
==29452== by 0x4050BFF: (within /lib/libpthread-0.10.so)
==29452== by 0x400B7F4: (within /lib/ld-2.3.6.so)
==29452== by 0x400B94C: (within /lib/ld-2.3.6.so)
==29452== by 0x40007EE: (within /lib/ld-2.3.6.so)
==29452==
==29452==
==29452== 2,768 bytes in 1 blocks are possibly lost in loss record 13
of 21
==29452== at 0x401C6DB: memalign (vg_replace_malloc.c:332)
==29452== by 0x400E1E6: (within /lib/ld-2.3.6.so)
==29452== by 0x400E257: _dl_allocate_tls (in /lib/ld-2.3.6.so)
==29452== by 0x4054FBD: __pthread_initialize_minimal (in /lib/
libpthread-0.10.so)
==29452== by 0x40511C4: (within /lib/libpthread-0.10.so)
==29452== by 0x4050BFF: (within /lib/libpthread-0.10.so)
==29452== by 0x400B7F4: (within /lib/ld-2.3.6.so)
==29452== by 0x400B94C: (within /lib/ld-2.3.6.so)
==29452== by 0x40007EE: (within /lib/ld-2.3.6.so)
==29452==
==29452==
==29452== 12,410 (1,763 direct, 10,647 indirect) bytes in 15 blocks
are definitely lost in loss record 14 of 21
==29452== at 0x401D4B0: malloc (vg_replace_malloc.c:149)
==29452== by 0x80AC83E: Perl_safesysmalloc (in /usr/bin/perl5.8.8)
==29452== by 0x80EA9CA: Perl_new_stackinfo (in /usr/bin/perl5.8.8)
==29452== by 0x8061123: Perl_init_stacks (in /usr/bin/perl5.8.8)
==29452== by 0x80688CA: perl_construct (in /usr/bin/perl5.8.8)
==29452== by 0x805FF39: main (in /usr/bin/perl5.8.8)
==29452==
==29452==
==29452== 6,352 bytes in 2 blocks are definitely lost in loss record
16 of 21
==29452== at 0x401D5AB: realloc (vg_replace_malloc.c:306)
==29452== by 0x80AF267: Perl_safesysrealloc (in /usr/bin/perl5.8.8)
==29452== by 0x80EA86E: Perl_push_scope (in /usr/bin/perl5.8.8)
==29452== by 0x808A3F1: Perl_peep (in /usr/bin/perl5.8.8)
==29452== by 0x808A6B5: Perl_peep (in /usr/bin/perl5.8.8)
==29452== by 0x808A733: Perl_peep (in /usr/bin/perl5.8.8)
==29452== by 0x808A6B5: Perl_peep (in /usr/bin/perl5.8.8)
==29452== by 0x808A6B5: Perl_peep (in /usr/bin/perl5.8.8)
==29452== by 0x808A6B5: Perl_peep (in /usr/bin/perl5.8.8)
==29452== by 0x808A6B5: Perl_peep (in /usr/bin/perl5.8.8)
==29452== by 0x808A6B5: Perl_peep (in /usr/bin/perl5.8.8)
==29452== by 0x808A6B5: Perl_peep (in /usr/bin/perl5.8.8)
==29452==
==29452==
==29452== 180,628 bytes in 13 blocks are possibly lost in loss record
20 of 21
==29452== at 0x401D4B0: malloc (vg_replace_malloc.c:149)
==29452== by 0x80AC83E: Perl_safesysmalloc (in /usr/bin/perl5.8.8)
==29452== by 0x80B6646: Perl_reentrant_init (in /usr/bin/perl5.8.8)
==29452== by 0x8068AE5: perl_construct (in /usr/bin/perl5.8.8)
==29452== by 0x805FF39: main (in /usr/bin/perl5.8.8)
==29452==
==29452== LEAK SUMMARY:
==29452== definitely lost: 8,120 bytes in 18 blocks.
==29452== indirectly lost: 10,647 bytes in 20 blocks.
==29452== possibly lost: 183,464 bytes in 15 blocks.
==29452== still reachable: 1,511,799 bytes in 36,910 blocks.
==29452== suppressed: 0 bytes in 0 blocks.
==29452== Reachable blocks (those to which a pointer was found) are
not shown.
==29452== To see them, rerun with: --leak-check=full --show-
reachable=yes