Skip Menu |
Report information
Id: 84444
Status: rejected
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: andreas.koenig.7os6VVqR [at] franz.ak.mind.de
Cc:
AdminCc:

Operating System: Linux
PatchStatus: (no value)
Severity: low
Type: sendToCPAN
Perl Version: (no value)
Fixed In: (no value)



CC: Leon Timmermans <fawaka [...] gmail.com>, IROBERTS [...] cpan.org
Subject: Bleadperl v5.13.9-540-g0a0b6c9 breaks IROBERTS/Crypt-OpenSSL-RSA-0.26.tar.gz
Date: Sat, 19 Feb 2011 19:04:56 +0100
To: perlbug [...] perl.org
From: andreas.koenig.7os6VVqR [...] franz.ak.mind.de (Andreas J. Koenig)
Download (untitled) / with headers
text/plain 3.9k
git bisect: ----------- 0a0b6c96e6042658aa123b3990724be593a2bb63 is the first bad commit commit 0a0b6c96e6042658aa123b3990724be593a2bb63 Author: Leon Timmermans <fawaka@gmail.com> Date: Thu Feb 17 18:04:00 2011 -0800 [perl #84358] Removing AutoLoader from DynaLoader example fail report: -------------------- Not yet available on cpantesters... PERL_DL_NONLAZY=1 /home/src/perl/repoperls/installed-perls/perl/v5.13.9-540-g0a0b6c9/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/bignum.t .. skipped: (no reason given) t/format.t .. 1/10 Can't locate object method "new_public_key" via package "Crypt::OpenSSL::RSA" at t/format.t line 33. t/format.t .. Dubious, test returned 255 (wstat 65280, 0xff00) Failed 6/10 subtests t/rsa.t ..... Can't locate object method "import_random_seed" via package "Crypt::OpenSSL::RSA" at t/rsa.t line 62. t/rsa.t ..... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 63/63 subtests Test Summary Report ------------------- t/format.t (Wstat: 65280 Tests: 4 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 10 tests but ran 4. t/rsa.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: Bad plan. You planned 63 tests but ran 0. Files=3, Tests=4, 1 wallclock secs ( 0.02 usr 0.02 sys + 0.11 cusr 0.03 csys = 0.18 CPU) Result: FAIL perl -V: -------- Summary of my perl5 (revision 5 version 13 subversion 9) configuration: Commit id: 0a0b6c96e6042658aa123b3990724be593a2bb63 Platform: osname=linux, osvers=2.6.32-5-xen-amd64, archname=x86_64-linux uname='linux k81 2.6.32-5-xen-amd64 #1 smp wed jan 12 05:46:49 utc 2011 x86_64 gnulinux ' config_args='-Dprefix=/home/src/perl/repoperls/installed-perls/perl/v5.13.9-540-g0a0b6c9 -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Uuseithreads -Uuselongdouble' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=define, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2', cppflags='-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include' ccversion='', gccversion='4.4.5', 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 -lc -lgdbm_compat perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc libc=/lib/libc-2.11.2.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='2.11.2' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E' cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib -fstack-protector' Characteristics of this binary (from libperl): Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF Built under linux Compiled at Feb 19 2011 18:46:36 @INC: /home/src/perl/repoperls/installed-perls/perl/v5.13.9-540-g0a0b6c9/lib/site_perl/5.13.9/x86_64-linux /home/src/perl/repoperls/installed-perls/perl/v5.13.9-540-g0a0b6c9/lib/site_perl/5.13.9 /home/src/perl/repoperls/installed-perls/perl/v5.13.9-540-g0a0b6c9/lib/5.13.9/x86_64-linux /home/src/perl/repoperls/installed-perls/perl/v5.13.9-540-g0a0b6c9/lib/5.13.9 . -- andreas
Subject: Re: [perl #84444] Bleadperl v5.13.9-540-g0a0b6c9 breaks IROBERTS/Crypt-OpenSSL-RSA-0.26.tar.gz
Date: Sat, 19 Feb 2011 18:20:43 +0000
To: perl5-porters [...] perl.org
From: Nicholas Clark <nick [...] ccl4.org>
Download (untitled) / with headers
text/plain 764b
On Sat, Feb 19, 2011 at 10:05:38AM -0800, Andreas J. Koenig via RT wrote: Show quoted text
> # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=84444 > > > > git bisect: > ----------- > 0a0b6c96e6042658aa123b3990724be593a2bb63 is the first bad commit > commit 0a0b6c96e6042658aa123b3990724be593a2bb63 > Author: Leon Timmermans <fawaka@gmail.com> > Date: Thu Feb 17 18:04:00 2011 -0800 > > [perl #84358] Removing AutoLoader from DynaLoader
This is going to be a judgment call. The module in question relies on the undocumented behaviour that DynaLoader ISA AutoLoader. Arguably the module is buggy and needs fixing with explicit inheritance. It's question of how many make this assumption, and how strongly we feel about whose "fault" it is. Nicholas Clark
Subject: Re: [perl #84444] Bleadperl v5.13.9-540-g0a0b6c9 breaks IROBERTS/Crypt-OpenSSL-RSA-0.26.tar.gz
Date: Sat, 19 Feb 2011 18:25:13 +0000
To: perl5-porters [...] perl.org
From: Nicholas Clark <nick [...] ccl4.org>
Download (untitled) / with headers
text/plain 443b
On Sat, Feb 19, 2011 at 06:20:43PM +0000, Nicholas Clark wrote: Show quoted text
> This is going to be a judgment call. The module in question relies on the > undocumented behaviour that DynaLoader ISA AutoLoader. > > Arguably the module is buggy and needs fixing with explicit inheritance. > It's question of how many make this assumption, and how strongly we feel > about whose "fault" it is.
And how much notice they need to change it. Nicholas Clark
Subject: Re: [perl #84444] Bleadperl v5.13.9-540-g0a0b6c9 breaks IROBERTS/Crypt-OpenSSL-RSA-0.26.tar.gz
Date: Sat, 19 Feb 2011 21:48:03 +0100
To: perl5-porters [...] perl.org
From: Leon Timmermans <fawaka [...] gmail.com>
Download (untitled) / with headers
text/plain 674b
On Sat, Feb 19, 2011 at 7:20 PM, Nicholas Clark <nick@ccl4.org> wrote: Show quoted text
> This is going to be a judgment call. The module in question relies on the > undocumented behaviour that DynaLoader ISA AutoLoader. > > Arguably the module is buggy and needs fixing with explicit inheritance. > It's question of how many make this assumption, and how strongly we feel > about whose "fault" it is.
I think cleanest short-term solution would be simply reinserting this line into DynaLoader *AUTOLOAD = \&AutoLoader::AUTOLOAD; It won't make DynaLoader derived classes autoloaded, but it will make AUTOLOAD available to any derived class that assumes DynaLoader isa AutoLoader. Leon
Subject: RE: [perl #84444] Bleadperl v5.13.9-540-g0a0b6c9 breaks IROBERTS/Crypt-OpenSSL-RSA-0.26.tar.gz
Date: Sat, 19 Feb 2011 20:04:11 +0100
To: Nicholas Clark <nick [...] ccl4.org>, "perl5-porters [...] perl.org" <perl5-porters [...] perl.org>
From: "Konovalov, Vadim (Vadim)** CTR **" <vadim.konovalov [...] alcatel-lucent.com>
Download (untitled) / with headers
text/plain 800b
Show quoted text
> From: Nicholas Clark [mailto:nick@flirble.org] On Behalf Of Nicholas Clark > On Sat, Feb 19, 2011 at 06:20:43PM +0000, Nicholas Clark wrote: >
> > This is going to be a judgment call. The module in question
> relies on the
> > undocumented behaviour that DynaLoader ISA AutoLoader.
as a humble perl user, I very much prefer to have as little AutoLoader/AutoSplit as possible. I very much like 0a0b6c96e6042658aa123b3990724be593a2bb63 commit (http://perl5.git.perl.org/perl.git/commitdiff/0a0b6c96e6042658aa123b3990724be593a2bb63) Show quoted text
> > Arguably the module is buggy and needs fixing with explicit
> inheritance.
> > It's question of how many make this assumption, and how
> strongly we feel
> > about whose "fault" it is.
> > And how much notice they need to change it.
Best regards, Vadim.
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 1.1k
On Sat Feb 19 12:48:25 2011, LeonT wrote: Show quoted text
> On Sat, Feb 19, 2011 at 7:20 PM, Nicholas Clark <nick@ccl4.org> wrote:
> > This is going to be a judgment call. The module in question relies
on the Show quoted text
> > undocumented behaviour that DynaLoader ISA AutoLoader. > > > > Arguably the module is buggy and needs fixing with explicit inheritance. > > It's question of how many make this assumption, and how strongly we feel > > about whose "fault" it is.
> > I think cleanest short-term solution would be simply reinserting this > line into DynaLoader > > *AUTOLOAD = \&AutoLoader::AUTOLOAD; > > It won't make DynaLoader derived classes autoloaded, but it will make > AUTOLOAD available to any derived class that assumes DynaLoader isa > AutoLoader.
I don’t understand. Apart from moving subroutines back below the __END__, this practically reverts your patch. What’s the different between DynaLoader-derived classes’ being autoloaded and DynaLoader-derived classes’ being able to inherit AUTOLOAD from DynaLoader? (I, for one, think this new ‘bug’ [not autoloading] is perfectly fine and not controversial, but if others disagree, we could always revert your patch.)
CC: perl5-porters [...] perl.org
Subject: Re: [perl #84444] Bleadperl v5.13.9-540-g0a0b6c9 breaks IROBERTS/Crypt-OpenSSL-RSA-0.26.tar.gz
Date: Sun, 20 Feb 2011 22:27:09 +0100
To: perlbug-followup [...] perl.org
From: Leon Timmermans <fawaka [...] gmail.com>
Download (untitled) / with headers
text/plain 854b
On Sun, Feb 20, 2011 at 10:15 PM, Father Chrysostomos via RT <perlbug-followup@perl.org> wrote: Show quoted text
> I don’t understand. Apart from moving subroutines back below the > __END__, this practically reverts your patch. > > What’s the different between DynaLoader-derived classes’ being > autoloaded and DynaLoader-derived classes’ being able to inherit > AUTOLOAD from DynaLoader?
I wasn't thinking when I posted that. You're completely right. This is wrong. It works under the assumption that nothing else has loader AutoLoader, which is not a reasonable assumption. Show quoted text
> (I, for one, think this new ‘bug’ [not autoloading] is perfectly fine > and not controversial, but if others disagree, we could always revert > your patch.)
I agree. The behavior of AutoLoader is perfectly well described and any code relying on this is violating that. Leon
Subject: Re: [perl #84444] Bleadperl v5.13.9-540-g0a0b6c9 breaks IROBERTS/Crypt-OpenSSL-RSA-0.26.tar.gz
Date: Wed, 23 Feb 2011 02:22:09 +0100
To: perlbug-followup [...] perl.org
From: Mark Martinec <Mark.Martinec [...] ijs.si>
Download (untitled) / with headers
text/plain 1.3k
I just came across this bug report, after spending time on fixing it first :) The problem is an inappropriate use of AutoLoader, contrary to its documentation. In a file RSA.pm it stands: require AutoLoader; whereas it should be: use AutoLoader 'AUTOLOAD'; This is the only change needed for this module to get it working under perl 5.13.10. man AutoLoader: Subroutine Stubs In order for object method lookup and/or prototype checking to operate correctly even when methods have not yet been defined it is necessary to "forward declare" each subroutine (as in "sub NAME;"). See "SYNOPSIS" in perlsub. Such forward declaration creates "subroutine stubs", which are place holders with no code. The AutoSplit and AutoLoader modules automate the creation of forward declarations. The AutoSplit module creates an 'index' file containing forward declarations of all the AutoSplit subroutines. When the AutoLoader module is 'use'd it loads these declarations into its callers package. Because of this mechanism it is important that AutoLoader is always "use"d and not "require"d. Using AutoLoader's AUTOLOAD Subroutine In order to use AutoLoader's AUTOLOAD subroutine you must explicitly import it: use AutoLoader 'AUTOLOAD'; Mark
Download (untitled) / with headers
text/plain 157b
Since this is a problem with the CPAN module, I’m marking it as rejected. There is a CPAN RT ticket at <https://rt.cpan.org/Ticket/Display.html?id=65947>.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org