> I get segfaults on both 5.8.1 and bleadperl for the script. This is > what valgrind says. Anybody have any suggestions for what to look > for? For reference, I've attached Valgrind's output for your test case (xxx.pl) and my test case (test.pl) on my Debian system. KEN -- Kenneth J. Pronovici <pronovic@debian.org>
==21993== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux. ==21993== Copyright (C) 2002-2003, and GNU GPL'd, by Julian Seward. ==21993== Using valgrind-20031012, a program supervision framework for x86-linux. ==21993== Copyright (C) 2000-2003, and GNU GPL'd, by Julian Seward. ==21993== ==21993== My PID = 21993, parent PID = 21945. Prog and args are: ==21993== perl ==21993== test.pl ==21993== Estimated CPU clock rate is 848 MHz ==21993== For more details, rerun with: -v ==21993== ==21993== Conditional jump or move depends on uninitialised value(s) ==21993== at 0x40008ABA: _dl_relocate_object_internal (in /lib/ld-2.3.2.so) ==21993== by 0x403A6CF0: (within /lib/libc-2.3.2.so) ==21993== by 0x4000B115: _dl_catch_error_internal (in /lib/ld-2.3.2.so) ==21993== by 0x403A6F5B: _dl_open (in /lib/libc-2.3.2.so) ==21993== ==21993== Conditional jump or move depends on uninitialised value(s) ==21993== at 0x40008B05: _dl_relocate_object_internal (in /lib/ld-2.3.2.so) ==21993== by 0x403A6CF0: (within /lib/libc-2.3.2.so) ==21993== by 0x4000B115: _dl_catch_error_internal (in /lib/ld-2.3.2.so) ==21993== by 0x403A6F5B: _dl_open (in /lib/libc-2.3.2.so) ==21993== valgrind's libpthread.so: KLUDGED call to: siglongjmp (cleanup handlers are ignored) ==21993== valgrind's libpthread.so: KLUDGED call to: siglongjmp (cleanup handlers are ignored) ==21993== ==21993== Invalid read of size 1 ==21993== at 0x80E2490: Perl_sv_clean_objs (in /usr/bin/perl) ==21993== by 0x8061A62: perl_destruct (in /usr/bin/perl) ==21993== by 0x805F9CC: main (in /usr/bin/perl) ==21993== by 0x402B5DBD: __libc_start_main (in /lib/libc-2.3.2.so) ==21993== Address 0x416F9278 is 4 bytes after a block of size 2032 alloc'd ==21993== at 0x4002AA0D: malloc (vg_replace_malloc.c:153) ==21993== by 0x80B7C9C: Perl_safesysmalloc (in /usr/bin/perl) ==21993== by 0x80C410E: Perl_av_extend (in /usr/bin/perl) ==21993== by 0x80F35AB: Perl_stack_grow (in /usr/bin/perl) ==21993== ==21993== Invalid read of size 4 ==21993== at 0x80E2496: Perl_sv_clean_objs (in /usr/bin/perl) ==21993== by 0x8061A62: perl_destruct (in /usr/bin/perl) ==21993== by 0x805F9CC: main (in /usr/bin/perl) ==21993== by 0x402B5DBD: __libc_start_main (in /lib/libc-2.3.2.so) ==21993== Address 0x416F9274 is 0 bytes after a block of size 2032 alloc'd ==21993== at 0x4002AA0D: malloc (vg_replace_malloc.c:153) ==21993== by 0x80B7C9C: Perl_safesysmalloc (in /usr/bin/perl) ==21993== by 0x80C410E: Perl_av_extend (in /usr/bin/perl) ==21993== by 0x80F35AB: Perl_stack_grow (in /usr/bin/perl) ==21993== ==21993== Invalid read of size 4 ==21993== at 0x80E4A45: (within /usr/bin/perl) ==21993== by 0x80E251F: Perl_sv_clean_objs (in /usr/bin/perl) ==21993== by 0x8061A62: perl_destruct (in /usr/bin/perl) ==21993== by 0x805F9CC: main (in /usr/bin/perl) ==21993== Address 0x416F9AD0 is not stack'd, malloc'd or free'd ==21993== ==21993== Invalid read of size 4 ==21993== at 0x80E4A54: (within /usr/bin/perl) ==21993== by 0x80E251F: Perl_sv_clean_objs (in /usr/bin/perl) ==21993== by 0x8061A62: perl_destruct (in /usr/bin/perl) ==21993== by 0x805F9CC: main (in /usr/bin/perl) ==21993== Address 0x416F9B34 is 8 bytes before a block of size 17 free'd ==21993== at 0x4002AD17: free (vg_replace_malloc.c:231) ==21993== by 0x80D5E77: Perl_sv_clear (in /usr/bin/perl) ==21993== by 0x80D5860: Perl_sv_replace (in /usr/bin/perl) ==21993== by 0x80F2C20: Perl_leave_scope (in /usr/bin/perl) ==21993== ==21993== Invalid read of size 4 ==21993== at 0x80E4A56: (within /usr/bin/perl) ==21993== by 0x80E251F: Perl_sv_clean_objs (in /usr/bin/perl) ==21993== by 0x8061A62: perl_destruct (in /usr/bin/perl) ==21993== by 0x805F9CC: main (in /usr/bin/perl) ==21993== Address 0xFFFFFFF3 is not stack'd, malloc'd or free'd
==21960== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux. ==21960== Copyright (C) 2002-2003, and GNU GPL'd, by Julian Seward. ==21960== Using valgrind-20031012, a program supervision framework for x86-linux. ==21960== Copyright (C) 2000-2003, and GNU GPL'd, by Julian Seward. ==21960== Estimated CPU clock rate is 847 MHz ==21960== For more details, rerun with: -v ==21960== ==21960== Conditional jump or move depends on uninitialised value(s) ==21960== at 0x40008ABA: _dl_relocate_object_internal (in /lib/ld-2.3.2.so) ==21960== by 0x403A6CF0: (within /lib/libc-2.3.2.so) ==21960== by 0x4000B115: _dl_catch_error_internal (in /lib/ld-2.3.2.so) ==21960== by 0x403A6F5B: _dl_open (in /lib/libc-2.3.2.so) ==21960== ==21960== Conditional jump or move depends on uninitialised value(s) ==21960== at 0x40008B05: _dl_relocate_object_internal (in /lib/ld-2.3.2.so) ==21960== by 0x403A6CF0: (within /lib/libc-2.3.2.so) ==21960== by 0x4000B115: _dl_catch_error_internal (in /lib/ld-2.3.2.so) ==21960== by 0x403A6F5B: _dl_open (in /lib/libc-2.3.2.so) ==21960== valgrind's libpthread.so: KLUDGED call to: siglongjmp (cleanup handlers are ignored) ==21960== valgrind's libpthread.so: KLUDGED call to: siglongjmp (cleanup handlers are ignored) ==21960== ==21960== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 1 from 1) ==21960== malloc/free: in use at exit: 621212 bytes in 12283 blocks. ==21960== malloc/free: 23632 allocs, 11349 frees, 14888871 bytes allocated. ==21960== For a detailed leak analysis, rerun with: --leak-check=yes ==21960== For counts of detected errors, rerun with: -v
Attachment:
pgpJZl1t838BK.pgp
Description: PGP signature