Skip Menu |
Report information
Id: 131820
Status: resolved
Priority: 0/
Queue: perl5

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

Operating System: (no value)
PatchStatus: (no value)
Severity: low
Type: unknown
Perl Version: (no value)
Fixed In: 5.27.3



Subject: Bleadperl v5.27.2-41-gf4c975aa03 breaks SZABGAB/Pod-Tree-1.25.tar.gz
From: Andreas Koenig <andreas.koenig.7os6VVqR [...] franz.ak.mind.de>
Date: Mon, 31 Jul 2017 20:32:23 +0200
To: perlbug [...] perl.org
Download (untitled) / with headers
text/plain 3.7k
bisect ------ commit f4c975aa030b7ad74a7efda242fb8b771ea41c14 Author: David Mitchell <davem@iabyn.com> Date: Sat Jul 8 15:47:23 2017 +0100 make callers of SvTRUE() more efficient diagnostics ----------- http://www.cpantesters.org/cpan/report/a7d799b8-746c-11e7-9718-db242b4c90c2 perl -V ------- Summary of my perl5 (revision 5 version 27 subversion 3) configuration: Commit id: c1a6686e7b19b19f65ba89a90c0f0bf57606197f Platform: osname=linux osvers=4.9.0-2-amd64 archname=x86_64-linux-ld uname='linux k93msid 4.9.0-2-amd64 #1 smp debian 4.9.18-1 (2017-03-30) x86_64 gnulinux ' config_args='-Dprefix=/home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2-75-gc1a6686e7b/ea6b -Dmyhostname=k93msid -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Dlibswanted=cl pthread socket inet nsl gdbm dbm malloc dl ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat -Uuseithreads -Duselongdouble -DEBUGGING=none' hint=recommended useposix=true d_sigaction=define useithreads=undef usemultiplicity=undef use64bitint=define use64bitall=define uselongdouble=define usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='cc' ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' optimize='-O2' cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include' ccversion='' gccversion='6.3.0 20170406' gccosandvers='' intsize=4 longsize=8 ptrsize=8 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=16 longdblkind=3 ivtype='long' ivsize=8 nvtype='long double' nvsize=16 Off_t='off_t' lseeksize=8 alignbytes=16 prototype=define Linker and Libraries: ld='cc' ldflags =' -fstack-protector-strong -L/usr/local/lib' libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/6/include-fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc libc=libc-2.24.so so=so useshrplib=false libperl=libperl.a gnulibc_version='2.24' 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-strong' Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_LONG_DOUBLE USE_PERLIO USE_PERL_ATOF Built under linux Compiled at Jul 27 2017 11:01:34 %ENV: PERL5LIB="" PERL5OPT="" PERL5_CPANPLUS_IS_RUNNING="30408" PERL5_CPAN_IS_RUNNING="30408" PERL_CANARY_STABILITY_NOPROMPT="1" PERL_MM_USE_DEFAULT="1" PERL_USE_UNSAFE_INC="1" @INC: /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2-75-gc1a6686e7b/ea6b/lib/site_perl/5.27.3/x86_64-linux-ld /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2-75-gc1a6686e7b/ea6b/lib/site_perl/5.27.3 /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2-75-gc1a6686e7b/ea6b/lib/5.27.3/x86_64-linux-ld /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2-75-gc1a6686e7b/ea6b/lib/5.27.3 . -- andreas
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 4.1k
On Mon, 31 Jul 2017 18:32:41 GMT, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote: Show quoted text
> bisect > ------ > commit f4c975aa030b7ad74a7efda242fb8b771ea41c14 > Author: David Mitchell <davem@iabyn.com> > Date: Sat Jul 8 15:47:23 2017 +0100 > > make callers of SvTRUE() more efficient > > diagnostics > ----------- > http://www.cpantesters.org/cpan/report/a7d799b8-746c-11e7-9718- > db242b4c90c2 >
Breakage confirmed. The commit in question was part of the 50-ish commit merged in by Dave M last week. Show quoted text
> perl -V > ------- > Summary of my perl5 (revision 5 version 27 subversion 3) > configuration: > Commit id: c1a6686e7b19b19f65ba89a90c0f0bf57606197f > Platform: > osname=linux > osvers=4.9.0-2-amd64 > archname=x86_64-linux-ld > uname='linux k93msid 4.9.0-2-amd64 #1 smp debian 4.9.18-1 (2017- > 03-30) x86_64 gnulinux ' > config_args='-Dprefix=/home/sand/src/perl/repoperls/installed- > perls/host/k93msid/v5.27.2-75-gc1a6686e7b/ea6b -Dmyhostname=k93msid > -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db > -Dlibswanted=cl pthread socket inet nsl gdbm dbm malloc dl ld sun m > crypt sec util c cposix posix ucb BSD gdbm_compat -Uuseithreads > -Duselongdouble -DEBUGGING=none' > hint=recommended > useposix=true > d_sigaction=define > useithreads=undef > usemultiplicity=undef > use64bitint=define > use64bitall=define > uselongdouble=define > usemymalloc=n > default_inc_excludes_dot=define > bincompat5005=undef > Compiler: > cc='cc' > ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector- > strong -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64' > optimize='-O2' > cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector- > strong -I/usr/local/include' > ccversion='' > gccversion='6.3.0 20170406' > gccosandvers='' > intsize=4 > longsize=8 > ptrsize=8 > doublesize=8 > byteorder=12345678 > doublekind=3 > d_longlong=define > longlongsize=8 > d_longdbl=define > longdblsize=16 > longdblkind=3 > ivtype='long' > ivsize=8 > nvtype='long double' > nvsize=16 > Off_t='off_t' > lseeksize=8 > alignbytes=16 > prototype=define > Linker and Libraries: > ld='cc' > ldflags =' -fstack-protector-strong -L/usr/local/lib' > libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/6/include- > fixed /usr/include/x86_64-linux-gnu /usr/lib /lib/x86_64-linux-gnu > /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib > libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc > perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc > libc=libc-2.24.so > so=so > useshrplib=false > libperl=libperl.a > gnulibc_version='2.24' > 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-strong' > > > Characteristics of this binary (from libperl): > Compile-time options: > HAS_TIMES > PERLIO_LAYERS > PERL_COPY_ON_WRITE > PERL_DONT_CREATE_GVSV > PERL_MALLOC_WRAP > PERL_OP_PARENT > PERL_PRESERVE_IVUV > PERL_USE_DEVEL > USE_64_BIT_ALL > USE_64_BIT_INT > USE_LARGE_FILES > USE_LOCALE > USE_LOCALE_COLLATE > USE_LOCALE_CTYPE > USE_LOCALE_NUMERIC > USE_LOCALE_TIME > USE_LONG_DOUBLE > USE_PERLIO > USE_PERL_ATOF > Built under linux > Compiled at Jul 27 2017 11:01:34 > %ENV: > PERL5LIB="" > PERL5OPT="" > PERL5_CPANPLUS_IS_RUNNING="30408" > PERL5_CPAN_IS_RUNNING="30408" > PERL_CANARY_STABILITY_NOPROMPT="1" > PERL_MM_USE_DEFAULT="1" > PERL_USE_UNSAFE_INC="1" > @INC: > /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2- > 75-gc1a6686e7b/ea6b/lib/site_perl/5.27.3/x86_64-linux-ld > /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2- > 75-gc1a6686e7b/ea6b/lib/site_perl/5.27.3 > /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2- > 75-gc1a6686e7b/ea6b/lib/5.27.3/x86_64-linux-ld > /home/sand/src/perl/repoperls/installed-perls/host/k93msid/v5.27.2- > 75-gc1a6686e7b/ea6b/lib/5.27.3 > . >
-- James E Keenan (jkeenan@cpan.org)
Date: Mon, 31 Jul 2017 21:29:34 +0200
To: perl5-porters [...] perl.org
From: Andreas Koenig <andreas.koenig.7os6VVqR [...] franz.ak.mind.de>
Subject: Re: [perl #131820] Bleadperl v5.27.2-41-gf4c975aa03 breaks SZABGAB/Pod-Tree-1.25.tar.gz
also affected: BRUNOV/Cache-Ref-0.04.tar.gz GBARR/Convert-ASN1-0.27.tar.gz -- andreas
From: Dave Mitchell <davem [...] iabyn.com>
Subject: Re: [perl #131820] Bleadperl v5.27.2-41-gf4c975aa03 breaks SZABGAB/Pod-Tree-1.25.tar.gz
CC: perl5-porters [...] perl.org
Date: Mon, 31 Jul 2017 23:57:18 +0100
To: Andreas Koenig <andreas.koenig.7os6VVqR [...] franz.ak.mind.de>
Download (untitled) / with headers
text/plain 1.1k
On Mon, Jul 31, 2017 at 09:29:34PM +0200, Andreas Koenig wrote: Show quoted text
> also affected: > > BRUNOV/Cache-Ref-0.04.tar.gz
These are all fixed by the following commit which I've just pushed. Basically I subtlely broke SvTRUE() which badly broke the xor operator which, it turns out, is almost completely untested. commit 1fb2d101eac30e2ec4b826a4c493bb6f1232dc16 Author: David Mitchell <davem@iabyn.com> AuthorDate: Mon Jul 31 23:32:23 2017 +0100 Commit: David Mitchell <davem@iabyn.com> CommitDate: Mon Jul 31 23:32:23 2017 +0100 fix SvTRUE() cast (broke xor) RT #131820 It turns out that the 'xor' operator is almost completely untested in core. A recent change of mine to the SvTRUE() macros made it sometimes return an int (SvIVX(sv)) rather than a boolean (SvIVX(sv)!=0), while its documented to return a boolean. pp_xor() tests for (SvTRUE(left) != SvTRUE(right)) which subsequently broke, e.g. (1 xor 5) started returning true rather than false. Fix SvTRUE() and add some basic xor tests. -- Justice is when you get what you deserve. Law is when you get what you pay for.
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 327b
On Mon, 31 Jul 2017 19:30:29 GMT, andreas.koenig.7os6VVqR@franz.ak.mind.de wrote: Show quoted text
> also affected: > > BRUNOV/Cache-Ref-0.04.tar.gz > GBARR/Convert-ASN1-0.27.tar.gz >
As of commit 1fb2d101eac30e2ec4b826a4c493bb6f1232dc16, Cache-Ref-0.04 and Convert-ASN1-0.27 appear to have been fixed. -- James E Keenan (jkeenan@cpan.org)


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