Package: perl
Version: 5.8.8-6.1
Severity: normal

Script attached will provoke a segfault or free()-related abort on
every Perl I've tried from 5.004 to 5.8.8.  Google shows nothing
relevant-looking for "segfault Perl_newSVpvn_share" so I believe it's
a new bug.  The code is of the form

  $hash{$newkey} ||= do {
    delete [EMAIL PROTECTED] if $maybe;
    $newval;
  };

but on most Perls it requires more than one call like this to break.

Stacktrace for 5.8.8-6.1

  [EMAIL PROTECTED]:~/cvswork-toy$ gdb -ex run -ex backtrace --args perl 
doodles/perlbug.delete-during.pl
  GNU gdb 6.4.90-debian
  Copyright (C) 2006 Free Software Foundation, Inc.
  GDB is free software, covered by the GNU General Public License, and you are
  welcome to change it and/or distribute copies of it under certain conditions.
  Type "show copying" to see the conditions.
  There is absolutely no warranty for GDB.  Type "show warranty" for details.
  This GDB was configured as "i486-linux-gnu"...(no debugging symbols found)
  Using host libthread_db library "/lib/tls/libthread_db.so.1".

  Starting program: /usr/bin/perl doodles/perlbug.delete-during.pl
  (no debugging symbols found)
  (no debugging symbols found)
  (no debugging symbols found)
  (no debugging symbols found)
  [Thread debugging using libthread_db enabled]
  [New Thread -1210636064 (LWP 26225)]
  (no debugging symbols found)
  (no debugging symbols found)
  (no debugging symbols found)
  xcimate(HASH(0x814f66c), 2): 41 in, 20 out, deleted (ba ag u g aa aq s c bk q 
w bs am bi bg ca m prod as ae o)
  xcimate(HASH(0x814f66c), 2): 21 in, 10 out, deleted (BANG y bm bo ak bu au i 
ac bw ai)

  Program received signal SIGSEGV, Segmentation fault.
  [Switching to Thread -1210636064 (LWP 26225)]
  0x080cab6f in Perl_newSVpvn_share ()
  #0  0x080cab6f in Perl_newSVpvn_share ()
  #1  0x080d64c7 in Perl_newSVhek ()
  #2  0x080b6eec in Perl_hv_iterkeysv ()
  #3  0x0810408c in Perl_do_kv ()
  #4  0x080bc3b9 in Perl_runops_standard ()
  #5  0x08063bfd in perl_run ()
  #6  0x0805ffd1 in main ()
  (gdb) 

