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