Skip Menu |

This queue is for tickets about the local-lib CPAN distribution.

Report information
The Basics
Id: 77688
Status: resolved
Priority: 0/
Queue: local-lib

People
Owner: Nobody in particular
Requestors: MATTP [...] cpan.org
Cc:
AdminCc:

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



Subject: lib::core::only bug with cpan client and custom config.pm
Not sure what's happening here, when trying to use with cpan client and a custom Config.pm, it fails: [root@ii9-dev perl-build2]# perl5.14.2 -Mlib::core::only /system/perls/5.14.2/bin/cpan -j MyConfig.pm -i DBI Bizarre copy of ARRAY in scalar assignment at /system/perls/5.14.2/lib/5.14.2/Carp.pm line 140. [root@ii9-dev perl-build2]# perl5.14.2 -V Summary of my perl5 (revision 5 version 14 subversion 2) configuration: Platform: osname=solaris, osvers=2.10, archname=i86pc-solaris uname='sunos ii9-dev 5.10 generic_144489-06 i86pc i386 i86pc solaris ' config_args='-des -Dcc=gcc -Dprefix=/system/perls/5.14.2 -Dotherlibdirs=/lib/site_perl' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV', optimize='-O', cppflags='-fno-strict-aliasing -pipe -fstack-protector' ccversion='', gccversion='4.2.1', 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='gcc', ldflags =' -fstack-protector ' libpth=/usr/lib /usr/ccs/lib libs=-lsocket -lnsl -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags='-G -fstack-protector' Characteristics of this binary (from libperl): Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_PRESERVE_IVUV PERL_USE_SAFE_PUTENV USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF Built under solaris Compiled at Jun 7 2012 14:17:17 @INC: /system/perls/5.14.2/lib/site_perl/5.14.2/i86pc-solaris /system/perls/5.14.2/lib/site_perl/5.14.2 /system/perls/5.14.2/lib/5.14.2/i86pc-solaris /system/perls/5.14.2/lib/5.14.2 /lib/site_perl . uname: SunOS ii9-dev 5.10 Generic_144489-06 i86pc i386 i86pc Solaris I tried including Carp::Always but it did not produce different output. perl5.14.2 -Mlib::core::only -Mlib=. cpan prevents the bug from happening.
A test case that doesn't include lib::core::only: perl -M'5; BEGIN{ pop @INC };' `which cpan` -j MyConfig.pm I can reproduce a failure on 5.12 through 5.16. This is definitely a perl core bug, and it seems to be fixed in 5.18. It's related to Carp and @DB::args. I don't see any feasible way to work around it in lib::core::only.
Given that this is a core perl bug, I can't reproduce it outside CPAN.pm, and lib::core::only is already documented as fragile, I'm going to close this.