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

[perl #128899] Recent changes to blead cause t/op/sprintf2.t to failon long doubles builds

Thread Previous
From:
Dan Collins
Date:
August 11, 2016 18:09
Subject:
[perl #128899] Recent changes to blead cause t/op/sprintf2.t to failon long doubles builds
Message ID:
rt-4.0.24-27708-1470938954-1814.128899-75-0@perl.org
# New Ticket Created by  Dan Collins 
# Please include the string:  [perl #128899]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=128899 >


Greetings!

Somewhere in the following stack of commits to blead:

commit be93048a43d87d317acca5b37619111b6a5f8c44
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date:   Thu Aug 11 09:18:27 2016 -0400

    [rt.perl.org #128893]: printf %a botches 0 flag for negative values

commit 75326c485e9d40be5c22d508f581cdea68b244ce
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date:   Thu Aug 11 09:15:21 2016 -0400

    [rt.perl.org #128890]: printf %a rounds incorrectly

commit a9ce335538454d590920dab8d62db84948f1fb83
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date:   Thu Aug 11 09:12:04 2016 -0400

    [rt.perl.org #128889]: printf %a mishandles negative pseudo-precision

    (the fix for [rt.perl.org #128888] fixed also this one)

commit 82229f9f47d9a169b59715582fb5a09b5a4ac0ff
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date:   Wed Aug 10 19:06:03 2016 -0400

    [rt.perl.org #128888]: printf %a mishandles zero precision

commit 520f3e58c346a7bc3ef0509dfe0db206dae454ee
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date:   Wed Aug 10 19:47:19 2016 -0400

    Comment fix for b6d9b423

commit 94d00769fba240ffb86f18b3d66341fb1d24ae6c
Author: Jarkko Hietaniemi <jhi@iki.fi>
Date:   Wed Aug 10 19:13:36 2016 -0400

    Add rt.perl.org reference for b6d9b423


I began encountering the following test failures:

dcollins@nightshade64:~/toolchain/buildbot/master/workers/bot1/linux-debug-thread-ld/build$ ./perl -Ilib t/harness t/op/sprintf2.t
op/sprintf2.t .. 724/? # Failed test 1489 - at op/sprintf2.t line 807
#      got "0x8.4p-3"
# expected "0x1.08p+0"
# Failed test 1490 - at op/sprintf2.t line 808
#      got "0x8.4p-3"
# expected "0x1.0p+0"
# Failed test 1491 - [rt.perl.org \#128888] at op/sprintf2.t line 809
#      got "0x8p-3"
# expected "0x1p+0"
# Failed test 1492 - [rt.perl.org \#128889] at op/sprintf2.t line 812
#      got "0x8.4p-3"
# expected "0x1.08p+0"
# Failed test 1493 - at op/sprintf2.t line 815
#      got "0x8.cp-3"
# expected "0x1.18p+0"
# Failed test 1494 - at op/sprintf2.t line 816
#      got "0x8.4p-3"
# expected "0x1.0p+0"
# Failed test 1495 - [rt.perl.org \#128890] at op/sprintf2.t line 817
#      got "0x8.cp-3"
# expected "0x1.2p+0"
# Failed test 1496 - at op/sprintf2.t line 818
#      got "0x9.4p-3"
# expected "0x1.2p+0"
# Failed test 1497 - at op/sprintf2.t line 819
#      got "0x9.cp-3"
# expected "0x1.4p+0"
# Failed test 1498 - at op/sprintf2.t line 820
#      got "0xa.4p-3"
# expected "0x1.4p+0"
# Failed test 1499 - at op/sprintf2.t line 821
#      got "0xa.cp-3"
# expected "0x1.6p+0"
# Failed test 1500 - at op/sprintf2.t line 822
#      got "0xb.4p-3"
# expected "0x1.6p+0"
# Failed test 1501 - at op/sprintf2.t line 823
#      got "0xb.cp-3"
# expected "0x1.8p+0"
# Failed test 1502 - at op/sprintf2.t line 824
#      got "0xc.4p-3"
# expected "0x1.8p+0"
# Failed test 1503 - at op/sprintf2.t line 825
#      got "0xc.cp-3"
# expected "0x1.ap+0"
# Failed test 1504 - at op/sprintf2.t line 826
#      got "0xd.4p-3"
# expected "0x1.ap+0"
# Failed test 1505 - at op/sprintf2.t line 827
#      got "0xd.cp-3"
# expected "0x1.cp+0"
# Failed test 1506 - at op/sprintf2.t line 828
#      got "0xe.4p-3"
# expected "0x1.cp+0"
# Failed test 1507 - at op/sprintf2.t line 829
#      got "0xe.cp-3"
# expected "0x1.ep+0"
# Failed test 1508 - at op/sprintf2.t line 830
#      got "0xf.4p-3"
# expected "0x1.ep+0"
# Failed test 1509 - at op/sprintf2.t line 831
#      got "0xf.cp-3"
# expected "0x2.0p+0"
# Failed test 1510 - at op/sprintf2.t line 833
#      got "0x8.8p-3"
# expected "0x1.1p+0"
# Failed test 1511 - at op/sprintf2.t line 834
#      got "0x8.cp-3"
# expected "0x1.1p+0"
# Failed test 1512 - at op/sprintf2.t line 835
#      got "0x8.cp-3"
# expected "0x1.2p+0"
# Failed test 1513 - at op/sprintf2.t line 836
#      got "0x9.0p-3"
# expected "0x1.2p+0"
# Failed test 1514 - at op/sprintf2.t line 838
#      got "0x0.00p-3"
# expected "0x2.00p+0"
# Failed test 1515 - at op/sprintf2.t line 839
#      got "0x0.00p+0"
# expected "0x2.00p+3"
# Failed test 1516 - at op/sprintf2.t line 842
#      got "0x00000000000000cp-3"
# expected "0x0000000000001.8p+0"
# Failed test 1517 - [rt.perl.org \#128893] at op/sprintf2.t line 843
#      got "-0x0000000000000cp-3"
# expected "-0x000000000001.8p+0"
# Failed test 1518 - [rt.perl.org \#128893] at op/sprintf2.t line 844
#      got "+0x0000000000000cp-3"
# expected "+0x000000000001.8p+0"
# Failed test 1519 - [rt.perl.org \#128893] at op/sprintf2.t line 845
#      got " 0x0000000000000cp-3"
# expected " 0x000000000001.8p+0"
# Failed test 1520 - at op/sprintf2.t line 846
#      got "             -0xcp-3"
# expected "           -0x1.8p+0"
# Failed test 1521 - at op/sprintf2.t line 847
#      got "             +0xcp-3"
# expected "           +0x1.8p+0"
# Failed test 1522 - at op/sprintf2.t line 848
#      got "              0xcp-3"
# expected "            0x1.8p+0"
op/sprintf2.t .. Failed 34/1522 subtests
        (less 34 skipped subtests: 1454 okay)

Test Summary Report
-------------------
op/sprintf2.t (Wstat: 0 Tests: 1522 Failed: 34)
  Failed tests:  1489-1522
Files=1, Tests=1522,  1 wallclock secs ( 0.05 usr  0.01 sys +  0.04 cusr  0.04 csys =  0.14 CPU)
Result: FAIL


Under this configuration:

dcollins@nightshade64:~/toolchain/buildbot/master/workers/bot1/linux-debug-thread-ld/build$ ./perl -Ilib -V
Summary of my perl5 (revision 5 version 25 subversion 4) configuration:
  Derived from: be93048a43d87d317acca5b37619111b6a5f8c44
  Platform:
    osname=linux
    osvers=4.6.0-1-amd64
    archname=x86_64-linux-thread-multi-ld
    uname='linux nightshade64 4.6.0-1-amd64 #1 smp debian 4.6.1-1 (2016-06-06) x86_64 gnulinux '
    config_args='-Dusedevel -des -Dcc=ccache gcc-6 -DDEBUGGING -Dusethreads -Duselongdouble'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=define
    uselongdouble=define
    usemymalloc=n
    bincompat5005=undef
  Compiler:
    cc='ccache gcc-6'
    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'
    optimize='-O2 -g'
    cppflags='-D_REENTRANT -D_GNU_SOURCE -fwrapv -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
    ccversion=''
    gccversion='6.1.1 20160519'
    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='ccache gcc-6'
    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.22.so
    so=so
    useshrplib=false
    libperl=libperl.a
    gnulibc_version='2.22'
  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_LONG_DOUBLE
    USE_PERLIO
    USE_PERL_ATOF
    USE_REENTRANT_API
  Locally applied patches:
    uncommitted-changes
  Built under linux
  Compiled at Jan  1 1970 00:00:00
  %ENV:
    PERLBREW_BASHRC_VERSION="0.76"
    PERLBREW_HOME="/home/dcollins/.perlbrew"
    PERLBREW_ROOT="/home/dcollins/toolchain/perl5"
  @INC:
    lib
    /usr/local/lib/perl5/site_perl/5.25.4/x86_64-linux-thread-multi-ld
    /usr/local/lib/perl5/site_perl/5.25.4
    /usr/local/lib/perl5/5.25.4/x86_64-linux-thread-multi-ld
    /usr/local/lib/perl5/5.25.4
    .

I don't have a long doubles smoker that doesn't also build with -DDEBUGGING and -Dusethreads, but I suspect that a build with -Duselongdoubles is sufficient to trigger this. Full build log here: http://73.193.221.114:8010/#/builders/15/builds/42 

-- 
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