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

5.36.2a t/porting/regen.t blows up under macOS: undefined current object: op.o #21677

Closed
trwyant opened this issue Nov 27, 2023 · 6 comments · Fixed by #21679
Closed

5.36.2a t/porting/regen.t blows up under macOS: undefined current object: op.o #21677

trwyant opened this issue Nov 27, 2023 · 6 comments · Fixed by #21679
Assignees

Comments

@trwyant
Copy link

trwyant commented Nov 27, 2023

Module:

Description
When running the Perl test suite, t/porting/regen.t failed as follows:

t/porting/libperl ................................................ porting/libperl.t: undefined current object: op.o: at porting/libperl.t line 242, <$nm_fh> line 2.
FAILED--no leader found

./perl harness added nothing that appears interesting, at least not that I can tell.

porting/libperl.t: undefined current object: op.o: at porting/libperl.t line 242, <$nm_fh> line 2.
porting/libperl.t ....................................................
Dubious, test returned 29 (wstat 7424, 0x1d00)
No subtests run

./perl -I. -MTestInit t/porting/regen.t (stolen from #21671) ran to completion with no failing tests, but I don't know what that means.

Steps to Reproduce
Sorry, it's more than just a one-liner:

Expected behavior

Passing test

Perl configuration

Summary of my perl5 (revision 5 version 36 subversion 2) configuration:
   
  Platform:
    osname=darwin
    osvers=22.6.0
    archname=darwin-2level
    uname='darwin samwise.local 22.6.0 darwin kernel version 22.6.0: wed oct 4 21:25:26 pdt 2023; root:xnu-8796.141.3.701.17~4release_x86_64 x86_64 '
    config_args='-Dprefix=/trw/local/perl/5.36.2 -Dcf_email=wyant@cpan.org -Uinstallusrbinperl -e -d'
    hint=recommended
    useposix=true
    d_sigaction=define
    useithreads=undef
    usemultiplicity=undef
    use64bitint=define
    use64bitall=define
    uselongdouble=undef
    usemymalloc=n
    default_inc_excludes_dot=define
  Compiler:
    cc='cc'
    ccflags ='-fno-common -DPERL_DARWIN -mmacosx-version-min=13.6 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -I/opt/local/include -DPERL_USE_SAFE_PUTENV'
    optimize='-O3'
    cppflags='-fno-common -DPERL_DARWIN -mmacosx-version-min=13.6 -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -I/opt/local/include'
    ccversion=''
    gccversion='Apple LLVM 14.0.3 (clang-1403.0.22.14.1)'
    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=13.6 -fstack-protector-strong -L/usr/local/lib -L/opt/local/lib'
    libpth=/usr/local/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/14.0.3/lib /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib /opt/local/lib /usr/lib
    libs=-lgdbm
    perllibs=
    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=13.6 -bundle -undefined dynamic_lookup -L/usr/local/lib -L/opt/local/lib -fstack-protector-strong'


Characteristics of this binary (from libperl): 
  Compile-time options:
    HAS_TIMES
    PERLIO_LAYERS
    PERL_COPY_ON_WRITE
    PERL_DONT_CREATE_GVSV
    PERL_MALLOC_WRAP
    PERL_OP_PARENT
    PERL_PRESERVE_IVUV
    PERL_USE_SAFE_PUTENV
    USE_64_BIT_ALL
    USE_64_BIT_INT
    USE_LARGE_FILES
    USE_LOCALE
    USE_LOCALE_COLLATE
    USE_LOCALE_CTYPE
    USE_LOCALE_NUMERIC
    USE_LOCALE_TIME
    USE_PERLIO
    USE_PERL_ATOF
  Built under darwin
  Compiled at Nov 27 2023 10:39:24
  @INC:
    /trw/local/perl/5.36.2/lib/site_perl/5.36.2/darwin-2level
    /trw/local/perl/5.36.2/lib/site_perl/5.36.2
    /trw/local/perl/5.36.2/lib/5.36.2/darwin-2level
    /trw/local/perl/5.36.2/lib/5.36.2


$ uname -a
Darwin Samwise.local 22.6.0 Darwin Kernel Version 22.6.0: Wed Oct  4 21:25:26 PDT 2023; root:xnu-8796.141.3.701.17~4/RELEASE_X86_64 x86_64

@Leont
Copy link
Contributor

Leont commented Nov 27, 2023

Frankly, libperl.t is so fragile we should consider eliminating it entirely.

@trwyant
Copy link
Author

trwyant commented Nov 28, 2023

I haven't exercised 5.36.2a extensively, but I do know I have found nothing wrong with 5.38.1 built on the same system other than the test failure that 5.38.1a was supposed to fix.

Please let me know what other information I can provide. My XCode is 14.3.1.

@trwyant
Copy link
Author

trwyant commented Nov 28, 2023

Same result with https://www.leonerd.org.uk/tmp/perl-5.36.3.tar.gz

t/porting/libperl ................................................ porting/libperl.t: undefined current object: op.o: at porting/libperl.t line 242, <$nm_fh> line 2.
FAILED--no leader found

@trwyant
Copy link
Author

trwyant commented Nov 28, 2023

Have not used 5.36.3 a lot, but installed all my usual modules without problems. I assume the error is cosmetic.

@tonycoz
Copy link
Contributor

tonycoz commented Nov 28, 2023

This was fixed for 5.38 in b1db177 and hasn't been backported to maint-*

You can ignore the message.

I expect we should be disabling this test for maint, or at least when run outside of perl's .git.

@trwyant
Copy link
Author

trwyant commented Nov 29, 2023

Confirmed with blead, specifically c9e6b69, which is a descendant of b1db177.

tonycoz added a commit to tonycoz/perl5 that referenced this issue Nov 30, 2023
maint-* branches, whether supported or not, may not be updated to
handle changes to nm's output due to updates to the operating system
or toolchain.

The same applies doubly to release tarballs.

So skip this test for maint/version numbers.

Keep the test for devel releases, since they have limited support
windows anyway, and we want this test to be done where possible.

Fixes Perl#21677
@tonycoz tonycoz self-assigned this Nov 30, 2023
tonycoz added a commit to tonycoz/perl5 that referenced this issue Dec 3, 2023
maint-* branches, whether supported or not, may not be updated to
handle changes to nm's output due to updates to the operating system
or toolchain.

The same applies doubly to release tarballs.

So skip this test for maint/version numbers.

Keep the test for devel releases, since they have limited support
windows anyway, and we want this test to be done where possible.

Fixes Perl#21677
tonycoz added a commit that referenced this issue Dec 7, 2023
maint-* branches, whether supported or not, may not be updated to
handle changes to nm's output due to updates to the operating system
or toolchain.

The same applies doubly to release tarballs.

So skip this test for maint/version numbers.

Keep the test for devel releases, since they have limited support
windows anyway, and we want this test to be done where possible.

Fixes #21677
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants