Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test failure on Mac OS Catalina #17041

Closed
p5pRT opened this issue Jun 7, 2019 · 11 comments
Closed

Test failure on Mac OS Catalina #17041

p5pRT opened this issue Jun 7, 2019 · 11 comments

Comments

@p5pRT
Copy link

p5pRT commented Jun 7, 2019

Migrated from rt.perl.org#134184 (status was 'open')

Searchable as RT134184$

@p5pRT
Copy link
Author

p5pRT commented Jun 7, 2019

From @dur-randir

Created by @dur-randir

m-catalina​:t/ (blead) λ ./perl harness porting/libperl.t
porting/libperl.t .. 1/? porting/libperl.t​: Unexpected /usr/bin/nm
error​: no symbols
porting/libperl.t​: Unexpected /usr/bin/nm errors
porting/libperl.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
All 35 subtests passed

Test Summary Report
-------------------
porting/libperl.t (Wstat​: 65280 Tests​: 35 Failed​: 0)
  Non-zero exit status​: 255
  Parse errors​: No plan found in TAP output
Files=1, Tests=35, 0 wallclock secs ( 0.36 usr 0.00 sys + 0.13 cusr
0.03 csys = 0.52 CPU)
Result​: FAIL

Perl Info

Flags:
    category=core
    severity=medium

Site configuration information for perl 5.31.1:

Configured by dur-randir at Fri Jun  7 07:28:56 PDT 2019.

Summary of my perl5 (revision 5 version 31 subversion 1) configuration:
  Commit id: 69b89a0f0bb2cbb4c1607e78c3b414bf45244bea
  Platform:
    osname=darwin
    osvers=19.0.0
    archname=darwin-thread-multi-2level
    uname='darwin m-catalina.local 19.0.0 darwin kernel version
19.0.0: fri may 24 17:36:10 pdt 2019;
root:xnu-6041.0.0.111.5~1release_x86_64 x86_64 '
    config_args='-de -Dusedevel -DDEBUGGING -Dusethreads'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=define
    usemultiplicity=define
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='cc'
    ccflags ='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.15
-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong
-I/opt/local/include -DPERL_USE_SAFE_PUTENV'
    optimize='-O3 -g'
    cppflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=10.15
-DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector-strong
-I/opt/local/include'
    ccversion=''
    gccversion='4.2.1 Compatible Apple LLVM 11.0.0 (clang-1100.0.20.17)'
    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 =' -mmacosx-version-min=10.15 -fstack-protector-strong
-L/opt/local/lib'
    libpth=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/11.0.0/lib
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib
/opt/local/lib /usr/lib
    libs=-lpthread -lgdbm -ldbm -ldl -lm -lutil -lc
    perllibs=-lpthread -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=' -mmacosx-version-min=10.15 -bundle -undefined
dynamic_lookup -L/opt/local/lib -fstack-protector-strong'



@INC for perl 5.31.1:
    lib
    /usr/local/lib/perl5/site_perl/5.31.1/darwin-thread-multi-2level
    /usr/local/lib/perl5/site_perl/5.31.1
    /usr/local/lib/perl5/5.31.1/darwin-thread-multi-2level
    /usr/local/lib/perl5/5.31.1


Environment for perl 5.31.1:
    DYLD_LIBRARY_PATH (unset)
    HOME=/Users/dur-randir
    LANG=en_US.UTF-8
    LANGUAGE (unset)
    LC_CTYPE=en_US.UTF-8
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Library/Apple/bin:/opt/local/bin
    PERLBREW_ROOT=/Users/dur-randir/perlbrew
    PERL_BADLANG (unset)
    SHELL=/opt/local/bin/zsh

@p5pRT
Copy link
Author

p5pRT commented Jun 7, 2019

From @jkeenan

On Fri, 07 Jun 2019 19​:15​:35 GMT, randir wrote​:

This is a bug report for perl from sergey.aleynikov@​gmail.com,
generated with the help of perlbug 1.41 running under perl 5.31.1.

-----------------------------------------------------------------
[Please describe your issue here]

m-catalina​:t/ (blead) λ ./perl harness porting/libperl.t
porting/libperl.t .. 1/? porting/libperl.t​: Unexpected /usr/bin/nm
error​: no symbols
porting/libperl.t​: Unexpected /usr/bin/nm errors
porting/libperl.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
All 35 subtests passed

