Libc6 malloc bites?

jeremy at itassist.net.au jeremy at itassist.net.au
Sat Sep 1 10:38:58 EST 2001


I've got a perl program segfaulting.  This problem got my interest
because I couldn't nail down where it blew out.  I was iterating over an
array, and the act of adding debugging prints would move which array
element would cause the segfault.  I also can't localise it to a certain
statement.

A backtrace shows:
#0  0x400b9fe9 in malloc () from /lib/libc.so.6
#1  0x400b9e44 in malloc () from /lib/libc.so.6
#2  0x808b7cb in Perl_safemalloc ()
#3  0x809e77a in Perl_sv_grow ()
#4  0x80a1d66 in Perl_newSV ()
#5  0x80b35b5 in Perl_pp_split ()
#6  0x80972c0 in Perl_runops_standard ()
#7  0x805c795 in perl_run ()
#8  0x805c4fb in perl_run ()
#9  0x8059ed0 in main ()
#10 0x4006564f in __libc_start_main () from /lib/libc.so.6

Am I correct in thinking that this is malloc from libc causing the
trouble?  Is there a chance that going forwards or backwards a version
will help?

And if it is libc, how can I get more information on how malloc was
called?  I've tried reading the gdb docos but I'm not a C coder.  It
seems gdb can track variables, but that doesn't help because Perl isn't
going to tag a SV with a name so I can track it with gdb.

Any pointers in the right direction would be appreciated.


Currently running Perl 5.6.1 on Debian Woody libc 2.2.4-1
-- 
I/O, I/O,
It's off to disk I go,
A bit or byte to read or write,
I/O, I/O, I/O...






More information about the linux mailing list