I believe it's not a security problem because no program using this
construct could survive very long, so I doubt that user input could
make it worse.  (But I don't understand double-free exploits.)

[This bug reported from 'doorstop', I tweaked the Version: header at
the top to reflect the tests I did on 'yulu']

-- System Information:
Debian Release: 3.1
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 2.6.16.5-doorstop
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages perl depends on:
ii  libc6                 2.3.2.ds1-22sarge3 GNU C Library: Shared libraries an
di  libdb4.2              4.2.52-18          Berkeley v4.2 Database Libraries [
ii  libgdbm3              1.8.3-2            GNU dbm database routines (runtime
ii  perl-base             5.8.7-4            The Pathologically Eclectic Rubbis
ii  perl-modules          5.8.7-8            Core Perl modules

-- no debconf information
#! /usr/bin/perl
# the -T flag was not required

use strict;
use warnings;

=head1 DESCRIPTION

Exercise a bug in Perl, of the form

  $hash{foo} ||= do {
    delete [EMAIL PROTECTED] if $maybe;
    "bar";
  };

=cut

# This was originally a plain memoising construct, until I added cache
# purging to avoid excessive memory in the general case.
{
    my %H = ("a" .. "cb");

    sub thing {
	my ($k, $v) = @_;
	return $H{$k} ||= do {
	    xcimate(\%H, 2) if keys %H > 10;
	    $v;
	};
    }
}

thing(qw( prod 1 ));
thing(qw( BANG eek ));
foreach my $k ("foo" .. "frob") { thing($k, "$k:val") }  # this is a lot of iterations!

# Possibly depending on hash order, the first call may succeed.  If it
# doesn't go bang, give it a thorough frobbing.


### Hacked about from bin/du-priv.pl :

# A generalisation of decimating a hash.  Also a rotten pun since X is
# Roman for ten.  sub decimate { xcimate($_[0], 10) }
#
# Deletes the first and subsequent ($mod)th items, in the [untested]
# hope that this will adequately approximate removing a random
# selection.
#
# Doing this during an ||= element assignment will burst Perl v5.8.4
sub xcimate {
    my ($hashref, $mod) = @_;
    my $num = 0;
#    my $k;
    my @del;
#    while (defined ($k = each %$hashref)) {
# use of each was not required, we can list the keys up front and still break it
    foreach my $k (keys %$hashref) {
	if (0 == $num % $mod) {
	    delete $$hashref{$k};
	    push @del, $k;
	}
	$num ++;
    }
    my $k = keys %$hashref;
    warn "xcimate($hashref, $mod): $num in, $k out, deleted (@del)\n";
}



=head1 DETAILS

=head2 v5.8.4 (Sarge perl, testing libc6)

Earlier versions of the script on the same setup just segfaulted.

  [EMAIL PROTECTED]:~/cvswork-toy/doodles$ ./perlbug.delete-during.pl 
  xcimate(HASH(0x8161084), 2): 41 in, 20 out, deleted (ba ag u g aa aq s c bk q w bs am bi bg ca m prod as ae o)
  *** glibc detected *** double free or corruption (!prev): 0x0816adf0 ***
  Aborted

Perl info,

  [EMAIL PROTECTED]:~/cvswork-toy/doodles$ perl -v

  This is perl, v5.8.4 built for i386-linux-thread-multi

  Copyright 1987-2004, Larry Wall

  Perl may be copied only under the terms of either the Artistic License or the
  GNU General Public License, which may be found in the Perl 5 source kit.

  Complete documentation for Perl, including FAQ lists, should be found on
  this system using `man perl' or `perldoc perl'.  If you have access to the
  Internet, point your browser at http://www.perl.com/, the Perl Home Page.

  [EMAIL PROTECTED]:~/cvswork-toy/doodles$ perl -V
  Summary of my perl5 (revision 5 version 8 subversion 4) configuration:
    Platform:
      osname=linux, osvers=2.6.15.6, archname=i386-linux-thread-multi
      uname='linux ernie 2.6.15.6 #1 thu mar 16 13:11:55 est 2006 i686 gnulinux '
      config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i386-linux -Dprefix=/usr -Dprivlib=/usr/share/perl/5.8 -Darchlib=/usr/lib/perl/5.8 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.8.4 -Dsitearch=/usr/local/lib/perl/5.8.4 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Uusesfio -Uusenm -Duseshrplib -Dlibperl=libperl.so.5.8.4 -Dd_dosuid -des'
      hint=recommended, useposix=true, d_sigaction=define
      usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
      useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
      use64bitint=undef use64bitall=undef uselongdouble=undef
      usemymalloc=n, bincompat5005=undef
    Compiler:
      cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
      optimize='-O2',
      cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include'
      ccversion='', gccversion='3.3.5 (Debian 1:3.3.5-13)', gccosandvers=''
      intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
      d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
      ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
      alignbytes=4, prototype=define
    Linker and Libraries:
      ld='cc', ldflags =' -L/usr/local/lib'
      libpth=/usr/local/lib /lib /usr/lib
      libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
      perllibs=-ldl -lm -lpthread -lc -lcrypt
      libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so.5.8.4
      gnulibc_version='2.3.2'
    Dynamic Linking:
      dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
      cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


  Characteristics of this binary (from libperl): 
    Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
    Built under linux
    Compiled at May 10 2006 03:55:26
    %ENV:
      PERL5LIB="/home/mca1001/.perl5lib:/home/mca1001/cvswork/perl5lib"
    @INC:
      /home/mca1001/.perl5lib
      /home/mca1001/cvswork/perl5lib
      /etc/perl
      /usr/local/lib/perl/5.8.4
      /usr/local/share/perl/5.8.4
      /usr/lib/perl5
      /usr/share/perl5
      /usr/lib/perl/5.8
      /usr/share/perl/5.8
      /usr/local/lib/site_perl
      .
  [EMAIL PROTECTED]:~/cvswork-toy/doodles$ ls -l ~/.perl5lib
  ls: /home/mca1001/.perl5lib: No such file or directory
  [EMAIL PROTECTED]:~/cvswork-toy/doodles$ ls -ld ~/cvswork/perl5lib
  ls: /home/mca1001/cvswork/perl5lib: No such file or directory
  [EMAIL PROTECTED]:~/cvswork-toy/doodles$ dpkg -l perl\*
  Desired=Unknown/Install/Remove/Purge/Hold
  | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
  |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
  ||/ Name           Version        Description
  +++-==============-==============-============================================
  ii  perl           5.8.4-8sarge5  Larry Wall's Practical Extraction and Report
 (un's)
  ii  perl-base      5.8.4-8sarge5  The Pathologically Eclectic Rubbish Lister
  ii  perl-doc       5.8.4-8sarge5  Perl documentation
  ii  perl-modules   5.8.4-8sarge5  Core Perl modules
 (un's)

Oh, and

  +++-==============-==============-============================================
  ii  libc6          2.3.6.ds1-4    GNU C Library: Shared libraries
  ii  libdb4.2       4.2.52-18      Berkeley v4.2 Database Libraries [runtime]
  ii  libgdbm3       1.8.3-2        GNU dbm database routines (runtime version)

because I'm slightly on "testing".

=head2 v5.8.7 (post-Sarge testing)

  [EMAIL PROTECTED]:~$ perl -v

  This is perl, v5.8.7 built for i486-linux-gnu-thread-multi

  Copyright 1987-2005, Larry Wall

  Perl may be copied only under the terms of either the Artistic License or the
  GNU General Public License, which may be found in the Perl 5 source kit.

  Complete documentation for Perl, including FAQ lists, should be found on
  this system using `man perl' or `perldoc perl'.  If you have access to the
  Internet, point your browser at http://www.perl.org/, the Perl Home Page.

  [EMAIL PROTECTED]:~$ perl -V
  Summary of my perl5 (revision 5 version 8 subversion 7) configuration:
    Platform:
      osname=linux, osvers=2.4.27-ti1211, archname=i486-linux-gnu-thread-multi
      uname='linux kosh 2.4.27-ti1211 #1 sun sep 19 18:17:45 est 2004 i686 gnulinux '
      config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.8 -Darchlib=/usr/lib/perl/5.8 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.8.7 -Dsitearch=/usr/local/lib/perl/5.8.7 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Uusesfio -Uusenm -Duseshrplib -Dlibperl=libperl.so.5.8.7 -Dd_dosuid -des'
      hint=recommended, useposix=true, d_sigaction=define
      usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
      useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
      use64bitint=undef use64bitall=undef uselongdouble=undef
      usemymalloc=n, bincompat5005=undef
    Compiler:
      cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
      optimize='-O2',
      cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include'
      ccversion='', gccversion='4.0.1 20050701 (prerelease) (Debian 4.0.0-12)', gccosandvers=''
      intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
      d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
      ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
      alignbytes=4, prototype=define
    Linker and Libraries:
      ld='cc', ldflags =' -L/usr/local/lib'
      libpth=/usr/local/lib /lib /usr/lib
      libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
      perllibs=-ldl -lm -lpthread -lc -lcrypt
      libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so.5.8.7
      gnulibc_version='2.3.2'
    Dynamic Linking:
      dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
      cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


  Characteristics of this binary (from libperl): 
    Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
			  PERL_IMPLICIT_CONTEXT
    Built under linux
    Compiled at Jul  9 2005 12:16:40
    %ENV:
      PERL5LIB="/home/mca1001/.perl5lib:/home/mca1001/cvswork/perl5lib"
    @INC:
      /home/mca1001/.perl5lib
      /home/mca1001/cvswork/perl5lib
      /etc/perl
      /usr/local/lib/perl/5.8.7
      /usr/local/share/perl/5.8.7
      /usr/lib/perl5
      /usr/share/perl5
      /usr/lib/perl/5.8
      /usr/share/perl/5.8
      /usr/local/lib/site_perl
      .
  [EMAIL PROTECTED]:~$ dpkg -l perl perl-base perl-modules libc6 libdb4.2 libgdbm3
  Desired=Unknown/Install/Remove/Purge/Hold
  | Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
  |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
  ||/ Name                   Version                Description
  +++-======================-======================-============================================================
  ii  perl                   5.8.7-4                Larry Wall's Practical Extraction and Report Language
  ii  perl-base              5.8.7-4                The Pathologically Eclectic Rubbish Lister
  ii  perl-modules           5.8.7-8                Core Perl modules
  ii  libc6                  2.3.2.ds1-22sarge3     GNU C Library: Shared libraries and Timezone data
  ri  libdb4.2               4.2.52-18              Berkeley v4.2 Database Libraries [runtime]
  ii  libgdbm3               1.8.3-2                GNU dbm database routines (runtime version)

This is a slightly stale "testing".

=head2 v5.004

After replacing "use warnings" with -w switch and restoring the second
call to &thing,

  Bad free() ignored at perlbug.delete-during.pl line 11.

(This version retiring RSN!)

  cbi1a[mca]1010: perl5.004 -v

  This is perl, version 5.004_04 built for alpha-dec_osf

  Copyright 1987-1997, Larry Wall

  Perl may be copied only under the terms of either the Artistic License or the
  GNU General Public License, which may be found in the Perl 5.0 source kit.

  cbi1a[mca]1011: perl5.004 -V
  Summary of my perl5 (5.0 patchlevel 4 subversion 4) configuration:
    Platform:
      osname=dec_osf, osvers=4.0, archname=alpha-dec_osf
      uname='osf1 byron v4.0 878 alpha '
      hint=recommended, useposix=true, d_sigaction=define
      bincompat3=y useperlio=undef d_sfio=undef
    Compiler:
      cc='cc', optimize='-O4', gccversion=
      cppflags='-std -D_INTRINSICS -I/usr/local/include -D__LANGUAGE_C__'
      ccflags ='-std -D_INTRINSICS -I/usr/local/include -D__LANGUAGE_C__'
      stdchar='unsigned char', d_stdstdio=define, usevfork=false
      voidflags=15, castflags=0, d_casti32=define, d_castneg=define
      intsize=4, alignbytes=8, usemymalloc=y, prototype=define
    Linker and Libraries:
      ld='ld', ldflags =' -L/usr/local/lib'
      libpth=/usr/local/lib /usr/shlib /shlib /lib /usr/lib /usr/ccs/lib
      libs=-lgdbm -ldbm -ldb -lm
      libc=/usr/shlib/libc.so, so=so
      useshrplib=false, libperl=libperl.a
    Dynamic Linking:
      dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' '
      cccdlflags=' ', lddlflags='-shared -expect_unresolved "*" -O4 -msym -s -L/usr/local/lib'


  Characteristics of this binary (from libperl): 
    Built under dec_osf
    Compiled at Oct 27 1998 12:58:01
    %ENV:
      PERL5LIB="/usr/local/badger/lib/perl5:/usr/local/badger/bin:/nfs/disk100/pubseq/PerlModules/Modules"
    @INC:
      /usr/local/badger/lib/perl5
      /usr/local/badger/bin
      /nfs/disk100/pubseq/PerlModules/Modules/alpha-dec_osf
      /nfs/disk100/pubseq/PerlModules/Modules
      /usr/local/lib/perl5/alpha-dec_osf/5.00404
      /usr/local/lib/perl5
      /usr/local/lib/perl5/site_perl/alpha-dec_osf
      /usr/local/lib/perl5/site_perl
      .

=head2 v5.6.1

With extra thing calls like so,

  thing(qw( prod 1 ));
  thing(qw( BANG eek ));
  foreach my $k ("foo" .. "fzz") { thing($k, "$k:val") }

I get this,

  cbi1a[mca]1025: perl5.6.1 -T perlbug.delete-during.pl
  Starting thing(prod, 1)
  xcimate(HASH(0x1400199a0), 2): 41 in, 20 out, deleted (bw prod ac ae ai am aq au ay c g i k m o q s u w y bu)
  Starting thing(BANG, eek)
  xcimate(HASH(0x1400199a0), 2): 21 in, 10 out, deleted (by ca ak ao aw e bc bg bk bo bs)
  Starting thing(foo, foo:val)
  Segmentation fault
  cbi1a[mca]1026: perl5.6.1 -v

  This is perl, v5.6.1 built for alpha-dec_osf

  Copyright 1987-2001, Larry Wall

  Perl may be copied only under the terms of either the Artistic License or the
  GNU General Public License, which may be found in the Perl 5 source kit.

  Complete documentation for Perl, including FAQ lists, should be found on
  this system using `man perl' or `perldoc perl'.  If you have access to the
  Internet, point your browser at http://www.perl.com/, the Perl Home Page.

  cbi1a[mca]1027: perl5.6.1 -V
  Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
    Platform:
      osname=dec_osf, osvers=5.1, archname=alpha-dec_osf
      uname='osf1 fes1a v5.1 732 alpha '
      config_args=''
      hint=previous, useposix=true, d_sigaction=define
      usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
      useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
      use64bitint=define use64bitall=define uselongdouble=undef
    Compiler:
      cc='cc', ccflags ='-std -fprm d -ieee -D_INTRINSICS -I/usr/local/include -DLANGUAGE_C',
      optimize='-O4',
      cppflags='-std -ieee -D_INTRINSICS -I/usr/local/include -DLANGUAGE_C'
      ccversion='V6.3-028', gccversion='', gccosandvers=''
      intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
      d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
      ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
      alignbytes=8, usemymalloc=y, prototype=define
    Linker and Libraries:
      ld='ld', ldflags =' -L/usr/local/lib'
      libpth=/usr/local/lib /usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /var/shlib
      libs=-lgdbm -ldbm -ldb -lm -liconv -lutil
      perllibs=-lm -liconv -lutil
      libc=/usr/shlib/libc.so, so=so, useshrplib=true, libperl=libperl.so.6.1
    Dynamic Linking:
      dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='  -Wl,-rpath,/usr/local/lib/perl5/5.6.1/alpha-dec_osf/CORE'
      cccdlflags=' ', lddlflags='-shared -expect_unresolved "*" -O4 -msym -std -s -L/usr/local/lib'


  Characteristics of this binary (from libperl): 
    Compile-time options: USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES
    Built under dec_osf
    Compiled at Feb 27 2002 13:44:29
    %ENV:
      PERL5LIB="/usr/local/badger/lib/perl5:/usr/local/badger/bin:/nfs/disk100/pubseq/PerlModules/Modules"
    @INC:
      /usr/local/badger/lib/perl5/5.6.1/alpha-dec_osf
      /usr/local/badger/lib/perl5/5.6.1
      /usr/local/badger/lib/perl5
      /usr/local/badger/bin
      /nfs/disk100/pubseq/PerlModules/Modules/alpha-dec_osf
      /nfs/disk100/pubseq/PerlModules/Modules
      /usr/local/lib/perl5/5.6.1/alpha-dec_osf
      /usr/local/lib/perl5/5.6.1
      /usr/local/lib/perl5/site_perl/5.6.1/alpha-dec_osf
      /usr/local/lib/perl5/site_perl/5.6.1
      /usr/local/lib/perl5/site_perl
      /usr/local/badger/bin
      /nfs/disk100/pubseq/PerlModules/Modules/alpha-dec_osf
      /nfs/disk100/pubseq/PerlModules/Modules
      /nfs/disk100/pubseq/PerlModules/Modules/alpha-dec_osf
      .

=head2 v5.8.8 (testing)

Upgraded to Perl from testing (2006-10-01), while appreciating that
doing this with aptitude & friends is much easier than hauling
source...

I had to modify the script again to break it.

  [EMAIL PROTECTED]:~/cvswork-toy/doodles$ ./perlbug.delete-during.pl 
  xcimate(HASH(0x814f618), 2): 41 in, 20 out, deleted (ba ag u g aa aq s c bk q w bs am bi bg ca m prod as ae o)
  xcimate(HASH(0x814f618), 2): 21 in, 10 out, deleted (BANG y bm bo ak bu au i ac bw ai)
  xcimate(HASH(0x814f618), 2): 11 in, 5 out, deleted (a e be ao aw bq)
  xcimate(HASH(0x814f618), 2): 11 in, 5 out, deleted (foq for fou fop bc fos)
  xcimate(HASH(0x814f618), 2): 11 in, 5 out, deleted (fov by foy fow fpa foz)
  Segmentation fault
  [EMAIL PROTECTED]:~/cvswork-toy/doodles$ perl -v

  This is perl, v5.8.8 built for i486-linux-gnu-thread-multi

  Copyright 1987-2006, Larry Wall

  Perl may be copied only under the terms of either the Artistic License or the
  GNU General Public License, which may be found in the Perl 5 source kit.

  Complete documentation for Perl, including FAQ lists, should be found on
  this system using "man perl" or "perldoc perl".  If you have access to the
  Internet, point your browser at http://www.perl.org/, the Perl Home Page.

  [EMAIL PROTECTED]:~/cvswork-toy/doodles$ perl -V
  Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
    Platform:
      osname=linux, osvers=2.6.15-1-686, archname=i486-linux-gnu-thread-multi
      uname='linux ulises 2.6.15-1-686 #2 mon mar 6 15:27:08 utc 2006 i686 gnulinux '
      config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i486-linux-gnu -Dprefix=/usr -Dprivlib=/usr/share/perl/5.8 -Darchlib=/usr/lib/perl/5.8 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.8.8 -Dsitearch=/usr/local/lib/perl/5.8.8 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Uusesfio -Uusenm -Duseshrplib -Dlibperl=libperl.so.5.8.8 -Dd_dosuid -des'
      hint=recommended, useposix=true, d_sigaction=define
      usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
      useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
      use64bitint=undef use64bitall=undef uselongdouble=undef
      usemymalloc=n, bincompat5005=undef
    Compiler:
      cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
      optimize='-O2',
      cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include'
      ccversion='', gccversion='4.1.2 20060729 (prerelease) (Debian 4.1.1-10)', gccosandvers=''
      intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
      d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
      ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
      alignbytes=4, prototype=define
    Linker and Libraries:
      ld='cc', ldflags =' -L/usr/local/lib'
      libpth=/usr/local/lib /lib /usr/lib
      libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
      perllibs=-ldl -lm -lpthread -lc -lcrypt
      libc=/lib/libc-2.3.6.so, so=so, useshrplib=true, libperl=libperl.so.5.8.8
      gnulibc_version='2.3.6'
    Dynamic Linking:
      dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
      cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


  Characteristics of this binary (from libperl): 
    Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
			  PERL_MALLOC_WRAP THREADS_HAVE_PIDS USE_ITHREADS
			  USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API
    Built under linux
    Compiled at Aug  6 2006 15:35:16
    %ENV:
      PERL5LIB="/home/mca1001/.perl5lib:/home/mca1001/cvswork/perl5lib"
    @INC:
      /home/mca1001/.perl5lib
      /home/mca1001/cvswork/perl5lib
      /etc/perl
      /usr/local/lib/perl/5.8.8
      /usr/local/share/perl/5.8.8
      /usr/lib/perl5
      /usr/share/perl5
      /usr/lib/perl/5.8
      /usr/share/perl/5.8
      /usr/local/lib/site_perl
      .

=head1 OLD VERSIONS

This script in CVS at

  http://www.t8o.org/~mca1001/cgi/viewcvs/doodles/perlbug.delete-during.pl

=head COPYRIGHT

None, it's a bug exercise script.

=cut

Reply via email to