Test Summary Report
-------------------
porting/libperl.t (Wstat​: 65280 Tests​: 35 Failed​: 0)
Non-zero exit status​: 255
Parse errors​: No plan found in TAP output
Files=1, Tests=35, 0 wallclock secs ( 0.36 usr 0.00 sys + 0.13 cusr
0.03 csys = 0.52 CPU)
Result​: FAIL

Am I correct in thinking that Catalina is the latest version of Mac OS X? If so, congratulations, you have (probably) been the first person to test Perl 5 blead thereon.

Your prize for being first is that you get to investigate this bug on your own machine.

t/porting/libperl.t contains instructions for debugging its own failures. Have you tried any of them?

In particular, once having built perl, you might try stepping through the file with the new perl's debugger, paying particular attention to this 'if' block wherein the exception is thrown.

#####
578 if (defined $nm_err_tmp) {
579 if (open(my $nm_err_fh, $nm_err_tmp)) {
580 my $error;
581 while (<$nm_err_fh>) {
582 # OS X has weird error where nm warns about
583 # "no name list" but then outputs fine.
584 if (/nm​: no name list/ && $^O eq 'darwin') {
585 print "# $^O ignoring $nm output​: $_";
586 next;
587 }
588 warn "$0​: Unexpected $nm error​: $_";
589 $error++;
590 }
591 die "$0​: Unexpected $nm errors\n" if $error;
592 } else {
593 warn "Failed to open '$nm_err_tmp'​: $!\n";
594 }
595 }
#####

Thank you very much.

--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Jun 7, 2019

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

@p5pRT
Copy link
Author

p5pRT commented Jun 7, 2019

From @craigberry

On Fri, Jun 7, 2019 at 2​:33 PM James E Keenan via RT
<perlbug-followup@​perl.org> wrote​:

On Fri, 07 Jun 2019 19​:15​:35 GMT, randir wrote​:

This is a bug report for perl from sergey.aleynikov@​gmail.com,
generated with the help of perlbug 1.41 running under perl 5.31.1.

-----------------------------------------------------------------
[Please describe your issue here]

m-catalina​:t/ (blead) λ ./perl harness porting/libperl.t
porting/libperl.t .. 1/? porting/libperl.t​: Unexpected /usr/bin/nm
error​: no symbols
porting/libperl.t​: Unexpected /usr/bin/nm errors
porting/libperl.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
All 35 subtests passed

Test Summary Report
-------------------
porting/libperl.t (Wstat​: 65280 Tests​: 35 Failed​: 0)
Non-zero exit status​: 255
Parse errors​: No plan found in TAP output
Files=1, Tests=35, 0 wallclock secs ( 0.36 usr 0.00 sys + 0.13 cusr
0.03 csys = 0.52 CPU)
Result​: FAIL

Am I correct in thinking that Catalina is the latest version of Mac OS X?

It won't be out until the fall. He must have a developer preview.
Among other changes, the system volume is read-only in Catalina and
the default shell is zsh rather than bash. More likely, though, is
some change to the formatting or wording of nm output. Figuring out
the exact nm command libperl.t is running (using the Perl debugger as
James suggested) and then running it external to Perl and seeing what
its output looks like and how it might differ from what the test
expects might be the best place to start.

@p5pRT
Copy link
Author

p5pRT commented Jun 7, 2019

From @dur-randir

On Fri, 07 Jun 2019 12​:32​:47 -0700, jkeenan wrote​:

Am I correct in thinking that Catalina is the latest version of Mac OS
X?

Yes, this is RC1.

: If so, congratulations, you have (probably) been the first person

to test Perl 5 blead thereon.

That's the point :)

In particular, once having built perl, you might try stepping through
the file with the new perl's debugger, paying particular attention to
this 'if' block wherein the exception is thrown.

The error there happens to be 'no symbols', though nm has successfully listed 24573 entries.

@p5pRT
Copy link
Author

p5pRT commented Jun 11, 2019

From @iabyn

On Fri, Jun 07, 2019 at 04​:22​:57PM -0500, Craig A. Berry wrote​:

More likely, though, is
some change to the formatting or wording of nm output. Figuring out
the exact nm command libperl.t is running (using the Perl debugger as
James suggested) and then running it external to Perl and seeing what
its output looks like and how it might differ from what the test
expects might be the best place to start.

Running the text script manually shows, on line 8, how nm was invoked​:

  $ ./perl -Ilib t/porting/libperl.t
  # $^O = linux
  # $Config{archname} = x86_64-linux-thread-multi
  # $Config{cc} = cc
  # libperl = ../libperl.a
  # nm = /usr/bin/nm
  # nm_style = gnu
  # nm_opt =
  # command​: "/usr/bin/nm ../libperl.a 2>libperl20767 |"
  ok 1 - has object pp.o
  ....

