Package: perl
Version: 5.10.0-14
Severity: normal
The following test code will trigger a crash:
{
package Foo;
use Tie::Hash;
use base qw(Tie::StdHash);
sub new {
my $proto = shift;
my $inner = bless {};
my %outer;
tie %outer, __PACKAGE__, $inner;
bless \%outer;
}
}
my $h = Foo->new();
($h->{prog_name} = $0) =~ s|^.*/([^/]+)$|$1|;
*** glibc detected *** /usr/bin/perl: double free or corruption (fasttop):
0x082cf050 ***
======= Backtrace: =========
/lib/i686/cmov/libc.so.6[0xb7de14f4]
/lib/i686/cmov/libc.so.6(cfree+0x96)[0xb7de36f6]
/usr/bin/perl(Perl_pp_substcont+0x3bf)[0x80f013f]
/usr/bin/perl(Perl_runops_standard+0x19)[0x80b17a9]
/usr/bin/perl(perl_run+0x2e0)[0x80ac5d0]
/usr/bin/perl(main+0xed)[0x8063ddd]
/lib/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7d89455]
/usr/bin/perl[0x8063c51]
======= Memory map: ========
08048000-08179000 r-xp 00000000 08:06 2834763 /usr/bin/perl
08179000-0817b000 rw-p 00130000 08:06 2834763 /usr/bin/perl
0817b000-08598000 rw-p 0817b000 00:00 0 [heap]
b7900000-b7921000 rw-p b7900000 00:00 0
...
A simple assignment (e.g. ($h->{prog_name})= $0 =~ m|([^/]+)$| ) works.
The same crash happens on lenny/amd64, while older systems (etch) are o.k.
I have heard that similar problems occur on other systems (redhat) with
a newer glibc version.
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (500, 'testing'), (500, 'stable')
Architecture: i386 (i686)
Kernel: Linux 2.6.23.17 (PREEMPT)
Locale: LANG=, LC_CTYPE=en_US.ISO-8859-1 (charmap=ISO-8859-1)
Shell: /bin/sh linked to /bin/bash
Versions of packages perl depends on:
ii libc6 2.7-13 GNU C Library: Shared libraries
ii libdb4.6 4.6.21-8 Berkeley v4.6 Database Libraries [
ii libgdbm3 1.8.3-3 GNU dbm database routines (runtime
ii perl-base 5.10.0-14 minimal Perl system
ii perl-modules 5.10.0-14 Core Perl modules
-- no debconf information
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]