develooper Front page | perl.perl5.porters | Postings from June 2013

[perl #118603] t/op/stash.t: 3 new test failures on Darwin/PPC

Thread Next
From:
James E Keenan
Date:
June 22, 2013 17:35
Subject:
[perl #118603] t/op/stash.t: 3 new test failures on Darwin/PPC
Message ID:
rt-3.6.HEAD-2552-1371922495-1351.118603-75-0@perl.org
# New Ticket Created by  James E Keenan 
# Please include the string:  [perl #118603]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org:443/rt3/Ticket/Display.html?id=118603 >


In the past week t/op/stash.t has begun to experience test failures on 
Darwin/PPC.  These appear to be the first test failures specific to this 
platform since January 2013.

Here is the output of: cd t;./perl harness -v op/stash.t;cd -

#####
op/stash.t ..
1..58
ok 1 - delete $::{STDERR} and print a warning
ok 2 - Insert a non-GV in a stash, under warnings 'once'
ok 3 - Defining an XSUB over an existing sub with no stash under warnings
ok 4 - stashes happen to be defined if not used
ok 5 - - work with hard refs too
ok 6 - stashes are defined if seen at compile time
ok 7 - - work with hard refs too
ok 8 - stashes are defined if a var is seen at compile time
ok 9 - - work with hard refs too
ok 10 - package A::B; sub a { // }; %A::=""
ok 11 - use Exporter; package A; sub a { // }; delete $::{...
ok 12 - works in eval{}
ok 13 - works in eval("")
ok 14 - referencing a non-existent stash doesn't produce stricture errors
ok 15 - referencing a non-existent stash element doesn't produce 
stricture errors
ok 16 - deleted stash entry leaves CV with valid GV isa B::GV
not ok 17 - ...and CVf_ANON set
ok 18 - ...and an __ANON__ name
ok 19 - ...but leaves stash intact
ok 20 - cleared stash leaves CV with valid GV isa B::GV
not ok 21 - ...and CVf_ANON set
ok 22 - ...and an __ANON__ name
ok 23 - ...but leaves stash intact
ok 24 - undefed stash leaves CV with valid GV isa B::GV
not ok 25 - ...and CVf_ANON set
ok 26 - ...and an __ANON__ name
ok 27 - ...and an __ANON__ stash
ok 28 - cleared stash leaves anon CV with valid GV
ok 29 - ...but leaves the stash intact
ok 30 - undefed stash leaves anon CV with valid GV
not ok 31 - ...and an __ANON__ stash # TODO STASHES not anonymized
# Failed test 31 - ...and an __ANON__ stash at op/stash.t line 155
#      got undef
# expected "__ANON__"
ok 32 - anonymised CV whose stash is detached still has a GV
ok 33 - CV anonymised when its stash is detached becomes __ANON__::__ANON__
ok 34 - NULL CvSTASH on named sub
ok 35 - orphaned CV has valid GV
ok 36 - orphaned CV has anon GV
ok 37 - ex-named CV has valid GV
ok 38 - ex-named CV has anon GV
ok 39 - anon CV has valid GV
ok 40 - anon CV has anon GV
ok 41 - stub records the package it was compiled in
ok 42 - stub records the file it was compiled in
ok 43 - definition overrides the package it was compiled in
ok 44 - definition overrides the file it was compiled in
# Failed test 17 - ...and CVf_ANON set at op/stash.t line 104
#      got "0"
# expected "128"
# Failed test 21 - ...and CVf_ANON set at op/stash.t line 116
#      got "0"
# expected "128"
# Failed test 25 - ...and CVf_ANON set at op/stash.t line 128
#      got "0"
# expected "128"
ok 45 - no segfault with overload/deleted stash entry [\#58530]
ok 46 - __ANON__ sub called ok
ok 47 - globs stringify the same way when stashes are moved
ok 48 - ref() returns the same thing when an object’s stash is moved
ok 49 - objects stringify the same way when their stashes are moved
ok 50 - __PACKAGE__ returns the same when the current stash is moved
ok 51 - globs stringify the same way when stashes are detached
ok 52 - ref() returns the same thing when an object’s stash is detached
ok 53 - objects stringify the same way when their stashes are detached
ok 54 - __PACKAGE__ returns the same when the current stash is detached
ok 55 - setting stash name during undef has no effect
ok 56 - packages ending with :: are self-consistent
ok 57 - ' is equivalent to :: before a null
ok 58 - no crashing or errors when clobbering the current package
Failed 3/58 subtests

Test Summary Report
-------------------
op/stash.t (Wstat: 0 Tests: 58 Failed: 3)
   Failed tests:  17, 21, 25
Files=1, Tests=58,  1 wallclock secs ( 0.07 usr  0.02 sys +  0.17 cusr 
0.21 csys =  0.47 CPU)
Result: FAIL
/Users/jimk/gitwork/perl
Sat Jun 22 12:37:38 EDT 2013
#####

Given the lack of speed on this platform, a formal 'git bisect' would 
take days.  However, I have manually bisected the problem this far:

#####
commit 31476221e8e03a317c349f057be115891edca18c
Author:     Father Chrysostomos <sprout@cpan.org>
AuthorDate: Fri Jun 14 00:40:23 2013 -0700
Commit:     Father Chrysostomos <sprout@cpan.org>
CommitDate: Fri Jun 14 18:13:16 2013 -0700

t/op/stash.t PASS
#####
commit b8a02ff16952a74a5f8d4679c7439a5c543a0fcf
Author:     David Golden <dagolden@cpan.org>
AuthorDate: Wed Jun 19 22:28:22 2013 -0400
Commit:     David Golden <dagolden@cpan.org>
CommitDate: Wed Jun 19 22:28:22 2013 -0400

t/op/stash.t FAIL as above
#####

So the failure emerged between June 14 and June 19.  As of this morning, 
blead was experiencing these failures as well.

If someone can suggest either specific commits to test or debugging 
procedures, please contact me ASAP.

Thank you very much.
Jim Keenan

#####
Summary of my perl5 (revision 5 version 18 subversion 0) configuration:

   Platform:
     osname=darwin, osvers=8.11.0, archname=darwin-2level
     uname='darwin macintosh-9.local 8.11.0 darwin kernel version 
8.11.0: wed oct 10 18:26:00 pdt 2007; root:xnu-792.24.17~1release_ppc 
power macintosh powerpc '
     config_args='-des'
     hint=recommended, useposix=true, d_sigaction=define
     useithreads=undef, usemultiplicity=undef
     useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
     use64bitint=undef, use64bitall=undef, uselongdouble=undef
     usemymalloc=n, bincompat5005=undef
   Compiler:
     cc='cc', ccflags ='-fno-common -DPERL_DARWIN -fno-strict-aliasing 
-pipe -I/usr/local/include -I/opt/local/include',
     optimize='-O3',
     cppflags='-fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe 
-I/usr/local/include -I/opt/local/include'
     ccversion='', gccversion='4.0.1 (Apple Computer, Inc. build 5250)', 
gccosandvers=''
     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
     ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
     alignbytes=8, prototype=define
   Linker and Libraries:
     ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags =' 
-L/usr/local/lib -L/opt/local/lib'
     libpth=/usr/local/lib /opt/local/lib /usr/lib
     libs=-ldbm -ldl -lm -lc
     perllibs=-ldl -lm -lc
     libc=, so=dylib, useshrplib=false, libperl=libperl.a
     gnulibc_version=''
   Dynamic Linking:
     dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
     cccdlflags=' ', lddlflags=' -bundle -undefined dynamic_lookup 
-L/usr/local/lib -L/opt/local/lib'


Characteristics of this binary (from libperl):
   Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_DONT_CREATE_GVSV
                         PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
                         PERL_PRESERVE_IVUV PERL_SAWAMPERSAND 
USE_LARGE_FILES
                         USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE
                         USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF
   Built under darwin
   Compiled at May 18 2013 12:31:26
   %ENV:
     PERLBREW_BASHRC_VERSION="0.59"
     PERLBREW_HOME="/Users/jimk/.perlbrew"
     PERLBREW_MANPATH=""
     PERLBREW_PATH="/Users/jimk/perl5/perlbrew/bin"
     PERLBREW_ROOT="/Users/jimk/perl5/perlbrew"
     PERLBREW_VERSION="0.59"
   @INC:
     /usr/local/lib/perl5/site_perl/5.18.0/darwin-2level
     /usr/local/lib/perl5/site_perl/5.18.0
     /usr/local/lib/perl5/5.18.0/darwin-2level
     /usr/local/lib/perl5/5.18.0
     /usr/local/lib/perl5/site_perl/5.16.0
     /usr/local/lib/perl5/site_perl/5.14.2
     /usr/local/lib/perl5/site_perl/5.14.0
     /usr/local/lib/perl5/site_perl/5.12.0
     /usr/local/lib/perl5/site_perl/5.10.1
     /usr/local/lib/perl5/site_perl/5.10.0
     /usr/local/lib/perl5/site_perl/5.8.6
     /usr/local/lib/perl5/site_perl
     .
#####


Thread Next


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