--
All wight. I will give you one more chance. This time, I want to hear
no Wubens. No Weginalds. No Wudolf the wed-nosed weindeers.
  -- Life of Brian

@p5pRT
Copy link
Author

p5pRT commented Sep 5, 2019

From corwin@redhat.com

Greetings,

I also encountered this problem on OS X version 10.14.5 (mojave) trying to do a perlbrew install of 5.30.0. I was able to patch the test to get it to pass. I would be happy to submit a patch or PR, but I don't know where to do so.

Can someone tell me how to proceed?

Thanks,

corwin

@p5pRT
Copy link
Author

p5pRT commented Sep 5, 2019

From [Unknown Contact. See original ticket]

Greetings,

I also encountered this problem on OS X version 10.14.5 (mojave) trying to do a perlbrew install of 5.30.0. I was able to patch the test to get it to pass. I would be happy to submit a patch or PR, but I don't know where to do so.

Can someone tell me how to proceed?

Thanks,

corwin

@p5pRT
Copy link
Author

p5pRT commented Sep 6, 2019

From @jkeenan

On Thu, 05 Sep 2019 07​:33​:16 GMT, corwin@​redhat.com wrote​:

Greetings,

I also encountered this problem on OS X version 10.14.5 (mojave)
trying to do a perlbrew install of 5.30.0. I was able to patch the
test to get it to pass. I would be happy to submit a patch or PR, but
I don't know where to do so.

Can someone tell me how to proceed?

Thanks,

corwin

The full description of how to submit a patch can be found by calling 'perldoc perlhack'.

For short ...

We prefer that you start with a git checkout of the Perl 5 core distribution. The basic branch is called "blead". From blead, create a new branch​:

#####
git checkout -b 134184-test-failure
#####

Edit files as needed. Do a thorough configure, build and test of your branch.

#####
sh ./Configure -des -Dusedevel && make test-harness
#####

Do a git commit of your changes.

Then, in your branch, create patch with​:

#####
git format-patch HEAD^
#####

(Assuming all your changes are in one commit.) That will create a patch in the current directory. Respond to this email and *attach* your patch to that reply. Please let us know if that's clear (but consult 'perlhack' when in doubt).

Thank you very much.

--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Oct 7, 2019

From @jkeenan

On Fri, 07 Jun 2019 21​:21​:51 GMT, craig.a.berry@​gmail.com wrote​:

On Fri, Jun 7, 2019 at 2​:33 PM James E Keenan via RT
<perlbug-followup@​perl.org> wrote​:

On Fri, 07 Jun 2019 19​:15​:35 GMT, randir wrote​:

This is a bug report for perl from sergey.aleynikov@​gmail.com,
generated with the help of perlbug 1.41 running under perl 5.31.1.

-----------------------------------------------------------------
[Please describe your issue here]

m-catalina​:t/ (blead) λ ./perl harness porting/libperl.t
porting/libperl.t .. 1/? porting/libperl.t​: Unexpected /usr/bin/nm
error​: no symbols
porting/libperl.t​: Unexpected /usr/bin/nm errors
porting/libperl.t .. Dubious, test returned 255 (wstat 65280, 0xff00)
All 35 subtests passed

Test Summary Report
-------------------
porting/libperl.t (Wstat​: 65280 Tests​: 35 Failed​: 0)
Non-zero exit status​: 255
Parse errors​: No plan found in TAP output
Files=1, Tests=35, 0 wallclock secs ( 0.36 usr 0.00 sys + 0.13 cusr
0.03 csys = 0.52 CPU)
Result​: FAIL

Am I correct in thinking that Catalina is the latest version of Mac OS X?

It won't be out until the fall. He must have a developer preview.
Among other changes, the system volume is read-only in Catalina and
the default shell is zsh rather than bash. More likely, though, is
some change to the formatting or wording of nm output. Figuring out
the exact nm command libperl.t is running (using the Perl debugger as
James suggested) and then running it external to Perl and seeing what
its output looks like and how it might differ from what the test
expects might be the best place to start.

One of our smoke testers has reported to me that he is experiencing these failures and that they started once Xcode was upgraded to 11. See​:

http​://perl5.test-smoke.org/submatrix?test=../t/porting/libperl.t&pversion=5.31.5

--
James E Keenan (jkeenan@​cpan.org)

@dur-randir
Copy link
Member

Fixed by #24.

@atoomic atoomic closed this as completed Oct 21, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants