Perl / perl5

🐪 The Perl programming language
https://dev.perl.org/perl5/
Other
1.92k stars 548 forks source link

t/porting/libperl.t: Test failure on Darwin #13978

Closed p5pRT closed 10 years ago

p5pRT commented 10 years ago

Migrated from rt.perl.org#122267 (status was 'resolved')

Searchable as RT122267$

p5pRT commented 10 years ago

From @jkeenan

[Originally filed on p5p newsgroup; transferring to RT]

I successfully built and tested Perl 5.20.0 on Darwin/PPC when it was released two months ago. I built and tested blead today for the first time since then. I was surprised to get a test failure in t/porting/libperl.c.

When I re-directed the test's STDOUT and STDERR to a file\, I got a tremendous amount of "# Unexpected nm output" lines. For the full output\, see the tarball attached.

Here is the short version of the output. ##### $ cd t;./perl harness -v porting/libperl.t ; cd -# Failed test 2 - has text Perl_peep at porting/libperl.t line 196 # Failed test 3 - has text Perl_pp_uc in pp.o at porting/libperl.t line 197 # Failed test 4 - has data const symbols at porting/libperl.t line 198 # Failed test 5 - has PL_no_mem at porting/libperl.t line 199 # Failed test 6 - has PL_hash_seed at porting/libperl.t line 325 # Failed test 7 - has PL_ppaddr at porting/libperl.t line 326

ok 1 - has object pp.o not ok 2 - has text Perl_peep not ok 3 - has text Perl_pp_uc in pp.o not ok 4 - has data const symbols not ok 5 - has PL_no_mem not ok 6 - has PL_hash_seed not ok 7 - has PL_ppaddr ok 8 - has no PL_VarsPtr ok 9 - has no PL_Vars ok 10 - has no Perl_GetVars Failed 6/10 subtests

Test Summary Report


porting/libperl.t (Wstat​: 0 Tests​: 10 Failed​: 6)   Failed tests​: 2-7 Files=1\, Tests=10\, 3 wallclock secs ( 1.87 usr 0.12 sys + 0.22 cusr 0.07 csys = 2.28 CPU) Result​: FAIL /Users/jimk/gitwork/perl #####

I am not getting this failure on Linux x86_64. I have not yet tried this on Darwin x86_64.

Has anything happened lately that would have an impact on this?

Thank you very much. Jim Keenan

P.S.​: See attachment for 'perl -V' for the machine that had the failure.

p5pRT commented 10 years ago

From @jkeenan

porting_libperl_failure.txt.gz

p5pRT commented 10 years ago

From @jkeenan

Summary of my perl5 (revision 5 version 21 subversion 2) configuration​:   Commit id​: a7fa5053628a560ab7de68cb98a8894c82546246   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 -Dusedevel'   hint=recommended\, useposix=true\, d_sigaction=define   useithreads=undef\, usemultiplicity=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 -D_FORTIFY_SOURCE=2'\,   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 /usr/lib /opt/local/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_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV   PERL_USE_DEVEL USE_LARGE_FILES USE_LOCALE   USE_LOCALE_COLLATE USE_LOCALE_CTYPE   USE_LOCALE_NUMERIC USE_PERLIO USE_PERL_ATOF   Built under darwin   Compiled at Jul 9 2014 19​:34​:04   %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"   PERL_WORKDIR="gitwork/perl"   @​INC​:   lib   /usr/local/lib/perl5/site_perl/5.21.2/darwin-2level   /usr/local/lib/perl5/site_perl/5.21.2   /usr/local/lib/perl5/5.21.2/darwin-2level   /usr/local/lib/perl5/5.21.2   /usr/local/lib/perl5/site_perl   .

p5pRT commented 10 years ago

From @jkeenan

On Thu Jul 10 16​:24​:33 2014\, jkeenan wrote​:

[Originally filed on p5p newsgroup; transferring to RT]

I successfully built and tested Perl 5.20.0 on Darwin/PPC when it was released two months ago. I built and tested blead today for the first time since then. I was surprised to get a test failure in t/porting/libperl.c.

[snip]

Has anything happened lately that would have an impact on this?

#####

commit d92f47ae2e102edeaf8813a465c2e7a3886dc269 Author​: Jarkko Hietaniemi \jhi@​iki\.fi AuthorDate​: Mon Jun 23 20​:11​:50 2014 Commit​: Jarkko Hietaniemi \jhi@​iki\.fi CommitDate​: Wed Jun 25 12​:43​:01 2014

  Add t/porting/libperl.t  
  For sanity checking libperl.a on those platforms that have one\,   and extra checking for the rare configurations of -DPERL_GLOBAL_STRUCT   and -DPERL_GLOBAL_STRUCT_PRIVATE which restructure the symbol exports.

#####

So this is not only a new failure in t/porting/libperl.t; it is also the very *first* failure reported in this file\, as it was only added by Jarkko on June 25.

Jarkko has communicated to me that this is probably something trivial in the 'nm' output on PPC. He is travelling for a couple of weeks and will look at this upon his return.

Not that that should prevent anyone else from looking at this problem!

Thank you very much. Jim Keenan

p5pRT commented 10 years ago

The RT System itself - Status changed from 'new' to 'open'

p5pRT commented 10 years ago

From @jkeenan

On Thu Jul 10 17​:43​:43 2014\, jkeenan wrote​:

On Thu Jul 10 16​:24​:33 2014\, jkeenan wrote​: [snip]

So this is not only a new failure in t/porting/libperl.t; it is also the very *first* failure reported in this file\, as it was only added by Jarkko on June 25.

Jarkko has communicated to me that this is probably something trivial in the 'nm' output on PPC. He is travelling for a couple of weeks and will look at this upon his return.

Not that that should prevent anyone else from looking at this problem!

This failure probably has an OS aspect and a platform aspect. Attached please find two files with the output of t/porting/libperl.t on Darwin x86_64. The file has failures on x86_64\, albeit fewer than on the older PPC.

Thank you very much. Jim Keenan

p5pRT commented 10 years ago

From @jkeenan

# Failed test 5 - has PL_no_mem at porting/libperl.t line 199 porting/libperl.t .. # libperl = ../libperl.a # nm = /usr/bin/nm # nm_style = darwin # nm_opt = -m ok 1 - has object pp.o ok 2 - has text Perl_peep ok 3 - has text Perl_pp_uc in pp.o ok 4 - has data const symbols not ok 5 - has PL_no_mem # GS = 0 # GSP = 0 # neither -DPERL_GLOBAL_STRUCT nor -DPERL_GLOBAL_STRUCT_PRIVATE ok 6 - has PL_hash_seed ok 7 - has PL_ppaddr ok 8 - has no PL_VarsPtr ok 9 - has no PL_Vars ok 10 - has no Perl_GetVars # darwin ignoring /usr/bin/nm output​: /usr/bin/nm​: no name list 1..10 Failed 1/10 subtests

Test Summary Report


porting/libperl.t (Wstat​: 0 Tests​: 10 Failed​: 1)   Failed test​: 5 Files=1\, Tests=10\, 0 wallclock secs ( 0.01 usr 0.00 sys + 0.06 cusr 0.01 csys = 0.08 CPU) Result​: FAIL

p5pRT commented 10 years ago

From @jkeenan

$ cd t; ./perl harness -v porting/libperl.t; cd - # Failed test 5 - has PL_no_mem at porting/libperl.t line 199

ok 1 - has object pp.o ok 2 - has text Perl_peep ok 3 - has text Perl_pp_uc in pp.o ok 4 - has data const symbols not ok 5 - has PL_no_mem ok 6 - has PL_hash_seed ok 7 - has PL_ppaddr ok 8 - has no PL_VarsPtr ok 9 - has no PL_Vars ok 10 - has no Perl_GetVars Failed 1/10 subtests

Test Summary Report


porting/libperl.t (Wstat​: 0 Tests​: 10 Failed​: 1)   Failed test​: 5 Files=1\, Tests=10\, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.08 cusr 0.01 csys = 0.11 CPU) Result​: FAIL /Users/jkeenan/gitwork/perl

$ ./perl -Ilib -V Summary of my perl5 (revision 5 version 21 subversion 2) configuration​:   Commit id​: 98b630b35f6ee9b6c20fb18e6a8fc1a0363a233c   Platform​:   osname=darwin\, osvers=11.4.2\, archname=darwin-2level   uname='darwin 11.4.2 darwin kernel version 11.4.2​: thu aug 23 16​:25​:48 pdt 2012; root​:xnu-1699.32.7~1release_x86_64 x86_64 '   config_args='-des -Dusedevel'   hint=recommended\, useposix=true\, d_sigaction=define   useithreads=undef\, usemultiplicity=undef   use64bitint=define\, use64bitall=define\, uselongdouble=undef   usemymalloc=n\, bincompat5005=undef   Compiler​:   cc='cc'\, ccflags ='-fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'\,   optimize='-O3'\,   cppflags='-fno-common -DPERL_DARWIN -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'   ccversion=''\, gccversion='4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)'\, gccosandvers=''   intsize=4\, longsize=8\, ptrsize=8\, doublesize=8\, byteorder=12345678   d_longlong=define\, longlongsize=8\, d_longdbl=define\, longdblsize=16   ivtype='long'\, ivsize=8\, 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 =' -fstack-protector -L/usr/local/lib'   libpth=/usr/local/lib /usr/lib   libs=-ldbm -ldl -lm -lutil -lc   perllibs=-ldl -lm -lutil -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 -fstack-protector'

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_NEW_COPY_ON_WRITE 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_PERLIO   USE_PERL_ATOF   Built under darwin   Compiled at Jul 10 2014 16​:45​:21   %ENV​:   PERL5DIR="/Users/jkeenan/gitwork/perl"   PERLBREW_BASHRC_VERSION="0.46"   PERLBREW_HOME="/Users/jkeenan/.perlbrew"   PERLBREW_MANPATH="/Users/jkeenan/perl5/perlbrew/perls/perl-5.16.2/man"   PERLBREW_PATH="/Users/jkeenan/perl5/perlbrew/bin​:/Users/jkeenan/perl5/perlbrew/perls/perl-5.16.2/bin"   PERLBREW_PERL="perl-5.16.2"   PERLBREW_ROOT="/Users/jkeenan/perl5/perlbrew"   PERLBREW_VERSION="0.46"   PERL_WORKDIR="gitwork/perl"   @​INC​:   lib   /usr/local/lib/perl5/site_perl/5.21.2/darwin-2level   /usr/local/lib/perl5/site_perl/5.21.2   /usr/local/lib/perl5/5.21.2/darwin-2level   /usr/local/lib/perl5/5.21.2   .

p5pRT commented 10 years ago

From @rjbs

Jim asked about marking this skipped on this platform until a fix is in. I think that's fine.

-- rjbs

p5pRT commented 10 years ago

From @karenetheridge

On Sat\, Jul 12\, 2014 at 02​:23​:36PM -0700\, Ricardo SIGNES via RT wrote​:

Jim asked about marking this skipped on this platform until a fix is in. I think that's fine.

s/skipped/TODO/\, for greater visibility?

p5pRT commented 10 years ago

From @rjbs

* Karen Etheridge \perl@​froods\.org [2014-07-12T17​:28​:02]

On Sat\, Jul 12\, 2014 at 02​:23​:36PM -0700\, Ricardo SIGNES via RT wrote​:

Jim asked about marking this skipped on this platform until a fix is in. I think that's fine.

s/skipped/TODO/\, for greater visibility?

On most platforms\, that would show up as "unexpected TODO pass\," which is the wrong kind of visibility. If the TODO is platform-specific\, I'm not sure this is really going to add any kind of visibility\, is it?

-- rjbs

p5pRT commented 10 years ago

From @jkeenan

On Sat Jul 12 14​:23​:35 2014\, rjbs wrote​:

Jim asked about marking this skipped on this platform until a fix is in. I think that's fine.

commit ed0e322ca1d56fd4f31e1f778f65732f9e1e7dbb Author​: James E Keenan \jkeenan@​cpan\.org Date​: Sat Jul 12 22​:16​:23 2014 -0400

skip_all on darwin until nm peculiarities can be straighted out.

Assigning to jhi.

p5pRT commented 10 years ago

From @greerga

On Fri\, 11 Jul 2014\, James E Keenan via RT wrote​:

On Thu Jul 10 17​:43​:43 2014\, jkeenan wrote​:

On Thu Jul 10 16​:24​:33 2014\, jkeenan wrote​: [snip]

So this is not only a new failure in t/porting/libperl.t; it is also the very *first* failure reported in this file\, as it was only added by Jarkko on June 25.

Jarkko has communicated to me that this is probably something trivial in the 'nm' output on PPC. He is travelling for a couple of weeks and will look at this upon his return.

Not that that should prevent anyone else from looking at this problem!

This failure probably has an OS aspect and a platform aspect. Attached please find two files with the output of t/porting/libperl.t on Darwin x86_64. The file has failures on x86_64\, albeit fewer than on the older PPC.

Curiously it doesn't fail for me on Mavericks with Intel​:

Darwin localhost 13.3.0 Darwin Kernel Version 13.3.0​: Tue Jun 3 21​:27​:35 PDT 2014; root​:xnu-2422.110.17~1/RELEASE_X86_64 x86_64

$ ./perl -I lib t/porting/libperl.t # libperl = ../libperl.a # nm = /usr/bin/nm # nm_style = darwin # nm_opt = -m ok 1 - has object pp.o ok 2 - has text Perl_peep ok 3 - has text Perl_pp_uc in pp.o ok 4 - has data const symbols ok 5 - has PL_no_mem # GS = 0 # GSP = 0 # neither -DPERL_GLOBAL_STRUCT nor -DPERL_GLOBAL_STRUCT_PRIVATE ok 6 - has PL_hash_seed ok 7 - has PL_ppaddr ok 8 - has no PL_VarsPtr ok 9 - has no PL_Vars ok 10 - has no Perl_GetVars

Looks like your PPC is 10.4 Tiger and your x86_64 is 10.7 Lion?

What's your "/usr/bin/nm -m ../libperl.a" output? Mine (that passes tests) is attached.

-- George Greer

p5pRT commented 10 years ago

From @greerga

libperl-nm.txt.gz

p5pRT commented 10 years ago

From @jkeenan

On Sat Jul 12 19​:25​:59 2014\, jkeenan wrote​:

On Sat Jul 12 14​:23​:35 2014\, rjbs wrote​:

Jim asked about marking this skipped on this platform until a fix is in. I think that's fine.

commit ed0e322ca1d56fd4f31e1f778f65732f9e1e7dbb Author​: James E Keenan \jkeenan@​cpan\.org Date​: Sat Jul 12 22​:16​:23 2014 -0400

skip_all on darwin until nm peculiarities can be straighted out.

Assigning to jhi.

jhi put in a lot of time on this. I can now report that t/porting/libperl.t now PASSes on Darwin/PPC on blead​:

##### [perl] 513 $ ./perl -v |head -2 | tail -1 This is perl 5\, version 21\, subversion 2 (v5.21.2 (v5.21.1-191-g41a81de)) built for darwin-2level [perl] 514 $ cd t;./perl harness porting/libperl.t; cd - porting/libperl.t .. ok
All tests successful. Files=1\, Tests=31\, 0 wallclock secs ( 0.07 usr 0.02 sys + 0.31 cusr 0.06 csys = 0.46 CPU) Result​: PASS #####

There's probably nothing more to be done on this ticket. I'll double check on my Darwin/x86_64 machine on Monday\, then close the ticket if there are no further problems.

Thank you very much. Jim Keenan

p5pRT commented 10 years ago

From @jkeenan

On Sat Jul 19 19​:35​:58 2014\, jkeenan wrote​:

There's probably nothing more to be done on this ticket. I'll double check on my Darwin/x86_64 machine on Monday\, then close the ticket if there are no further problems.

t/porting/libperl.t PASS on Darwin/x86_64 (Mac OS X 10.6 or so) today.

Marking ticket resolved.

Thank you very much. Jim Keenan

p5pRT commented 10 years ago

@jkeenan - Status changed from 'open' to 'resolved'