Skip Menu |
Report information
Id: 131953
Status: open
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: (no value)



Date: Wed, 23 Aug 2017 23:49:51 +0200
To: perlbug [...] perl.org
CC: Slaven Rezic <srezic [...] cpan.org>
Subject: Bleadperl v5.27.2-30-gdf6b4bd565 breaks SYBER/Panda-Lib-1.3.2.tar.gz
From: Andreas Koenig <andreas.koenig.7os6VVqR [...] franz.ak.mind.de>
Download (untitled) / with headers
text/plain 4.3k
Discovered by Slaven, hvala lijepa! bisect ------ commit df6b4bd56551f2d39f7c0019c23f27181d8c39c4 Author: David Mitchell <davem@iabyn.com> Date: Fri Jul 7 14:13:32 2017 +0100 give REGEXP SVs the POK flag again cpantesters ----------- http://www.cpantesters.org/cpan/report/a0526a7e-74e4-11e7-b839-7de6a299d00c 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="/tmp/loop_over_bdir-14536-3qSGQ1/FusionInventory-Agent-2.3.18-0/blib/arch:/tmp/loop_over_bdir-14536-3qSGQ1/FusionInventory-Agent-2.3.18-0/blib/lib:/tmp/loop_over_bdir-14536-3qSGQ1/FusionInventory-Agent-2.3.19-0/blib/arch:/tmp/loop_over_bdir-14536-3qSGQ1/FusionInventory-Agent-2.3.19-0/blib/lib" PERL5OPT="" PERL5_CPANPLUS_IS_RUNNING="15984" PERL5_CPAN_IS_RUNNING="15984" PERL_CANARY_STABILITY_NOPROMPT="1" PERL_MM_USE_DEFAULT="1" PERL_USE_UNSAFE_INC="1" @INC: /tmp/loop_over_bdir-14536-3qSGQ1/FusionInventory-Agent-2.3.18-0/blib/arch /tmp/loop_over_bdir-14536-3qSGQ1/FusionInventory-Agent-2.3.18-0/blib/lib /tmp/loop_over_bdir-14536-3qSGQ1/FusionInventory-Agent-2.3.19-0/blib/arch /tmp/loop_over_bdir-14536-3qSGQ1/FusionInventory-Agent-2.3.19-0/blib/lib /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
Date: Wed, 23 Aug 2017 21:04:14 -0400
From: James E Keenan <jkeenan [...] pobox.com>
Subject: Re: [perl #131953] Bleadperl v5.27.2-30-gdf6b4bd565 breaksSYBER/Panda-Lib-1.3.2.tar.gz
To: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 1.1k
On 08/23/2017 05:50 PM, (Andreas J. Koenig) (via RT) wrote: Show quoted text
> # New Ticket Created by (Andreas J. Koenig) > # Please include the string: [perl #131953] > # in the subject line of all future correspondence about this issue. > # <URL: https://rt.perl.org/Ticket/Display.html?id=131953 > > > > Discovered by Slaven, hvala lijepa! > > bisect > ------ > commit df6b4bd56551f2d39f7c0019c23f27181d8c39c4 > Author: David Mitchell <davem@iabyn.com> > Date: Fri Jul 7 14:13:32 2017 +0100 > > give REGEXP SVs the POK flag again > > cpantesters > ----------- > http://www.cpantesters.org/cpan/report/a0526a7e-74e4-11e7-b839-7de6a299d00c
In each case, the failing unit test is one that tests the Panda::Lib::compare() function. That function is documented at http://search.cpan.org/dist/Panda-Lib/lib/Panda/Lib.pod#compare_($data1,_$data2). Given how complex that function is documented to be, I am not surprised that a change in blead tickles something at the XS level which causes previously passing tests to fail. This will probably require consultation with the module author in order to resolve. Thank you very much. Jim Keenan
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 2.2k
On Thu, 24 Aug 2017 01:04:30 GMT, jkeenan@pobox.com wrote: Show quoted text
> On 08/23/2017 05:50 PM, (Andreas J. Koenig) (via RT) wrote:
> > # New Ticket Created by (Andreas J. Koenig) > > # Please include the string: [perl #131953] > > # in the subject line of all future correspondence about this issue. > > # <URL: https://rt.perl.org/Ticket/Display.html?id=131953 > > > > > > > Discovered by Slaven, hvala lijepa! > > > > bisect > > ------ > > commit df6b4bd56551f2d39f7c0019c23f27181d8c39c4 > > Author: David Mitchell <davem@iabyn.com> > > Date: Fri Jul 7 14:13:32 2017 +0100 > > > > give REGEXP SVs the POK flag again > > > > cpantesters > > ----------- > > http://www.cpantesters.org/cpan/report/a0526a7e-74e4-11e7-b839- > > 7de6a299d00c
> > In each case, the failing unit test is one that tests the > Panda::Lib::compare() function. That function is documented at > http://search.cpan.org/dist/Panda- > Lib/lib/Panda/Lib.pod#compare_($data1,_$data2). > Given how complex that function is documented to be, I am not > surprised that a change in blead tickles something at the XS level > which > causes previously passing tests to fail. > > This will probably require consultation with the module author in > order > to resolve. >
Compare the result of 'perl Makefile.PL && make' on perl-5.26.0 and blead, respectively: ##### $ perl -v | head -2 | tail -1 This is perl 5, version 26, subversion 0 (v5.26.0) built for x86_64-linux $ ls -ltr | tail -2 -rw-rw-r-- 1 jkeenan jkeenan 12778 Aug 23 21:32 Lib.c -rw-rw-r-- 1 jkeenan jkeenan 12648 Aug 23 21:32 Lib.o ##### $ ~/testing/blead/bin/perl -v | head -2 | tail -1 This is perl 5, version 27, subversion 4 (v5.27.4 (v5.27.3-14-gd2dccc0)) built for x86_64-linux $ ls -ltr | tail -2 -rw-rw-r-- 1 jkeenan jkeenan 12778 Aug 23 21:31 Lib.c -rw-rw-r-- 1 jkeenan jkeenan 30584 Aug 23 21:31 Lib.o ##### Much larger Lib.o file when built against blead. Would the fact that blead has a newer version of ExtUtils::ParseXS make any difference? ##### $ diff -w ./Lib.c /home/jkeenan/.cpanm/work/1503534420.31523/Panda-Lib-1.3.2/Lib.c 2c2 < * This file was generated automatically by ExtUtils::ParseXS version 3.34 from the --- Show quoted text
> * This file was generated automatically by ExtUtils::ParseXS version 3.35 from the
##### Thank you very much. -- James E Keenan (jkeenan@cpan.org)
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 1.2k
On Wed, 23 Aug 2017 18:40:01 -0700, jkeenan wrote: Show quoted text
> Compare the result of 'perl Makefile.PL && make' on perl-5.26.0 and > blead, respectively:
Debugging, or non-debugging? That may explain the .o file size difference. Show quoted text
> > ##### > $ perl -v | head -2 | tail -1 > This is perl 5, version 26, subversion 0 (v5.26.0) built for x86_64- > linux > > $ ls -ltr | tail -2 > -rw-rw-r-- 1 jkeenan jkeenan 12778 Aug 23 21:32 Lib.c > -rw-rw-r-- 1 jkeenan jkeenan 12648 Aug 23 21:32 Lib.o > ##### > $ ~/testing/blead/bin/perl -v | head -2 | tail -1 > This is perl 5, version 27, subversion 4 (v5.27.4 (v5.27.3-14- > gd2dccc0)) built for x86_64-linux > > $ ls -ltr | tail -2 > -rw-rw-r-- 1 jkeenan jkeenan 12778 Aug 23 21:31 Lib.c > -rw-rw-r-- 1 jkeenan jkeenan 30584 Aug 23 21:31 Lib.o > ##### > > Much larger Lib.o file when built against blead. > > Would the fact that blead has a newer version of ExtUtils::ParseXS > make any difference? > > ##### > $ diff -w ./Lib.c /home/jkeenan/.cpanm/work/1503534420.31523/Panda- > Lib-1.3.2/Lib.c > 2c2 > < * This file was generated automatically by ExtUtils::ParseXS > version 3.34 from the > ---
> > * This file was generated automatically by ExtUtils::ParseXS version > > 3.35 from the
> ##### > > Thank you very much.
-- Father Chrysostomos
Subject: Re: [perl #131953] Bleadperl v5.27.2-30-gdf6b4bd565 breaksSYBER/Panda-Lib-1.3.2.tar.gz
From: Dave Mitchell <davem [...] iabyn.com>
CC: perl5-porters [...] perl.org
Date: Thu, 24 Aug 2017 09:00:49 +0100
To: James E Keenan <jkeenan [...] pobox.com>
On Wed, Aug 23, 2017 at 09:04:14PM -0400, James E Keenan wrote: Show quoted text
> On 08/23/2017 05:50 PM, (Andreas J. Koenig) (via RT) wrote:
> > # New Ticket Created by (Andreas J. Koenig) > > # Please include the string: [perl #131953] > > # in the subject line of all future correspondence about this issue. > > # <URL: https://rt.perl.org/Ticket/Display.html?id=131953 > > > > > > > Discovered by Slaven, hvala lijepa! > > > > bisect > > ------ > > commit df6b4bd56551f2d39f7c0019c23f27181d8c39c4 > > Author: David Mitchell <davem@iabyn.com> > > Date: Fri Jul 7 14:13:32 2017 +0100 > > > > give REGEXP SVs the POK flag again > > > > cpantesters > > ----------- > > http://www.cpantesters.org/cpan/report/a0526a7e-74e4-11e7-b839-7de6a299d00c
> > In each case, the failing unit test is one that tests the > Panda::Lib::compare() function. That function is documented at http://search.cpan.org/dist/Panda-Lib/lib/Panda/Lib.pod#compare_($data1,_$data2). > Given how complex that function is documented to be, I am not surprised that > a change in blead tickles something at the XS level which causes previously > passing tests to fail. > > This will probably require consultation with the module author in order to > resolve.
Its a bug in the author's code. In _elem_cmp(), there is this: if (SvOK(f) & SvOK(s)) { // both are not undefs which is expecting that SvOK() returns a boolean (0/1) value. It's actually documented to return a U32. There was a period when the value returned by it happened to be actually 0 or 1, but my commit to changed that as a side-effect of simplifying the SvOK() expression. That code needs to be if (SvOK(f) && SvOK(s)) { // both are not undefs and probably similar things done with ^, | and & in other places too. -- "But Sidley Park is already a picture, and a most amiable picture too. The slopes are green and gentle. The trees are companionably grouped at intervals that show them to advantage. The rill is a serpentine ribbon unwound from the lake peaceably contained by meadows on which the right amount of sheep are tastefully arranged." -- Lady Croom, "Arcadia"
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 1.5k
On Thu, 24 Aug 2017 03:15:44 GMT, sprout wrote: Show quoted text
> On Wed, 23 Aug 2017 18:40:01 -0700, jkeenan wrote:
> > Compare the result of 'perl Makefile.PL && make' on perl-5.26.0 and > > blead, respectively:
> > Debugging, or non-debugging? That may explain the .o file size difference. >
Ah, yes. For the purpose of looking at *other* BBC tickets, my blead build was -DDEBUGGING. So the difference in object sizes is not relevant to this ticket. Thanks for the catch. Show quoted text
> > > > ##### > > $ perl -v | head -2 | tail -1 > > This is perl 5, version 26, subversion 0 (v5.26.0) built for x86_64- > > linux > > > > $ ls -ltr | tail -2 > > -rw-rw-r-- 1 jkeenan jkeenan 12778 Aug 23 21:32 Lib.c > > -rw-rw-r-- 1 jkeenan jkeenan 12648 Aug 23 21:32 Lib.o > > ##### > > $ ~/testing/blead/bin/perl -v | head -2 | tail -1 > > This is perl 5, version 27, subversion 4 (v5.27.4 (v5.27.3-14- > > gd2dccc0)) built for x86_64-linux > > > > $ ls -ltr | tail -2 > > -rw-rw-r-- 1 jkeenan jkeenan 12778 Aug 23 21:31 Lib.c > > -rw-rw-r-- 1 jkeenan jkeenan 30584 Aug 23 21:31 Lib.o > > ##### > > > > Much larger Lib.o file when built against blead. > > > > Would the fact that blead has a newer version of ExtUtils::ParseXS > > make any difference? > > > > ##### > > $ diff -w ./Lib.c /home/jkeenan/.cpanm/work/1503534420.31523/Panda- > > Lib-1.3.2/Lib.c > > 2c2 > > < * This file was generated automatically by ExtUtils::ParseXS > > version 3.34 from the > > ---
> > > * This file was generated automatically by ExtUtils::ParseXS version > > > 3.35 from the
> > ##### > > > > Thank you very much.
> >
-- 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