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