develooper Front page | perl.perl5.porters | Postings from October 2016

[perl #129851] Bleadperl v5.25.5-43-g607ee43 breaksCDOLAN/Devel-EnforceEncapsulation-0.51.tar.gz

Thread Previous
From:
Dan Collins
Date:
October 11, 2016 16:31
Subject:
[perl #129851] Bleadperl v5.25.5-43-g607ee43 breaksCDOLAN/Devel-EnforceEncapsulation-0.51.tar.gz
Message ID:
rt-4.0.24-11077-1476203458-778.129851-75-0@perl.org
# New Ticket Created by  Dan Collins 
# Please include the string:  [perl #129851]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=129851 >


While smoking CPAN modules against various versions of Perl, I noticed the
following unexpected failure:

------

Bisects to:

bad - non-zero exit from /tmp/lX36LYqWLD/bin/perl -I /home/cpanbisect/.cpan
-MCPAN::MyConfig -MCPAN -e $CPAN::Config->{build_dir}=q{/tmp/ZTufR37XGi};
-e install('Devel::EnforceEncapsulation'); die unless
CPAN::Shell->expand(Module => 'Devel::EnforceEncapsulation')->uptodate;
607ee43568c28c8da9fb4b19d16807dd0214af40 is the first bad commit
commit 607ee43568c28c8da9fb4b19d16807dd0214af40
Author: James Raspass <jraspass@gmail.com>
Date:   Wed Jul 15 23:46:20 2015 +0100

    Speed up compilation of overload.pm a smidge.

    Measured with the following crude perl script calling perf. Perl
    is in there to get a rough baseline cost of starting perl:

     print 'PERL', (`perf stat -r100 perl -e 1             2>&1`)[10];
     print 'OLD ', (`perf stat -r100 perl lib/overload.pm  2>&1`)[10];
     print 'NEW ', (`perf stat -r100 perl lib/overload2.pm 2>&1`)[10];

    Produced the following results on my machine:

     PERL  5,800,051 instructions # 1.05 insns per cycle ( +- 0.06% )
     OLD  14,818,995 instructions # 1.16 insns per cycle ( +- 0.03% )
     NEW  14,696,974 instructions # 1.16 insns per cycle ( +- 0.03% )

    While the numbers did fluctuate between runs, the new code was
    consistently faster.

:040000 040000 e92b68c47128f987038e0a5c2c4b99d361a9561e
a587e32369a751d18c0dcf05b2f5a7fca27830ef M      lib
bisect run success
That took 2162 seconds.

------

Diagnostics attached. Output buffering makes it look like some messages are
coming from the wrong place, here's the "true" output of t/api:

t/api.t ........... 1/52 overload arg '${}' is invalid at (eval 14) line 1.
overload arg '@{}' is invalid at (eval 14) line 1.
overload arg '%{}' is invalid at (eval 14) line 1.
overload arg '&{}' is invalid at (eval 14) line 1.
overload arg '*{}' is invalid at (eval 14) line 1.
overload arg 'fallback' is invalid at (eval 14) line 1.

#   Failed test 'no warning on unencapsulated class'
#   at t/api.t line 153.
#          got: '6'
#     expected: '0'

#   Failed test '...but it does raise a warning'
#   at t/api.t line 159.
#          got: '7'
#     expected: '1'
# Looks like you failed 2 tests of 52.
t/api.t ........... Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/52 subtests

------

Perl -V of a failing perl:

Summary of my perl5 (revision 5 version 25 subversion 6) configuration:
  Commit id: 5654fe3cb7747930ab73ec2386527c2d0007459f
  Platform:
    osname=linux
    osvers=3.16.0-4-amd64
    archname=x86_64-linux-thread-multi
    uname='linux digitalis 3.16.0-4-amd64 #1 smp debian 3.16.36-1+deb8u1
(2016-09-03) x86_64 gnulinux '
    config_args='-Dusedevel -DDEBUGGING -Dusethreads
-Dprefix=/home/cpan2/install -Uversiononly -des'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    bincompat5005=undef
  Compiler:
    cc='cc'
    ccflags ='-D_REENTRANT -D_GNU_SOURCE -fwrapv -DDEBUGGING
-fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_FORTIFY_SOURCE=2'
    optimize='-O2 -g'
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -DDEBUGGING
-fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion=''
    gccversion='4.9.2'
    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='double'
    nvsize=8
    Off_t='off_t'
    lseeksize=8
    alignbytes=8
    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/4.9/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.19.so
    so=so
    useshrplib=false
    libperl=libperl.a
    gnulibc_version='2.19'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E'
    cccdlflags='-fPIC'
    lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl):
  Compile-time options:
    DEBUGGING
    HAS_TIMES
    MULTIPLICITY
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
    PERL_IMPLICIT_CONTEXT
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    PERL_TRACK_MEMPOOL
    PERL_USE_DEVEL
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_ITHREADS
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
    USE_REENTRANT_API
  Built under linux
  Compiled at Sep 29 2016 16:06:12
  %ENV:
    PERLBREW_BASHRC_VERSION="0.76"
    PERLBREW_HOME="/home/dcollins/.perlbrew"
    PERLBREW_ROOT="/home/dcollins/toolchain/perl5"
  @INC:
    /home/cpan2/install/lib/perl5/site_perl/5.25.6/x86_64-linux-thread-multi
    /home/cpan2/install/lib/perl5/site_perl/5.25.6
    /home/cpan2/install/lib/perl5/5.25.6/x86_64-linux-thread-multi
    /home/cpan2/install/lib/perl5/5.25.6
    .
------

Happy to provide any other information that may be helpful. Respectfully,
Dan Collins

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About