Skip Menu |

This queue is for tickets about the IO-Compress CPAN distribution.

Report information
The Basics
Id: 57117
Status: resolved
Priority: 0/
Queue: IO-Compress

People
Owner: Nobody in particular
Requestors: xenoterracide@gmail.com (no email address)
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: perl 5.12 causes warnings about unitialized values
Use of uninitialized value $status in numeric ne (!=) at /tmp/packerbuild-1000/perl-io-compress/perl-io-compress/src/IO-Compress- 2.027/blib/lib/IO/Uncompress/Adapter/Inflate.pm line 42. constantly getting this from various programs... including your test suite (this error is while that suite is running during an automated build) didn't have this error with perl 5.10
On Sat May 01 12:49:05 2010, http://xenoterracide.blogspot.com/ wrote: Show quoted text
> Use of uninitialized value $status in numeric ne (!=) at > /tmp/packerbuild-1000/perl-io-compress/perl-io-compress/src/IO-Compress- > 2.027/blib/lib/IO/Uncompress/Adapter/Inflate.pm line 42. > > constantly getting this from various programs... including your test > suite (this error is while that suite is running during an automated > build) didn't have this error with perl 5.10
Thanks for the problem report. Unfortunately, I don't see the uninitialised warning when I run my test harness with 5.12. Any idea which test (or tests) is causing the problem? Can you tell me more about your setup please? The output from "perl -V" is probably enough. cheers Paul
as far as which test... it's like every one of them... Summary of my perl5 (revision 5 version 12 subversion 0) configuration: Platform: osname=linux, osvers=2.6.33-arch, archname=x86_64-linux-thread-multi uname='linux slave4 2.6.33-arch #1 smp preempt mon apr 26 19:31:00 cest 2010 x86_64 intel(r) core(tm)2 quad cpu q6600 @ 2.40ghz genuineintel gnulinux ' config_args='-des -Dusethreads -Duseshrplib -Doptimize=-march=x86-64 -mtune=generic -O2 -pipe -Dprefix=/usr -Dinstallprefix=/usr - Dvendorprefix=/usr -Dprivlib=/usr/share/perl5/core_perl - Darchlib=/usr/lib/perl5/core_perl - Dsitelib=/usr/share/perl5/site_perl/5.12.0 - Dsitearch=/usr/lib/perl5/site_perl/5.12.0 - Dvendorlib=/usr/share/perl5/vendor_perl - Dvendorarch=/usr/lib/perl5/vendor_perl - Dotherlibdirs=/usr/lib/perl5/current:/usr/lib/perl5/site_perl/current - Dscriptdir=/usr/bin/perlbin/core -Dsitescript=/usr/bin/perlbin/site - Dvendorscript=/usr/bin/perlbin/vendor -Dinc_version_list=none - Dman1ext=1perl -Dman3ext=3perl -Dcccdlflags='-fPIC'' hint=previous, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing - pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE - D_FILE_OFFSET_BITS=64', optimize='-march=x86-64 -mtune=generic -O2 -pipe', cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe - fstack-protector -I/usr/local/include -D_REENTRANT -D_GNU_SOURCE -fno- strict-aliasing -pipe -fstack-protector -I/usr/local/include - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE - fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE - fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE - fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE - fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include - D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' ccversion='', gccversion='4.5.0', 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, prototype=define Linker and Libraries: ld='cc', ldflags =' -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc - lgdbm_compat perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=/lib/libc-2.11.1.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.11.1' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E - Wl,-rpath,/usr/lib/perl5/core_perl/CORE' cccdlflags='-fPIC', lddlflags='-shared -march=x86-64 -mtune=generic -O2 -pipe -L/usr/local/lib -fstack-protector' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API Built under linux Compiled at May 1 2010 13:18:39 @INC: /usr/lib/perl5/site_perl/5.12.0 /usr/share/perl5/site_perl/5.12.0 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl /usr/lib/perl5/current /usr/lib/perl5/site_perl/current .
I think I'm going to have to replicate your setup to reproduce the problem. What Linux distribution are you running? Did you build Perl yourself, or did it come with the distribution? Looking at your output from "perl -V", I suspect the latter. If you have you a script to build your perl, can you send me a copy please? Paul
On Sun May 02 06:08:25 2010, PMQS wrote: Show quoted text
> I think I'm going to have to replicate your setup to reproduce the > problem. What Linux distribution are you running?
Arch linux (updated daily) Show quoted text
> Did you build Perl yourself, or did it come with the distribution?
built it myself I'm trying to get a working 5.12 minor modifications from the script the distro uses (such as removing a patch that changed the @INC order which is now default in 5.12, and a whole new provides list) Show quoted text
> u a script to build your perl, can you send me a copy please?
http://gist.github.com/386418 link to whatever I'm playing with for the script now. the original distribution script can be found in ABS. I'll be doing a clean install of the distro this week. hopefully, it's not something screwy on my system causing this.
On Sun May 02 06:08:25 2010, PMQS wrote: Show quoted text
> I think I'm going to have to replicate your setup to reproduce the > problem. What Linux distribution are you running?
If you are installing arch I recommend trying to install from newer medium than what's on the site because of changes in the last 6 months. (I don't know why they haven't updated yet) http://build.archlinux.org/isos/
Thanks - will give that a go.
On Sun May 02 07:02:45 2010, PMQS wrote: Show quoted text
> Thanks - will give that a go.
here's a link to the pkgbuild for IO::Compress http://aur.archlinux.org/packages.php?ID=34517
I've downloaded an archlinux ISO from http://build.archlinux.org/isos/ & created a virtual box install with it. One thing I notice that is different from the perl -V output you sent me is the version of gcc - it has 4,4.3 and your perl was built with 4.5.0 Paul
Show quoted text
> has 4,4.3 and your perl was built with 4.5.0
run pacman -Syu we just updated to gcc 4.5.0 this week (and I think we did that a little fast... ) so it won't be on an iso yet. If 4.5.0 is the problem. then It needs to be reported to the appropriate parties (be that perl or gcc)
On Sun May 02 08:34:09 2010, http://xenoterracide.blogspot.com/ wrote: Show quoted text
> > has 4,4.3 and your perl was built with 4.5.0
> > run pacman -Syu we just updated to gcc 4.5.0 this week (and I think we > did that a little fast... ) so it won't be on an iso yet. If 4.5.0 is the > problem. then It needs to be reported to the appropriate parties (be that > perl or gcc)
Having a bit of difficulty with the pacman command - it's complaining about no servers being configured for repository. Never used arch linux before, so could do with hand setting it up. In the interim I built 5.12 on arch linux & the built IO::Compress with that. All OK. The gcc is 4.4.3. Did you have the same problem with the older gcc? I also got a 64-bit Ubuntu & installed gcc 4.5 on it. Again no problem with Perl 5.12 (using your setup) and IO::Compress. Has your Perl 5.12.0 had any changes applied to it? Paul
On Mon May 03 05:50:21 2010, PMQS wrote: Show quoted text
> On Sun May 02 08:34:09 2010, http://xenoterracide.blogspot.com/ wrote:
> > > has 4,4.3 and your perl was built with 4.5.0
> > > > run pacman -Syu we just updated to gcc 4.5.0 this week (and I think
we Show quoted text
> > did that a little fast... ) so it won't be on an iso yet. If 4.5.0
is the Show quoted text
> > problem. then It needs to be reported to the appropriate parties (be
that Show quoted text
> > perl or gcc)
> > Having a bit of difficulty with the pacman command - it's complaining > about no servers being configured for repository. Never used arch
linux Show quoted text
> before, so could do with hand setting it up.
that should have been set up on install... huh. in /etc/pacman.conf I have [core] Include=/etc/pacman.d/mirrorlist Server=ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$rep o/os/x86_64 [extra] Include=/etc/pacman.d/mirrorlist Server=ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$rep o/os/x86_64 [community] Include=/etc/pacman.d/mirrorlist Server=ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$rep o/os/x86_64 and /etc/pacman.d/mirrorlist Server = ftp://mirrors.kernel.org/archlinux/$repo/os/x86_64 (guess I could just use the same mirrors for both but that's besides the point) Show quoted text
> In the interim I built 5.12 on arch linux & the built IO::Compress
with Show quoted text
> that. All OK. The gcc is 4.4.3. Did you have the same problem with the > older gcc?
I didn't try until after 4.5 was released. As soon as my new drives come in and are tested I have to do a clean install (today or tomorrow. though I expect running badblocks on 2 1 TB drives to take a while ). Show quoted text
> I also got a 64-bit Ubuntu & installed gcc 4.5 on it. Again no problem > with Perl 5.12 (using your setup) and IO::Compress. > > Has your Perl 5.12.0 had any changes applied to it?
It's vanilla perl. if you look at the build() section of the PKGBUILD http://gist.github.com/386418 you'll see everything that's done to it. all the configure flags, apparently a few post install sed patches. in 5.10 there was that @INC patch but that's been removed as it shouldn't be needed for 5.12.
On Mon May 03 06:16:56 2010, http://xenoterracide.blogspot.com/ wrote: Show quoted text
> On Mon May 03 05:50:21 2010, PMQS wrote:
> > On Sun May 02 08:34:09 2010, http://xenoterracide.blogspot.com/ wrote:
> > > > has 4,4.3 and your perl was built with 4.5.0
> > > > > > run pacman -Syu we just updated to gcc 4.5.0 this week (and I think
> we
> > > did that a little fast... ) so it won't be on an iso yet. If 4.5.0
> is the
> > > problem. then It needs to be reported to the appropriate parties (be
> that
> > > perl or gcc)
> > > > Having a bit of difficulty with the pacman command - it's complaining > > about no servers being configured for repository. Never used arch
> linux
> > before, so could do with hand setting it up.
> > that should have been set up on install... huh. > > in /etc/pacman.conf I have > [core] > Include=/etc/pacman.d/mirrorlist > Server=ftp://ftp.gtlib.gatech.edu/pub/linux/distributions/archlinux/$rep > o/os/x86_64
... Thanks, that did the trick. pacman is fetching packages now. Show quoted text
> > I didn't try until after 4.5 was released. As soon as my new drives come > in and are tested I have to do a clean install (today or tomorrow. > though I expect running badblocks on 2 1 TB drives to take a while ). >
> > I also got a 64-bit Ubuntu & installed gcc 4.5 on it. Again no problem > > with Perl 5.12 (using your setup) and IO::Compress. > > > > Has your Perl 5.12.0 had any changes applied to it?
> > It's vanilla perl. if you look at the build() section of the PKGBUILD > http://gist.github.com/386418 you'll see everything that's done to it. > all the configure flags, apparently a few post install sed patches. in > 5.10 there was that @INC patch but that's been removed as it shouldn't > be needed for 5.12.
OK, nothing out of the ordinary there then. Right - pacman -Syu has finished cooking & I've built 5.0.12 with gcc 4.5 on Arch Linux using the flags you used. Sorry, still no joy - all the the compress test files work fine for me. Does anyone else in the Alpha Linux community report the same issue? Paul
Subject: Re: [rt.cpan.org #57117] perl 5.12 causes warnings about unitialized values
Date: Mon, 3 May 2010 18:27:32 -0400
To: bug-IO-Compress [...] rt.cpan.org
From: Caleb Cushing <xenoterracide [...] gmail.com>
On Mon, May 3, 2010 at 5:53 PM, Paul Marquess via RT <bug-IO-Compress@rt.cpan.org> wrote: Show quoted text
> Does anyone else in the Alpha Linux community report the same issue? >
not yet but so far as far as I know I'm one of 2 who's tested and the other was on the older gcc. maybe it's something subtle in my setup. hmm... are you running the test scripts from the make install? or have you tried to install the perl 5.12 build and then tried to install the io-compress pkgbuild. -- Caleb Cushing http://xenoterracide.blogspot.com
On Mon May 03 18:27:58 2010, xenoterracide@gmail.com wrote: Show quoted text
> On Mon, May 3, 2010 at 5:53 PM, Paul Marquess via RT > <bug-IO-Compress@rt.cpan.org> wrote:
> > Does anyone else in the Alpha Linux community report the same issue? > >
> > not yet but so far as far as I know I'm one of 2 who's tested and the > other was on the older gcc. maybe it's something subtle in my setup. > hmm... are you running the test scripts from the make install? or have > you tried to install the perl 5.12 build and then tried to install the > io-compress pkgbuild. >
I built both Perl 5.12 & the compression modules from source. Paul
Perl 5.12 has finally made it into our testing repo and I'm experiencing the same problem.... this is my /etc/pacman.conf a pacman -Syu after this would update to perl-5.12 that we have built. I'm running x86_64 (which I notice has slightly different compile options than i686 in the pkgbuild) [options] HoldPkg=pacman glibc SyncFirst=pacman XferCommand=/usr/bin/wget %u [testing] Include=/etc/pacman.d/mirrorlist Server = ftp://mirrors.kernel.org/archlinux/$repo/os/x86_64 [core] Include=/etc/pacman.d/mirrorlist Server = ftp://mirrors.kernel.org/archlinux/$repo/os/x86_64 [extra] Include=/etc/pacman.d/mirrorlist Server = ftp://mirrors.kernel.org/archlinux/$repo/os/x86_64 [community] Include=/etc/pacman.d/mirrorlist Server = ftp://mirrors.kernel.org/archlinux/$repo/os/x86_64
I updated using your new pacman.conf definition. Unfortunately /usr/bin/perl is version 5.10.1. The output from perl -V says it was built in October 2009. Paul
Subject: Re: [rt.cpan.org #57117] perl 5.12 causes warnings about unitialized values
Date: Wed, 12 May 2010 15:09:27 -0400
To: bug-IO-Compress [...] rt.cpan.org
From: Caleb Cushing <xenoterracide [...] gmail.com>
On Wed, May 12, 2010 at 2:30 PM, Paul Marquess via RT <bug-IO-Compress@rt.cpan.org> wrote: Show quoted text
> I updated using your new pacman.conf definition. Unfortunately > /usr/bin/perl is version 5.10.1. The output from perl -V says it was > built in October 2009.
[testing] is now the first mirror listed in your pacman.conf right? and when you run pacman -Syu it show's it fetching testing? -- Caleb Cushing http://xenoterracide.blogspot.com
On Wed May 12 15:09:38 2010, xenoterracide@gmail.com wrote: Show quoted text
> On Wed, May 12, 2010 at 2:30 PM, Paul Marquess via RT > <bug-IO-Compress@rt.cpan.org> wrote:
> > I updated using your new pacman.conf definition. Unfortunately > > /usr/bin/perl is version 5.10.1. The output from perl -V says it was > > built in October 2009.
> > [testing] is now the first mirror listed in your pacman.conf right? > and when you run pacman -Syu it show's it fetching testing? >
You are quite right - I missed the [testing] line on the conf file. So I've now got 5.12.0. Tried building version 2.027 of the compression modules with that perl - all ok. make test didn't complain. Any chance you could send me the output from a "make test TEST_VERBOSE=1" so I can see what tests are causing the problem please? Also, what does the enclosed script output? Paul
Subject: versions.pl
my @modules = qw( File::GlobMapper File::BSDGlob File::Glob Scalar::Util List::Util IO::Compress::Base IO::Compress::Base::Common IO::Uncompress::Base Compress::Raw::Zlib Compress::Raw::Bzip2 Compress::Raw::Lzma IO::Compress::RawDeflate IO::Uncompress::RawInflate IO::Compress::Deflate IO::Uncompress::Inflate IO::Compress::Gzip IO::Compress::Gzip::Constants IO::Uncompress::Gunzip IO::Compress::Zip IO::Uncompress::Unzip IO::Compress::Zlib::Extra IO::Compress::Bzip2 IO::Uncompress::Bunzip2 IO::Compress::Xz IO::Compress::Lzma IO::Uncompress::UnXz IO::Uncompress::UnLzma IO::Compress::Lzf IO::Uncompress::UnLzf IO::Compress::Lzop IO::Uncompress::UnLzop Compress::Zlib Compress::LZF Compress::LZO ); my $max = 0; grep { $max = $_ if $_ > $max } map { length $_ } @modules; printf("%-${max}s $]\n", "perl"); print "INC\n"; for my $lib (@INC) { printf(" $lib\n"); } my %got = (); for my $name (sort @modules) { printf("%-${max}s ", $name); eval "require $name;"; if ($@ eq '') { my $version = ${ $name . "::VERSION" }; print "$version" . libVer($name, $version) . "\n"; $got{$name} ++; } else { print "Not Present\n"; } } print "\n"; sub libVer { my $module = shift; my $version = shift; my $got = ''; if ($module eq 'Compress::Raw::Zlib') { $got .= " (zlib ver " . Compress::Raw::Zlib::zlib_version(); $got .= sprintf " [0x%x])", Compress::Raw::Zlib::ZLIB_VERNUM(); } if ($module eq 'Compress::Zlib' && $version < 2) { $got .= " (zlib ver " . Compress::Zlib::zlib_version(); $got .= sprintf " [0x%x])", Compress::Zlib::ZLIB_VERNUM(); } if ($module eq 'Compress::Raw::Lzma') { $got .= " (liblzma ver " . Compress::Raw::Lzma::lzma_version_string(); } elsif ($module eq 'Compress::Raw::Bzip2') { $got = " (bzip2 ver " . Compress::Raw::Bzip2::bzlibversion() . ")"; } return $got; }
Here is another short script for you to try use warnings; use strict; use bytes; use Compress::Raw::Zlib ; my ($inflate, $status) = new Compress::Raw::Zlib::Inflate AppendOutput => 1, LimitOutput => 1, CRC32 => 1, ADLER32 => 1, WindowBits => - MAX_WBITS ; if (! defined $status) { print "status not defined\n" ; } else { my $num = $status + 0; print "status is $num [$status]\n"; }
I never got around to trying that script (still could if you think it'd help with determining where the problem was) but I determined between your tests and some other peoples that something was a amiss on my machine. I've not been able to determine what. But a complete system reinstall has fixed the strange issues I was having with perl-5.12 (and only 5.12). I can't imagine what could cause only 5.12 to break and seemingly nothing else.
oh. you can close... sorry for wasting your time.
No worries. Please reopen this issue (or create a new one) if you run across more problems. cheers Paul