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

BBC: blead breaks B::Hooks::Parser #16603

Closed
p5pRT opened this issue Jul 1, 2018 · 24 comments
Closed

BBC: blead breaks B::Hooks::Parser #16603

p5pRT opened this issue Jul 1, 2018 · 24 comments
Labels
BBC Blead Breaks CPAN - changes in blead broke a cpan module(s) type-library
Milestone

Comments

@p5pRT
Copy link

p5pRT commented Jul 1, 2018

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

Searchable as RT133318$

@p5pRT
Copy link
Author

p5pRT commented Jul 1, 2018

From @jkeenan

As first reported by cguevara on #p5p​:

#####
(03​:13​:55 PM) cguevara​: It looks like blead broke B-Hooks-Parser.
(03​:14​:17 PM) cguevara​:
http​://www.cpantesters.org/cpan/report/a64db87e-7d13-11e8-9eb5-cef7925f8fe4
(03​:14​:17 PM) dipsy​: [ CPAN Testers Reports​: FAIL B-Hooks-Parser-0.19
5.29.1 FreeBSD ]
(03​:14​:28 PM) cguevara​:
http​://www.cpantesters.org/cpan/report/b1ff7912-7d5b-11e8-8363-1437c27abc76
(03​:14​:29 PM) dipsy​: [ CPAN Testers Reports​: FAIL B-Hooks-Parser-0.19
5.29.1 GNU/Linux ]
#####

Excerpt from cpanm build.log file built at b1d2191 attached.

Currently bisecting.

Thank you very much.
Jim Keenan

@p5pRT
Copy link
Author

p5pRT commented Jul 1, 2018

From @jkeenan

cpanm (App​::cpanminus) 1.7044 on perl 5.029001 built for x86_64-linux
...
Searching B​::Hooks​::Parser () on cpanmetadb ...
--> Working on B​::Hooks​::Parser
Fetching http​://www.cpan.org/authors/id/E/ET/ETHER/B-Hooks-Parser-0.19.tar.gz
-> OK
Unpacking B-Hooks-Parser-0.19.tar.gz
Entering B-Hooks-Parser-0.19
Checking configure dependencies from META.json
Checking if you have ExtUtils​::MakeMaker 6.58 ... Yes (7.34)
Checking if you have ExtUtils​::Depends 0.302 ... No
Checking if you have B​::Hooks​::OP​::Check 0.18 ... No
==> Found dependencies​: ExtUtils​::Depends, B​::Hooks​::OP​::Check
...
Searching B​::Hooks​::OP​::Check (0.18) on cpanmetadb ...
--> Working on B​::Hooks​::OP​::Check
Fetching http​://www.cpan.org/authors/id/E/ET/ETHER/B-Hooks-OP-Check-0.22.tar.gz
-> OK
Unpacking B-Hooks-OP-Check-0.22.tar.gz
Entering B-Hooks-OP-Check-0.22
Checking configure dependencies from META.json
Checking if you have ExtUtils​::MakeMaker 6.58 ... Yes (7.34)
Checking if you have ExtUtils​::Depends 0.302 ... Yes (0.405)
Configuring B-Hooks-OP-Check-0.22
Running Makefile.PL
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for B​::Hooks​::OP​::Check
Writing MYMETA.yml and MYMETA.json
-> OK
Checking dependencies from MYMETA.json ...
Checking if you have parent 0 ... Yes (0.236)
Checking if you have ExtUtils​::MakeMaker 0 ... Yes (7.34)
Checking if you have strict 0 ... Yes (1.11)
Checking if you have DynaLoader 0 ... Yes (1.45)
Checking if you have File​::Spec 0 ... Yes (3.74)
Checking if you have Test​::More 0 ... Yes (1.302133)
Checking if you have warnings 0 ... Yes (1.42)
Building and testing B-Hooks-OP-Check-0.22
cp hook_op_check.h blib/arch/B/Hooks/OP/Check/Install/hook_op_check.h
cp build/IFiles.pm blib/arch/B/Hooks/OP/Check/Install/Files.pm
cp lib/B/Hooks/OP/Check.pm blib/lib/B/Hooks/OP/Check.pm
Running Mkbootstrap for Check ()
chmod 644 "Check.bs"
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e 'cp_nonempty' -- Check.bs blib/arch/auto/B/Hooks/OP/Check/Check.bs 644
"/home/jkeenan/testing/blead/bin/perl" "/home/jkeenan/testing/blead/lib/perl5/5.29.1/ExtUtils/xsubpp" -typemap '/home/jkeenan/testing/blead/lib/perl5/5.29.1/ExtUtils/typemap' Check.xs > Check.xsc
mv Check.xsc Check.c
cc -c -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.22\" -DXS_VERSION=\"0.22\" -fPIC "-I/home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux/CORE" Check.c
In file included from Check.xs​:5​:0​:
ppport.h​:4594​:0​: warning​: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE
^
In file included from /home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux/CORE/perl.h​:2466​:0,
  from Check.xs​:2​:
/home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux/CORE/handy.h​:1064​:0​: note​: this is the location of the previous definition
# define WIDEST_UTYPE U64
^
rm -f blib/arch/auto/B/Hooks/OP/Check/Check.so
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong Check.o -o blib/arch/auto/B/Hooks/OP/Check/Check.so \
  \
 
chmod 755 blib/arch/auto/B/Hooks/OP/Check/Check.so
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e 'cp_nonempty' -- Check.bs blib/arch/auto/B/Hooks/OP/Check/Check.bs 644
PERL_DL_NONLAZY=1 "/home/jkeenan/testing/blead/bin/perl" "-MExtUtils​::Command​::MM" "-MTest​::Harness" "-e" "undef *Test​::Harness​::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
#
# Versions for all modules listed in MYMETA.json (including optional ones)​:
...
#
t/00-report-prereqs.t .. ok
t/use.t ................ ok
All tests successful.
Files=2, Tests=2, 0 wallclock secs ( 0.01 usr 0.00 sys + 0.19 cusr 0.00 csys = 0.20 CPU)
Result​: PASS
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e 'cp_nonempty' -- Check.bs blib/arch/auto/B/Hooks/OP/Check/Check.bs 644
Files found in blib/arch​: installing files in blib/lib into architecture dependent library tree
Installing /home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.1/x86_64-linux/B/Hooks/OP/Check/Install/Files.pm
Installing /home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.1/x86_64-linux/B/Hooks/OP/Check/Install/hook_op_check.h
Installing /home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.1/x86_64-linux/auto/B/Hooks/OP/Check/Check.so
Installing /home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.1/x86_64-linux/B/Hooks/OP/Check.pm
Appending installation info to /home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux/perllocal.pod
-> OK
Successfully installed B-Hooks-OP-Check-0.22
Installing /home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.1/x86_64-linux/.meta/B-Hooks-OP-Check-0.22/install.json
Installing /home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.1/x86_64-linux/.meta/B-Hooks-OP-Check-0.22/MYMETA.json
Configuring B-Hooks-Parser-0.19
Running Makefile.PL
Warning​: prerequisite B​::Hooks​::EndOfScope 0 not found.
...
Building and testing B-Hooks-Parser-0.19
cp build/IFiles.pm blib/arch/B/Hooks/Parser/Install/Files.pm
cp lib/B/Hooks/Parser.pm blib/lib/B/Hooks/Parser.pm
cp hook_parser.h blib/arch/B/Hooks/Parser/Install/hook_parser.h
Running Mkbootstrap for Parser ()
chmod 644 "Parser.bs"
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e 'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs 644
"/home/jkeenan/testing/blead/bin/perl" "/home/jkeenan/testing/blead/lib/perl5/5.29.1/ExtUtils/xsubpp" -typemap '/home/jkeenan/testing/blead/lib/perl5/5.29.1/ExtUtils/typemap' Parser.xs > Parser.xsc
mv Parser.xsc Parser.c
cc -c -I/home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.1/x86_64-linux/B/Hooks/OP/Check/Install -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.19\" -DXS_VERSION=\"0.19\" -fPIC "-I/home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux/CORE" Parser.c
In file included from Parser.xs​:9​:0​:
ppport.h​:4594​:0​: warning​: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE
^
In file included from /home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux/CORE/perl.h​:2466​:0,
  from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux/CORE/handy.h​:1064​:0​: note​: this is the location of the previous definition
# define WIDEST_UTYPE U64
^
In file included from Parser.xs​:12​:0​:
stolen_chunk_of_toke.c​: In function ‘S_scan_word’​:
stolen_chunk_of_toke.c​:351​:38​: warning​: implicit declaration of function ‘is_utf8_mark’ [-Wimplicit-function-declaration]
  while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
  ^
stolen_chunk_of_toke.c​: In function ‘S_scan_str’​:
stolen_chunk_of_toke.c​:547​:2​: warning​: ‘Perl_utf8_to_uvchr’ is deprecated [-Wdeprecated-declarations]
  termcode = utf8_to_uvchr((U8*)s, &termlen);
  ^
In file included from /home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux/CORE/perl.h​:5272​:0,
  from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux/CORE/proto.h​:3603​:18​: note​: declared here
PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
  ^
rm -f blib/arch/auto/B/Hooks/Parser/Parser.so
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong Parser.o -o blib/arch/auto/B/Hooks/Parser/Parser.so \
  \
 
chmod 755 blib/arch/auto/B/Hooks/Parser/Parser.so
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e 'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs 644
PERL_DL_NONLAZY=1 "/home/jkeenan/testing/blead/bin/perl" "-MExtUtils​::Command​::MM" "-MTest​::Harness" "-e" "undef *Test​::Harness​::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
#
# Versions for all modules listed in MYMETA.json (including optional ones)​:
#
# === Configure Requires ===
#
# Module Want Have
# ------------------- ----- -----
# B​::Hooks​::OP​::Check 0.18 0.22
# ExtUtils​::Depends 0.302 0.405
# ExtUtils​::MakeMaker any 7.34
#
# === Build Requires ===
#
# Module Want Have
# ------------------- ---- ----
# ExtUtils​::MakeMaker any 7.34
#
# === Test Requires ===
#
# Module Want Have
# -------------------- ---- --------
# B​::Hooks​::EndOfScope any 0.24
# ExtUtils​::MakeMaker any 7.34
# File​::Spec any 3.74
# Test​::Fatal any 0.014
# Test​::More any 1.302133
#
# === Test Recommends ===
#
# Module Want Have
# ---------- -------- --------
# CPAN​::Meta 2.120900 2.150010
#
# === Runtime Requires ===
#
# Module Want Have
# ------------------- ---- -----
# B​::Hooks​::OP​::Check any 0.22
# DynaLoader any 1.45
# parent any 0.236
# strict any 1.11
# warnings any 1.42
#
# === Other Modules ===
#
# Module Have
# --------- -------
# JSON​::PP 2.97001
# Sub​::Name missing
# YAML 1.26
# autodie 2.29
#
t/00-report-prereqs.t .. ok

# Failed test 'use B​::Hooks​::Parser;'
# at t/basic.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load '/home/jkeenan/.cpanm/work/1530474068.21366/B-Hooks-Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1530474068.21366/B-Hooks-Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​: is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux/DynaLoader.pm line 193.
# � at t/basic.t line 6.
# Compilation failed in require at t/basic.t line 6.
# BEGIN failed--compilation aborted at t/basic.t line 6.
Undefined subroutine &B​::Hooks​::Parser​::get_linestr called at t/basic.t line 11.
BEGIN failed--compilation aborted at t/basic.t line 11.
# Looks like your test exited with 255 just after 1.
t/basic.t ..............
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 9/9 subtests
Can't load '/home/jkeenan/.cpanm/work/1530474068.21366/B-Hooks-Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1530474068.21366/B-Hooks-Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​: is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux/DynaLoader.pm line 193.
� at t/set_linestr.t line 5.
Compilation failed in require at t/set_linestr.t line 5.
BEGIN failed--compilation aborted at t/set_linestr.t line 5.
# Looks like your test exited with 2 before it could output anything.
t/set_linestr.t ........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests

# Failed test 'use B​::Hooks​::Parser;'
# at t/toke.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load '/home/jkeenan/.cpanm/work/1530474068.21366/B-Hooks-Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1530474068.21366/B-Hooks-Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​: is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux/DynaLoader.pm line 193.
# � at t/toke.t line 6.
# Compilation failed in require at t/toke.t line 6.
# BEGIN failed--compilation aborted at t/toke.t line 6.

# Failed test at t/toke.t line 7.

# Failed test at t/toke.t line 8.
# Looks like you failed 3 tests of 3.
t/toke.t ...............
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests

Test Summary Report


t/basic.t (Wstat​: 65280 Tests​: 1 Failed​: 1)
  Failed test​: 1
  Non-zero exit status​: 255
  Parse errors​: Bad plan. You planned 9 tests but ran 1.
t/set_linestr.t (Wstat​: 512 Tests​: 0 Failed​: 0)
  Non-zero exit status​: 2
  Parse errors​: Bad plan. You planned 2 tests but ran 0.
t/toke.t (Wstat​: 768 Tests​: 3 Failed​: 3)
  Failed tests​: 1-3
  Non-zero exit status​: 3
Files=4, Tests=5, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.29 cusr 0.01 csys = 0.32 CPU)
Result​: FAIL
Failed 3/4 test programs. 4/5 subtests failed.
Makefile​:1066​: recipe for target 'test_dynamic' failed
make​: *** [test_dynamic] Error 3
-> FAIL Installing B​::Hooks​::Parser failed. See /home/jkeenan/.cpanm/work/1530474068.21366/build.log for details. Retry with --force to force install it.
5 distributions installed

@p5pRT
Copy link
Author

p5pRT commented Jul 1, 2018

From @jkeenan

Summary of my perl5 (revision 5 version 29 subversion 1) configuration​:
  Commit id​: b1d2191
  Platform​:
  osname=linux
  osvers=4.4.0-128-generic
  archname=x86_64-linux
  uname='linux zareason 4.4.0-128-generic #154-ubuntu smp fri may 25 14​:15​:18 utc 2018 x86_64 x86_64 x86_64 gnulinux '
  config_args='-des -Dusedevel -Uversiononly -Dprefix=/home/jkeenan/testing/blead -Dman1dir=none -Dman3dir=none'
  hint=recommended
  useposix=true
  d_sigaction=define
  useithreads=undef
  usemultiplicity=undef
  use64bitint=define
  use64bitall=define
  uselongdouble=undef
  usemymalloc=n
  default_inc_excludes_dot=define
  bincompat5005=undef
  Compiler​:
  cc='cc'
  ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
  optimize='-O2'
  cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
  ccversion=''
  gccversion='5.4.0 20160609'
  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 =' -fstack-protector-strong -L/usr/local/lib'
  libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/5/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 /lib64 /usr/lib64
  libs=-lpthread -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat
  perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
  libc=libc-2.23.so
  so=so
  useshrplib=false
  libperl=libperl.a
  gnulibc_version='2.23'
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs
  dlext=so
  d_dlsymun=undef
  ccdlflags='-Wl,-E'
  cccdlflags='-fPIC'
  lddlflags='-shared -O2 -L/usr/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_DEVEL
  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 linux
  Compiled at Jul 1 2018 08​:09​:23
  %ENV​:
  PERL2DIR="/home/jkeenan/gitwork/perl2"
  PERLBREW_BASHRC_VERSION="0.78"
  PERLBREW_HOME="/home/jkeenan/.perlbrew"
  PERLBREW_MANPATH="/home/jkeenan/perl5/perlbrew/perls/perl-5.28.0/man"
  PERLBREW_PATH="/home/jkeenan/perl5/perlbrew/bin​:/home/jkeenan/perl5/perlbrew/perls/perl-5.28.0/bin"
  PERLBREW_PERL="perl-5.28.0"
  PERLBREW_ROOT="/home/jkeenan/perl5/perlbrew"
  PERLBREW_VERSION="0.78"
  PERL_WORKDIR="/home/jkeenan/gitwork/perl"
  @​INC​:
  lib
  /home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.1/x86_64-linux
  /home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.1
  /home/jkeenan/testing/blead/lib/perl5/5.29.1/x86_64-linux
  /home/jkeenan/testing/blead/lib/perl5/5.29.1

@p5pRT
Copy link
Author

p5pRT commented Jul 1, 2018

From @jkeenan

On Sun, 01 Jul 2018 19​:55​:58 GMT, jkeenan@​pobox.com wrote​:

As first reported by cguevara on #p5p​:

#####
(03​:13​:55 PM) cguevara​: It looks like blead broke B-Hooks-Parser.
(03​:14​:17 PM) cguevara​:
http​://www.cpantesters.org/cpan/report/a64db87e-7d13-11e8-9eb5-cef7925f8fe4
(03​:14​:17 PM) dipsy​: [ CPAN Testers Reports​: FAIL B-Hooks-Parser-0.19
5.29.1 FreeBSD ]
(03​:14​:28 PM) cguevara​:
http​://www.cpantesters.org/cpan/report/b1ff7912-7d5b-11e8-8363-1437c27abc76
(03​:14​:29 PM) dipsy​: [ CPAN Testers Reports​: FAIL B-Hooks-Parser-0.19
5.29.1 GNU/Linux ]
#####

Excerpt from cpanm build.log file built at b1d2191 attached.

Currently bisecting.

Thank you very much.
Jim Keenan

Bisection points to​:

#####
e6e9f5a is the first bad commit
commit e6e9f5a
Author​: Karl Williamson <khw@​cpan.org>
Date​: Thu Jun 28 21​:58​:23 2018 -0600

  Remove some deprecated functions from mathoms.c
 
  These have been deprecated since 5.18, and have security issues, as they
  can try to read beyond the end of the buffer.

:100644 100644 7c606f4b5c8af86d8d70d39c415609d3cb11cf8a 0f06e3802461f786132c7b3f914b311a217c6573 M embed.fnc
:100644 100644 9bc7fb38d05973c13c0a86bbcf42ffc592d2fc3b cf3ad9e154919c31634744cb1099693eb1fe742b M embed.h
:040000 040000 cedde8774b3ee29b04d043762b4d313929842dc2 8a84f6a50245980947aeb1ca79b59123542ae61f M ext
:100644 100644 ed466c2c7130acbc1d1362b1febcad600ee91cd7 d059f19273a3000cd0951c88d20e0a3fe043d359 M mathoms.c
:100644 100644 7be8fbd4d2df3b31150522e3416a3b0fcabf9f78 3e027ab2db021ddf0a5f933bc09e4c4fa974b5c5 M proto.h
bisect run success
That took 1325 seconds.
#####

Is this a case where upstream module has to be revised due to core functionality no longer available?

Thank you very much.

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

@p5pRT
Copy link
Author

p5pRT commented Jul 1, 2018

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

@p5pRT
Copy link
Author

p5pRT commented Jul 1, 2018

From @khwilliamson

The breakage is in the aptly named file 'stolen_chunk_of_toke.c'. It's using ancient code to try to duplicate our parsing. The deprecated function removed is 'is_utf8_mark()' Unicode quite a few releases ago moved away from using marks, so this parsing is also obsolete.

I think the code should update to steal a more modern chunk of toke.c, and drop its obsolete use. If there were a way to avoid stealing that would be better. I would be happy to work with the maintainers to try to come up with an API function that they could use instead.

--
Karl Williamson

@p5pRT
Copy link
Author

p5pRT commented Jul 1, 2018

From @karenetheridge

On Sun, 01 Jul 2018 13​:40​:52 -0700, khw wrote​:

I think the code should update to steal a more modern chunk of toke.c,
and drop its obsolete use. If there were a way to avoid stealing that
would be better. I would be happy to work with the maintainers to try
to come up with an API function that they could use instead.

I would be grateful to apply any patches that anyone proposes.

@p5pRT
Copy link
Author

p5pRT commented Jul 5, 2018

From @smpeters

Once upon a time, we had discussed including NO_MATHOMS in smoke tests against a decent subset of CPAN to find modules using deprecated APIs. This would have caught this problem a while ago.

@p5pRT
Copy link
Author

p5pRT commented Jul 5, 2018

From [Unknown Contact. See original ticket]

Once upon a time, we had discussed including NO_MATHOMS in smoke tests against a decent subset of CPAN to find modules using deprecated APIs. This would have caught this problem a while ago.

@p5pRT
Copy link
Author

p5pRT commented Jul 5, 2018

From @jkeenan

On Thu, 05 Jul 2018 16​:10​:06 GMT, stmpeters wrote​:

Once upon a time, we had discussed including NO_MATHOMS in smoke tests
against a decent subset of CPAN to find modules using deprecated APIs.
This would have caught this problem a while ago.

What would be the arguments for ./Configure in that case?

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

@p5pRT
Copy link
Author

p5pRT commented Jul 5, 2018

From @khwilliamson

On 07/05/2018 11​:45 AM, James E Keenan via RT wrote​:

On Thu, 05 Jul 2018 16​:10​:06 GMT, stmpeters wrote​:

Once upon a time, we had discussed including NO_MATHOMS in smoke tests
against a decent subset of CPAN to find modules using deprecated APIs.
This would have caught this problem a while ago.

What would be the arguments for ./Configure in that case?

Add

-Accflags='-DNO_MATHOMS'

1 similar comment
@p5pRT
Copy link
Author

p5pRT commented Jul 5, 2018

From @khwilliamson

On 07/05/2018 11​:45 AM, James E Keenan via RT wrote​:

On Thu, 05 Jul 2018 16​:10​:06 GMT, stmpeters wrote​:

Once upon a time, we had discussed including NO_MATHOMS in smoke tests
against a decent subset of CPAN to find modules using deprecated APIs.
This would have caught this problem a while ago.

What would be the arguments for ./Configure in that case?

Add

-Accflags='-DNO_MATHOMS'

@p5pRT
Copy link
Author

p5pRT commented Mar 26, 2019

From @khwilliamson

I believe that this has been fixed for 5.30 by
commit cb57a25
Author​: Karl Williamson <khw@​cpan.org>
Date​: Thu Jul 19 16​:26​:34 2018 -0600

  Revert "Remove some deprecated functions from mathoms.c"
 
  This reverts commit e6e9f5a.

Could someone verify. This will be a problem in 5.32, and I will work with Karen to come up with an API to keep this from having to steal core code that can be obsoleted.
--
Karl Williamson

@p5pRT
Copy link
Author

p5pRT commented Mar 26, 2019

From @jkeenan

On Tue, 26 Mar 2019 20​:42​:10 GMT, khw wrote​:

I believe that this has been fixed for 5.30 by
commit cb57a25
Author​: Karl Williamson <khw@​cpan.org>
Date​: Thu Jul 19 16​:26​:34 2018 -0600

Revert "Remove some deprecated functions from mathoms.c"

This reverts commit e6e9f5a.

Could someone verify. This will be a problem in 5.32, and I will work
with Karen to come up with an API to keep this from having to steal
core code that can be obsoleted.

For me, at least, it is not fixed.

#####
11 distributions installed

$ ./bin/perl -v | head -2 | tail -1
This is perl 5, version 29, subversion 10 (v5.29.10 (v5.29.9-33-g5e6a22d736)) built for x86_64-linux

$ ./bin/perl -Ilib -V​:config_args
config_args='-des -Dusedevel -Accflags='-DNO_MATHOMS' -Dprefix=/home/jkeenan/testing/blead -Uversiononly -Dman1dir=none -Dman3dir=none';

## From the .cpanm build.log

Building and testing B-Hooks-Parser-0.19
cp build/IFiles.pm blib/arch/B/Hooks/Parser/Install/Files.pm
cp lib/B/Hooks/Parser.pm blib/lib/B/Hooks/Parser.pm
cp hook_parser.h blib/arch/B/Hooks/Parser/Install/hook_parser.h
Running Mkbootstrap for Parser ()
chmod 644 "Parser.bs"
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e 'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs 644
"/home/jkeenan/testing/blead/bin/perl" "/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/xsubpp" -typemap '/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/typemap' Parser.xs > Parser.xsc
mv Parser.xsc Parser.c
cc -c -I/home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.10/x86_64-linux/B/Hooks/OP/Check/Install -DNO_MATHOMS -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.19\" -DXS_VERSION=\"0.19\" -fPIC "-I/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/CORE" Parser.c
In file included from Parser.xs​:9​:0​:
ppport.h​:4594​:0​: warning​: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE

In file included from /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/CORE/perl.h​:2495​:0,
  from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/CORE/handy.h​:1072​:0​: note​: this is the location of the previous definition
# define WIDEST_UTYPE U64

In file included from Parser.xs​:12​:0​:
stolen_chunk_of_toke.c​: In function ‘S_scan_word’​:
stolen_chunk_of_toke.c​:351​:38​: warning​: implicit declaration of function ‘is_utf8_mark’; did you mean ‘_is_utf8_mark’? [-Wimplicit-function-declaration]
  while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
  ^~~~~~~~~~~~
  _is_utf8_mark
stolen_chunk_of_toke.c​: In function ‘S_scan_str’​:
stolen_chunk_of_toke.c​:547​:2​: warning​: ‘Perl_utf8_to_uvchr’ is deprecated [-Wdeprecated-declarations]
  termcode = utf8_to_uvchr((U8*)s, &termlen);
  ^~~~~~~~
In file included from /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/CORE/perl.h​:5307​:0,
  from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/CORE/proto.h​:3858​:18​: note​: declared here
PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
  ^~~~~~~~~~~~~~~~~~
rm -f blib/arch/auto/B/Hooks/Parser/Parser.so
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong Parser.o -o blib/arch/auto/B/Hooks/Parser/Parser.so \
  \
 
chmod 755 blib/arch/auto/B/Hooks/Parser/Parser.so
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e 'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs 644
PERL_DL_NONLAZY=1 "/home/jkeenan/testing/blead/bin/perl" "-MExtUtils​::Command​::MM" "-MTest​::Harness" "-e" "undef *Test​::Harness​::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
#

[snip]

#
t/00-report-prereqs.t .. ok

# Failed test 'use B​::Hooks​::Parser;'
# at t/basic.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load '/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​: is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/DynaLoader.pm line 193.
# at t/basic.t line 6.
# Compilation failed in require at t/basic.t line 6.
# BEGIN failed--compilation aborted at t/basic.t line 6.
Undefined subroutine &B​::Hooks​::Parser​::get_linestr called at t/basic.t line 11.
BEGIN failed--compilation aborted at t/basic.t line 11.
# Looks like your test exited with 255 just after 1.
t/basic.t ..............
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 9/9 subtests
Can't load '/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​: is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/DynaLoader.pm line 193.
at t/set_linestr.t line 5.
Compilation failed in require at t/set_linestr.t line 5.
BEGIN failed--compilation aborted at t/set_linestr.t line 5.
# Looks like your test exited with 2 before it could output anything.
t/set_linestr.t ........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests

# Failed test 'use B​::Hooks​::Parser;'
# at t/toke.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load '/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​: is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/DynaLoader.pm line 193.
# at t/toke.t line 6.
# Compilation failed in require at t/toke.t line 6.
# BEGIN failed--compilation aborted at t/toke.t line 6.

# Failed test at t/toke.t line 7.

# Failed test at t/toke.t line 8.
# Looks like you failed 3 tests of 3.
t/toke.t ...............
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests

Test Summary Report


t/basic.t (Wstat​: 65280 Tests​: 1 Failed​: 1)
  Failed test​: 1
  Non-zero exit status​: 255
  Parse errors​: Bad plan. You planned 9 tests but ran 1.
t/set_linestr.t (Wstat​: 512 Tests​: 0 Failed​: 0)
  Non-zero exit status​: 2
  Parse errors​: Bad plan. You planned 2 tests but ran 0.
t/toke.t (Wstat​: 768 Tests​: 3 Failed​: 3)
  Failed tests​: 1-3
  Non-zero exit status​: 3
Files=4, Tests=5, 1 wallclock secs ( 0.02 usr 0.01 sys + 0.27 cusr 0.03 csys = 0.33 CPU)
Result​: FAIL
Failed 3/4 test programs. 4/5 subtests failed.
Makefile​:1066​: recipe for target 'test_dynamic' failed
make​: *** [test_dynamic] Error 3
-> FAIL Installing B​::Hooks​::Parser failed. See /home/jkeenan/.cpanm/work/1553634741.15879/build.log for details. Retry with --force to force install it.
#####
--
James E Keenan (jkeenan@​cpan.org)

@p5pRT
Copy link
Author

p5pRT commented Mar 26, 2019

From @jkeenan

On Tue, 26 Mar 2019 21​:57​:12 GMT, jkeenan wrote​:

On Tue, 26 Mar 2019 20​:42​:10 GMT, khw wrote​:

I believe that this has been fixed for 5.30 by
commit cb57a25
Author​: Karl Williamson <khw@​cpan.org>
Date​: Thu Jul 19 16​:26​:34 2018 -0600

Revert "Remove some deprecated functions from mathoms.c"

This reverts commit e6e9f5a.

Could someone verify. This will be a problem in 5.32, and I will
work
with Karen to come up with an API to keep this from having to steal
core code that can be obsoleted.

For me, at least, it is not fixed.

#####
11 distributions installed

$ ./bin/perl -v | head -2 | tail -1
This is perl 5, version 29, subversion 10 (v5.29.10 (v5.29.9-33-
g5e6a22d736)) built for x86_64-linux

$ ./bin/perl -Ilib -V​:config_args
config_args='-des -Dusedevel -Accflags='-DNO_MATHOMS'
-Dprefix=/home/jkeenan/testing/blead -Uversiononly -Dman1dir=none
-Dman3dir=none';

## From the .cpanm build.log

Building and testing B-Hooks-Parser-0.19
cp build/IFiles.pm blib/arch/B/Hooks/Parser/Install/Files.pm
cp lib/B/Hooks/Parser.pm blib/lib/B/Hooks/Parser.pm
cp hook_parser.h blib/arch/B/Hooks/Parser/Install/hook_parser.h
Running Mkbootstrap for Parser ()
chmod 644 "Parser.bs"
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e
'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs 644
"/home/jkeenan/testing/blead/bin/perl"
"/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/xsubpp"
-typemap
'/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/typemap'
Parser.xs > Parser.xsc
mv Parser.xsc Parser.c
cc -c
-I/home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.10/x86_64-
linux/B/Hooks/OP/Check/Install -DNO_MATHOMS -fwrapv -fno-strict-
aliasing -pipe -fstack-protector-strong -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.19\"
-DXS_VERSION=\"0.19\" -fPIC "-
I/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/CORE"
Parser.c
In file included from Parser.xs​:9​:0​:
ppport.h​:4594​:0​: warning​: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE

In file included from
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/perl.h​:2495​:0,
from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/handy.h​:1072​:0​: note​: this is the location of the previous
definition
# define WIDEST_UTYPE U64

In file included from Parser.xs​:12​:0​:
stolen_chunk_of_toke.c​: In function ‘S_scan_word’​:
stolen_chunk_of_toke.c​:351​:38​: warning​: implicit declaration of
function ‘is_utf8_mark’; did you mean ‘_is_utf8_mark’? [-Wimplicit-
function-declaration]
while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
^~~~~~~~~~~~
_is_utf8_mark
stolen_chunk_of_toke.c​: In function ‘S_scan_str’​:
stolen_chunk_of_toke.c​:547​:2​: warning​: ‘Perl_utf8_to_uvchr’ is
deprecated [-Wdeprecated-declarations]
termcode = utf8_to_uvchr((U8*)s, &termlen);
^~~~~~~~
In file included from
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/perl.h​:5307​:0,
from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/proto.h​:3858​:18​: note​: declared here
PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN
*retlen)
^~~~~~~~~~~~~~~~~~
rm -f blib/arch/auto/B/Hooks/Parser/Parser.so
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong Parser.o
-o blib/arch/auto/B/Hooks/Parser/Parser.so \
\

chmod 755 blib/arch/auto/B/Hooks/Parser/Parser.so
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e
'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs 644
PERL_DL_NONLAZY=1 "/home/jkeenan/testing/blead/bin/perl" "-
MExtUtils​::Command​::MM" "-MTest​::Harness" "-e" "undef
*Test​::Harness​::Switches; test_harness(0, 'blib/lib', 'blib/arch')"
t/*.t
#

[snip]

#
t/00-report-prereqs.t .. ok

# Failed test 'use B​::Hooks​::Parser;'
# at t/basic.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load
'/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​:
is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
# at t/basic.t line 6.
# Compilation failed in require at t/basic.t line 6.
# BEGIN failed--compilation aborted at t/basic.t line 6.
Undefined subroutine &B​::Hooks​::Parser​::get_linestr called at
t/basic.t line 11.
BEGIN failed--compilation aborted at t/basic.t line 11.
# Looks like your test exited with 255 just after 1.
t/basic.t ..............
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 9/9 subtests
Can't load '/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​:
is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
at t/set_linestr.t line 5.
Compilation failed in require at t/set_linestr.t line 5.
BEGIN failed--compilation aborted at t/set_linestr.t line 5.
# Looks like your test exited with 2 before it could output anything.
t/set_linestr.t ........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests

# Failed test 'use B​::Hooks​::Parser;'
# at t/toke.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load
'/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​:
is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
# at t/toke.t line 6.
# Compilation failed in require at t/toke.t line 6.
# BEGIN failed--compilation aborted at t/toke.t line 6.

# Failed test at t/toke.t line 7.

# Failed test at t/toke.t line 8.
# Looks like you failed 3 tests of 3.
t/toke.t ...............
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests

Test Summary Report
-------------------
t/basic.t (Wstat​: 65280 Tests​: 1 Failed​: 1)
Failed test​: 1
Non-zero exit status​: 255
Parse errors​: Bad plan. You planned 9 tests but ran 1.
t/set_linestr.t (Wstat​: 512 Tests​: 0 Failed​: 0)
Non-zero exit status​: 2
Parse errors​: Bad plan. You planned 2 tests but ran 0.
t/toke.t (Wstat​: 768 Tests​: 3 Failed​: 3)
Failed tests​: 1-3
Non-zero exit status​: 3
Files=4, Tests=5, 1 wallclock secs ( 0.02 usr 0.01 sys + 0.27 cusr
0.03 csys = 0.33 CPU)
Result​: FAIL
Failed 3/4 test programs. 4/5 subtests failed.
Makefile​:1066​: recipe for target 'test_dynamic' failed
make​: *** [test_dynamic] Error 3
-> FAIL Installing B​::Hooks​::Parser failed. See
/home/jkeenan/.cpanm/work/1553634741.15879/build.log for details.
Retry with --force to force install it.
#####

Similar failures on FreeBSD-11.2; build.log available on request.

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

@p5pRT
Copy link
Author

p5pRT commented Mar 27, 2019

From @khwilliamson

On 3/26/19 4​:10 PM, James E Keenan via RT wrote​:

On Tue, 26 Mar 2019 21​:57​:12 GMT, jkeenan wrote​:

On Tue, 26 Mar 2019 20​:42​:10 GMT, khw wrote​:

I believe that this has been fixed for 5.30 by
commit cb57a25
Author​: Karl Williamson <khw@​cpan.org>
Date​: Thu Jul 19 16​:26​:34 2018 -0600

Revert "Remove some deprecated functions from mathoms.c"

This reverts commit e6e9f5a.

Could someone verify. This will be a problem in 5.32, and I will
work
with Karen to come up with an API to keep this from having to steal
core code that can be obsoleted.

For me, at least, it is not fixed.

#####
11 distributions installed

$ ./bin/perl -v | head -2 | tail -1
This is perl 5, version 29, subversion 10 (v5.29.10 (v5.29.9-33-
g5e6a22d736)) built for x86_64-linux

$ ./bin/perl -Ilib -V​:config_args
config_args='-des -Dusedevel -Accflags='-DNO_MATHOMS'
-Dprefix=/home/jkeenan/testing/blead -Uversiononly -Dman1dir=none
-Dman3dir=none';

## From the .cpanm build.log

Building and testing B-Hooks-Parser-0.19
cp build/IFiles.pm blib/arch/B/Hooks/Parser/Install/Files.pm
cp lib/B/Hooks/Parser.pm blib/lib/B/Hooks/Parser.pm
cp hook_parser.h blib/arch/B/Hooks/Parser/Install/hook_parser.h
Running Mkbootstrap for Parser ()
chmod 644 "Parser.bs"
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e
'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs 644
"/home/jkeenan/testing/blead/bin/perl"
"/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/xsubpp"
-typemap
'/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/typemap'
Parser.xs > Parser.xsc
mv Parser.xsc Parser.c
cc -c
-I/home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.10/x86_64-
linux/B/Hooks/OP/Check/Install -DNO_MATHOMS -fwrapv -fno-strict-
aliasing -pipe -fstack-protector-strong -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.19\"
-DXS_VERSION=\"0.19\" -fPIC "-
I/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/CORE"
Parser.c
In file included from Parser.xs​:9​:0​:
ppport.h​:4594​:0​: warning​: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE

In file included from
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/perl.h​:2495​:0,
from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/handy.h​:1072​:0​: note​: this is the location of the previous
definition
# define WIDEST_UTYPE U64

In file included from Parser.xs​:12​:0​:
stolen_chunk_of_toke.c​: In function ‘S_scan_word’​:
stolen_chunk_of_toke.c​:351​:38​: warning​: implicit declaration of
function ‘is_utf8_mark’; did you mean ‘_is_utf8_mark’? [-Wimplicit-
function-declaration]
while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
^~~~~~~~~~~~
_is_utf8_mark
stolen_chunk_of_toke.c​: In function ‘S_scan_str’​:
stolen_chunk_of_toke.c​:547​:2​: warning​: ‘Perl_utf8_to_uvchr’ is
deprecated [-Wdeprecated-declarations]
termcode = utf8_to_uvchr((U8*)s, &termlen);
^~~~~~~~
In file included from
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/perl.h​:5307​:0,
from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/proto.h​:3858​:18​: note​: declared here
PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN
*retlen)
^~~~~~~~~~~~~~~~~~
rm -f blib/arch/auto/B/Hooks/Parser/Parser.so
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong Parser.o
-o blib/arch/auto/B/Hooks/Parser/Parser.so \
\

chmod 755 blib/arch/auto/B/Hooks/Parser/Parser.so
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e
'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs 644
PERL_DL_NONLAZY=1 "/home/jkeenan/testing/blead/bin/perl" "-
MExtUtils​::Command​::MM" "-MTest​::Harness" "-e" "undef
*Test​::Harness​::Switches; test_harness(0, 'blib/lib', 'blib/arch')"
t/*.t
#

[snip]

#
t/00-report-prereqs.t .. ok

# Failed test 'use B​::Hooks​::Parser;'
# at t/basic.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load
'/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​:
is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
# at t/basic.t line 6.
# Compilation failed in require at t/basic.t line 6.
# BEGIN failed--compilation aborted at t/basic.t line 6.
Undefined subroutine &B​::Hooks​::Parser​::get_linestr called at
t/basic.t line 11.
BEGIN failed--compilation aborted at t/basic.t line 11.
# Looks like your test exited with 255 just after 1.
t/basic.t ..............
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 9/9 subtests
Can't load '/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​:
is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
at t/set_linestr.t line 5.
Compilation failed in require at t/set_linestr.t line 5.
BEGIN failed--compilation aborted at t/set_linestr.t line 5.
# Looks like your test exited with 2 before it could output anything.
t/set_linestr.t ........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests

# Failed test 'use B​::Hooks​::Parser;'
# at t/toke.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load
'/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​:
is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
# at t/toke.t line 6.
# Compilation failed in require at t/toke.t line 6.
# BEGIN failed--compilation aborted at t/toke.t line 6.

# Failed test at t/toke.t line 7.

# Failed test at t/toke.t line 8.
# Looks like you failed 3 tests of 3.
t/toke.t ...............
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests

Test Summary Report
-------------------
t/basic.t (Wstat​: 65280 Tests​: 1 Failed​: 1)
Failed test​: 1
Non-zero exit status​: 255
Parse errors​: Bad plan. You planned 9 tests but ran 1.
t/set_linestr.t (Wstat​: 512 Tests​: 0 Failed​: 0)
Non-zero exit status​: 2
Parse errors​: Bad plan. You planned 2 tests but ran 0.
t/toke.t (Wstat​: 768 Tests​: 3 Failed​: 3)
Failed tests​: 1-3
Non-zero exit status​: 3
Files=4, Tests=5, 1 wallclock secs ( 0.02 usr 0.01 sys + 0.27 cusr
0.03 csys = 0.33 CPU)
Result​: FAIL
Failed 3/4 test programs. 4/5 subtests failed.
Makefile​:1066​: recipe for target 'test_dynamic' failed
make​: *** [test_dynamic] Error 3
-> FAIL Installing B​::Hooks​::Parser failed. See
/home/jkeenan/.cpanm/work/1553634741.15879/build.log for details.
Retry with --force to force install it.
#####

Similar failures on FreeBSD-11.2; build.log available on request.

I think you have -DNO_MATHOMS in your Configure. It works for me
without that.

@p5pRT
Copy link
Author

p5pRT commented Mar 27, 2019

From @jkeenan

On Wed, 27 Mar 2019 03​:52​:04 GMT, public@​khwilliamson.com wrote​:

On 3/26/19 4​:10 PM, James E Keenan via RT wrote​:

On Tue, 26 Mar 2019 21​:57​:12 GMT, jkeenan wrote​:

On Tue, 26 Mar 2019 20​:42​:10 GMT, khw wrote​:

I believe that this has been fixed for 5.30 by
commit cb57a25
Author​: Karl Williamson <khw@​cpan.org>
Date​: Thu Jul 19 16​:26​:34 2018 -0600

Revert "Remove some deprecated functions from mathoms.c"

This reverts commit e6e9f5a.

Could someone verify. This will be a problem in 5.32, and I will
work
with Karen to come up with an API to keep this from having to steal
core code that can be obsoleted.

For me, at least, it is not fixed.

#####
11 distributions installed

$ ./bin/perl -v | head -2 | tail -1
This is perl 5, version 29, subversion 10 (v5.29.10 (v5.29.9-33-
g5e6a22d736)) built for x86_64-linux

$ ./bin/perl -Ilib -V​:config_args
config_args='-des -Dusedevel -Accflags='-DNO_MATHOMS'
-Dprefix=/home/jkeenan/testing/blead -Uversiononly -Dman1dir=none
-Dman3dir=none';

## From the .cpanm build.log

Building and testing B-Hooks-Parser-0.19
cp build/IFiles.pm blib/arch/B/Hooks/Parser/Install/Files.pm
cp lib/B/Hooks/Parser.pm blib/lib/B/Hooks/Parser.pm
cp hook_parser.h blib/arch/B/Hooks/Parser/Install/hook_parser.h
Running Mkbootstrap for Parser ()
chmod 644 "Parser.bs"
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e
'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs 644
"/home/jkeenan/testing/blead/bin/perl"
"/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/xsubpp"
-typemap
'/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/typemap'
Parser.xs > Parser.xsc
mv Parser.xsc Parser.c
cc -c
-I/home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.10/x86_64-
linux/B/Hooks/OP/Check/Install -DNO_MATHOMS -fwrapv -fno-strict-
aliasing -pipe -fstack-protector-strong -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.19\"
-DXS_VERSION=\"0.19\" -fPIC "-
I/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/CORE"
Parser.c
In file included from Parser.xs​:9​:0​:
ppport.h​:4594​:0​: warning​: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE

In file included from
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/perl.h​:2495​:0,
from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/handy.h​:1072​:0​: note​: this is the location of the previous
definition
# define WIDEST_UTYPE U64

In file included from Parser.xs​:12​:0​:
stolen_chunk_of_toke.c​: In function ‘S_scan_word’​:
stolen_chunk_of_toke.c​:351​:38​: warning​: implicit declaration of
function ‘is_utf8_mark’; did you mean ‘_is_utf8_mark’? [-Wimplicit-
function-declaration]
while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
^~~~~~~~~~~~
_is_utf8_mark
stolen_chunk_of_toke.c​: In function ‘S_scan_str’​:
stolen_chunk_of_toke.c​:547​:2​: warning​: ‘Perl_utf8_to_uvchr’ is
deprecated [-Wdeprecated-declarations]
termcode = utf8_to_uvchr((U8*)s, &termlen);
^~~~~~~~
In file included from
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/perl.h​:5307​:0,
from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/proto.h​:3858​:18​: note​: declared here
PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN
*retlen)
^~~~~~~~~~~~~~~~~~
rm -f blib/arch/auto/B/Hooks/Parser/Parser.so
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong Parser.o
-o blib/arch/auto/B/Hooks/Parser/Parser.so \
\

chmod 755 blib/arch/auto/B/Hooks/Parser/Parser.so
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e
'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs 644
PERL_DL_NONLAZY=1 "/home/jkeenan/testing/blead/bin/perl" "-
MExtUtils​::Command​::MM" "-MTest​::Harness" "-e" "undef
*Test​::Harness​::Switches; test_harness(0, 'blib/lib', 'blib/arch')"
t/*.t
#

[snip]

#
t/00-report-prereqs.t .. ok

# Failed test 'use B​::Hooks​::Parser;'
# at t/basic.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load
'/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​:
is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
# at t/basic.t line 6.
# Compilation failed in require at t/basic.t line 6.
# BEGIN failed--compilation aborted at t/basic.t line 6.
Undefined subroutine &B​::Hooks​::Parser​::get_linestr called at
t/basic.t line 11.
BEGIN failed--compilation aborted at t/basic.t line 11.
# Looks like your test exited with 255 just after 1.
t/basic.t ..............
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 9/9 subtests
Can't load '/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​:
is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
at t/set_linestr.t line 5.
Compilation failed in require at t/set_linestr.t line 5.
BEGIN failed--compilation aborted at t/set_linestr.t line 5.
# Looks like your test exited with 2 before it could output anything.
t/set_linestr.t ........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests

# Failed test 'use B​::Hooks​::Parser;'
# at t/toke.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load
'/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​:
is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
# at t/toke.t line 6.
# Compilation failed in require at t/toke.t line 6.
# BEGIN failed--compilation aborted at t/toke.t line 6.

# Failed test at t/toke.t line 7.

# Failed test at t/toke.t line 8.
# Looks like you failed 3 tests of 3.
t/toke.t ...............
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests

Test Summary Report
-------------------
t/basic.t (Wstat​: 65280 Tests​: 1 Failed​: 1)
Failed test​: 1
Non-zero exit status​: 255
Parse errors​: Bad plan. You planned 9 tests but ran 1.
t/set_linestr.t (Wstat​: 512 Tests​: 0 Failed​: 0)
Non-zero exit status​: 2
Parse errors​: Bad plan. You planned 2 tests but ran 0.
t/toke.t (Wstat​: 768 Tests​: 3 Failed​: 3)
Failed tests​: 1-3
Non-zero exit status​: 3
Files=4, Tests=5, 1 wallclock secs ( 0.02 usr 0.01 sys + 0.27 cusr
0.03 csys = 0.33 CPU)
Result​: FAIL
Failed 3/4 test programs. 4/5 subtests failed.
Makefile​:1066​: recipe for target 'test_dynamic' failed
make​: *** [test_dynamic] Error 3
-> FAIL Installing B​::Hooks​::Parser failed. See
/home/jkeenan/.cpanm/work/1553634741.15879/build.log for details.
Retry with --force to force install it.
#####

Similar failures on FreeBSD-11.2; build.log available on request.

I think you have -DNO_MATHOMS in your Configure. It works for me
without that.

I do -- but isn't that what you asked us to test?

Can you re-state the current bug -- and distinguish it from what might be a problem for 5.32 (next dev cycle)?

Thank you very much.

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

@p5pRT
Copy link
Author

p5pRT commented Mar 27, 2019

From @khwilliamson

On 3/27/19 6​:20 AM, James E Keenan via RT wrote​:

On Wed, 27 Mar 2019 03​:52​:04 GMT, public@​khwilliamson.com wrote​:

On 3/26/19 4​:10 PM, James E Keenan via RT wrote​:

On Tue, 26 Mar 2019 21​:57​:12 GMT, jkeenan wrote​:

On Tue, 26 Mar 2019 20​:42​:10 GMT, khw wrote​:

I believe that this has been fixed for 5.30 by
commit cb57a25
Author​: Karl Williamson <khw@​cpan.org>
Date​: Thu Jul 19 16​:26​:34 2018 -0600

Revert "Remove some deprecated functions from mathoms.c"

This reverts commit e6e9f5a.

Could someone verify. This will be a problem in 5.32, and I will
work
with Karen to come up with an API to keep this from having to steal
core code that can be obsoleted.

For me, at least, it is not fixed.

#####
11 distributions installed

$ ./bin/perl -v | head -2 | tail -1
This is perl 5, version 29, subversion 10 (v5.29.10 (v5.29.9-33-
g5e6a22d736)) built for x86_64-linux

$ ./bin/perl -Ilib -V​:config_args
config_args='-des -Dusedevel -Accflags='-DNO_MATHOMS'
-Dprefix=/home/jkeenan/testing/blead -Uversiononly -Dman1dir=none
-Dman3dir=none';

## From the .cpanm build.log

Building and testing B-Hooks-Parser-0.19
cp build/IFiles.pm blib/arch/B/Hooks/Parser/Install/Files.pm
cp lib/B/Hooks/Parser.pm blib/lib/B/Hooks/Parser.pm
cp hook_parser.h blib/arch/B/Hooks/Parser/Install/hook_parser.h
Running Mkbootstrap for Parser ()
chmod 644 "Parser.bs"
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e
'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs 644
"/home/jkeenan/testing/blead/bin/perl"
"/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/xsubpp"
-typemap
'/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/typemap'
Parser.xs > Parser.xsc
mv Parser.xsc Parser.c
cc -c
-I/home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.10/x86_64-
linux/B/Hooks/OP/Check/Install -DNO_MATHOMS -fwrapv -fno-strict-
aliasing -pipe -fstack-protector-strong -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.19\"
-DXS_VERSION=\"0.19\" -fPIC "-
I/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/CORE"
Parser.c
In file included from Parser.xs​:9​:0​:
ppport.h​:4594​:0​: warning​: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE

In file included from
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/perl.h​:2495​:0,
from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/handy.h​:1072​:0​: note​: this is the location of the previous
definition
# define WIDEST_UTYPE U64

In file included from Parser.xs​:12​:0​:
stolen_chunk_of_toke.c​: In function ‘S_scan_word’​:
stolen_chunk_of_toke.c​:351​:38​: warning​: implicit declaration of
function ‘is_utf8_mark’; did you mean ‘_is_utf8_mark’? [-Wimplicit-
function-declaration]
while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
^~~~~~~~~~~~
_is_utf8_mark
stolen_chunk_of_toke.c​: In function ‘S_scan_str’​:
stolen_chunk_of_toke.c​:547​:2​: warning​: ‘Perl_utf8_to_uvchr’ is
deprecated [-Wdeprecated-declarations]
termcode = utf8_to_uvchr((U8*)s, &termlen);
^~~~~~~~
In file included from
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/perl.h​:5307​:0,
from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/proto.h​:3858​:18​: note​: declared here
PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN
*retlen)
^~~~~~~~~~~~~~~~~~
rm -f blib/arch/auto/B/Hooks/Parser/Parser.so
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong Parser.o
-o blib/arch/auto/B/Hooks/Parser/Parser.so \
\

chmod 755 blib/arch/auto/B/Hooks/Parser/Parser.so
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e
'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs 644
PERL_DL_NONLAZY=1 "/home/jkeenan/testing/blead/bin/perl" "-
MExtUtils​::Command​::MM" "-MTest​::Harness" "-e" "undef
*Test​::Harness​::Switches; test_harness(0, 'blib/lib', 'blib/arch')"
t/*.t
#

[snip]

#
t/00-report-prereqs.t .. ok

# Failed test 'use B​::Hooks​::Parser;'
# at t/basic.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load
'/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​:
is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
# at t/basic.t line 6.
# Compilation failed in require at t/basic.t line 6.
# BEGIN failed--compilation aborted at t/basic.t line 6.
Undefined subroutine &B​::Hooks​::Parser​::get_linestr called at
t/basic.t line 11.
BEGIN failed--compilation aborted at t/basic.t line 11.
# Looks like your test exited with 255 just after 1.
t/basic.t ..............
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 9/9 subtests
Can't load '/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​:
is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
at t/set_linestr.t line 5.
Compilation failed in require at t/set_linestr.t line 5.
BEGIN failed--compilation aborted at t/set_linestr.t line 5.
# Looks like your test exited with 2 before it could output anything.
t/set_linestr.t ........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests

# Failed test 'use B​::Hooks​::Parser;'
# at t/toke.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load
'/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined symbol​:
is_utf8_mark at /home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
# at t/toke.t line 6.
# Compilation failed in require at t/toke.t line 6.
# BEGIN failed--compilation aborted at t/toke.t line 6.

# Failed test at t/toke.t line 7.

# Failed test at t/toke.t line 8.
# Looks like you failed 3 tests of 3.
t/toke.t ...............
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests

Test Summary Report
-------------------
t/basic.t (Wstat​: 65280 Tests​: 1 Failed​: 1)
Failed test​: 1
Non-zero exit status​: 255
Parse errors​: Bad plan. You planned 9 tests but ran 1.
t/set_linestr.t (Wstat​: 512 Tests​: 0 Failed​: 0)
Non-zero exit status​: 2
Parse errors​: Bad plan. You planned 2 tests but ran 0.
t/toke.t (Wstat​: 768 Tests​: 3 Failed​: 3)
Failed tests​: 1-3
Non-zero exit status​: 3
Files=4, Tests=5, 1 wallclock secs ( 0.02 usr 0.01 sys + 0.27 cusr
0.03 csys = 0.33 CPU)
Result​: FAIL
Failed 3/4 test programs. 4/5 subtests failed.
Makefile​:1066​: recipe for target 'test_dynamic' failed
make​: *** [test_dynamic] Error 3
-> FAIL Installing B​::Hooks​::Parser failed. See
/home/jkeenan/.cpanm/work/1553634741.15879/build.log for details.
Retry with --force to force install it.
#####

Similar failures on FreeBSD-11.2; build.log available on request.

I think you have -DNO_MATHOMS in your Configure. It works for me
without that.

I do -- but isn't that what you asked us to test?

Can you re-state the current bug -- and distinguish it from what might be a problem for 5.32 (next dev cycle)?

Thank you very much.

I removed some deprecated functions earlier in 5.29. That broke this
and other things, so I reverted the commit. This module should then
have started to pass. And this ticket could have been closed.

In the meantime, however, you started using -DNO_MATHOMS, and that
showed that this module is in fact relying on a perl built without that,
as most are not. That is a separate problem that has been around for
many releases without anyone noticing. And hence shouldn't be a blocker
for 5.30.

And the intent is to actually proceed with the removal of the functions
in 5.31. The module needs to stop using them by 5.32. I have issued a
PR to do just that.

@p5pRT
Copy link
Author

p5pRT commented Apr 14, 2019

From @khwilliamson

On Wed, 27 Mar 2019 09​:47​:14 -0700, public@​khwilliamson.com wrote​:

On 3/27/19 6​:20 AM, James E Keenan via RT wrote​:

On Wed, 27 Mar 2019 03​:52​:04 GMT, public@​khwilliamson.com wrote​:

On 3/26/19 4​:10 PM, James E Keenan via RT wrote​:

On Tue, 26 Mar 2019 21​:57​:12 GMT, jkeenan wrote​:

On Tue, 26 Mar 2019 20​:42​:10 GMT, khw wrote​:

I believe that this has been fixed for 5.30 by
commit cb57a25
Author​: Karl Williamson <khw@​cpan.org>
Date​: Thu Jul 19 16​:26​:34 2018 -0600

Revert "Remove some deprecated functions from mathoms.c"

This reverts commit e6e9f5a.

Could someone verify. This will be a problem in 5.32, and I will
work
with Karen to come up with an API to keep this from having to
steal
core code that can be obsoleted.

For me, at least, it is not fixed.

#####
11 distributions installed

$ ./bin/perl -v | head -2 | tail -1
This is perl 5, version 29, subversion 10 (v5.29.10 (v5.29.9-33-
g5e6a22d736)) built for x86_64-linux

$ ./bin/perl -Ilib -V​:config_args
config_args='-des -Dusedevel -Accflags='-DNO_MATHOMS'
-Dprefix=/home/jkeenan/testing/blead -Uversiononly -Dman1dir=none
-Dman3dir=none';

## From the .cpanm build.log

Building and testing B-Hooks-Parser-0.19
cp build/IFiles.pm blib/arch/B/Hooks/Parser/Install/Files.pm
cp lib/B/Hooks/Parser.pm blib/lib/B/Hooks/Parser.pm
cp hook_parser.h blib/arch/B/Hooks/Parser/Install/hook_parser.h
Running Mkbootstrap for Parser ()
chmod 644 "Parser.bs"
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e
'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs
644
"/home/jkeenan/testing/blead/bin/perl"
"/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/xsubpp"
-typemap
'/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/typemap'
Parser.xs > Parser.xsc
mv Parser.xsc Parser.c
cc -c
-I/home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.10/x86_64-
linux/B/Hooks/OP/Check/Install -DNO_MATHOMS -fwrapv -fno-strict-
aliasing -pipe -fstack-protector-strong -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2
-DVERSION=\"0.19\"
-DXS_VERSION=\"0.19\" -fPIC "-
I/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/CORE"
Parser.c
In file included from Parser.xs​:9​:0​:
ppport.h​:4594​:0​: warning​: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE

In file included from
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/perl.h​:2495​:0,
from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/handy.h​:1072​:0​: note​: this is the location of the
previous
definition
# define WIDEST_UTYPE U64

In file included from Parser.xs​:12​:0​:
stolen_chunk_of_toke.c​: In function ‘S_scan_word’​:
stolen_chunk_of_toke.c​:351​:38​: warning​: implicit declaration of
function ‘is_utf8_mark’; did you mean ‘_is_utf8_mark’? [-
Wimplicit-
function-declaration]
while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
^~~~~~~~~~~~
_is_utf8_mark
stolen_chunk_of_toke.c​: In function ‘S_scan_str’​:
stolen_chunk_of_toke.c​:547​:2​: warning​: ‘Perl_utf8_to_uvchr’ is
deprecated [-Wdeprecated-declarations]
termcode = utf8_to_uvchr((U8*)s, &termlen);
^~~~~~~~
In file included from
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/perl.h​:5307​:0,
from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/proto.h​:3858​:18​: note​: declared here
PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN
*retlen)
^~~~~~~~~~~~~~~~~~
rm -f blib/arch/auto/B/Hooks/Parser/Parser.so
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong
Parser.o
-o blib/arch/auto/B/Hooks/Parser/Parser.so \
\

chmod 755 blib/arch/auto/B/Hooks/Parser/Parser.so
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e
'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs
644
PERL_DL_NONLAZY=1 "/home/jkeenan/testing/blead/bin/perl" "-
MExtUtils​::Command​::MM" "-MTest​::Harness" "-e" "undef
*Test​::Harness​::Switches; test_harness(0, 'blib/lib',
'blib/arch')"
t/*.t
#

[snip]

#
t/00-report-prereqs.t .. ok

# Failed test 'use B​::Hooks​::Parser;'
# at t/basic.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load
'/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-
Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined
symbol​:
is_utf8_mark at
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
# at t/basic.t line 6.
# Compilation failed in require at t/basic.t line 6.
# BEGIN failed--compilation aborted at t/basic.t line 6.
Undefined subroutine &B​::Hooks​::Parser​::get_linestr called at
t/basic.t line 11.
BEGIN failed--compilation aborted at t/basic.t line 11.
# Looks like your test exited with 255 just after 1.
t/basic.t ..............
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 9/9 subtests
Can't load '/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-
Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined
symbol​:
is_utf8_mark at
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
at t/set_linestr.t line 5.
Compilation failed in require at t/set_linestr.t line 5.
BEGIN failed--compilation aborted at t/set_linestr.t line 5.
# Looks like your test exited with 2 before it could output
anything.
t/set_linestr.t ........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests

# Failed test 'use B​::Hooks​::Parser;'
# at t/toke.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load
'/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-
Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined
symbol​:
is_utf8_mark at
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
# at t/toke.t line 6.
# Compilation failed in require at t/toke.t line 6.
# BEGIN failed--compilation aborted at t/toke.t line 6.

# Failed test at t/toke.t line 7.

# Failed test at t/toke.t line 8.
# Looks like you failed 3 tests of 3.
t/toke.t ...............
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests

Test Summary Report
-------------------
t/basic.t (Wstat​: 65280 Tests​: 1 Failed​: 1)
Failed test​: 1
Non-zero exit status​: 255
Parse errors​: Bad plan. You planned 9 tests but ran 1.
t/set_linestr.t (Wstat​: 512 Tests​: 0 Failed​: 0)
Non-zero exit status​: 2
Parse errors​: Bad plan. You planned 2 tests but ran 0.
t/toke.t (Wstat​: 768 Tests​: 3 Failed​: 3)
Failed tests​: 1-3
Non-zero exit status​: 3
Files=4, Tests=5, 1 wallclock secs ( 0.02 usr 0.01 sys + 0.27
cusr
0.03 csys = 0.33 CPU)
Result​: FAIL
Failed 3/4 test programs. 4/5 subtests failed.
Makefile​:1066​: recipe for target 'test_dynamic' failed
make​: *** [test_dynamic] Error 3
-> FAIL Installing B​::Hooks​::Parser failed. See
/home/jkeenan/.cpanm/work/1553634741.15879/build.log for details.
Retry with --force to force install it.
#####

Similar failures on FreeBSD-11.2; build.log available on request.

I think you have -DNO_MATHOMS in your Configure. It works for me
without that.

I do -- but isn't that what you asked us to test?

Can you re-state the current bug -- and distinguish it from what
might be a problem for 5.32 (next dev cycle)?

Thank you very much.

I removed some deprecated functions earlier in 5.29. That broke this
and other things, so I reverted the commit. This module should then
have started to pass. And this ticket could have been closed.

In the meantime, however, you started using -DNO_MATHOMS, and that
showed that this module is in fact relying on a perl built without
that,
as most are not. That is a separate problem that has been around for
many releases without anyone noticing. And hence shouldn't be a
blocker
for 5.30.

And the intent is to actually proceed with the removal of the
functions
in 5.31. The module needs to stop using them by 5.32. I have issued
a
PR to do just that.

I have pushed to blead
commit aabfead
Author​: Karl Williamson <khw@​cpan.org>
Date​: Tue Mar 26 21​:54​:03 2019 -0600

  Make a few parse fcns accessible to B​::Hooks​::Parser
 
  This module had made copies of three functions from toke.c many releases
  ago, and they stagnated. Most outside code has no business calling
  them, but the least worst choice I believe is to make them accessible,
  but hide that fact.
 
  This commit makes them accessible to modules that have defined PERL_EXT.
  It does not document their API's, and marks them as subject to change,
  so they aren't even listed as available in the docs. In other words,
  you'd have to really go digging to find out you could use them.
 
  And the API of two of the three had changed since the code was
  originally stolen. So that "subject to change" actually has happened.
  We should feel free to change the API as needed, and B​::Hooks​::Parser
  will have to be updated.
 
  Thanks to Tony Cook for advising me on this area unfamiliar to me.

--
Karl Williamson

1 similar comment
@p5pRT
Copy link
Author

p5pRT commented Apr 14, 2019

From @khwilliamson

On Wed, 27 Mar 2019 09​:47​:14 -0700, public@​khwilliamson.com wrote​:

On 3/27/19 6​:20 AM, James E Keenan via RT wrote​:

On Wed, 27 Mar 2019 03​:52​:04 GMT, public@​khwilliamson.com wrote​:

On 3/26/19 4​:10 PM, James E Keenan via RT wrote​:

On Tue, 26 Mar 2019 21​:57​:12 GMT, jkeenan wrote​:

On Tue, 26 Mar 2019 20​:42​:10 GMT, khw wrote​:

I believe that this has been fixed for 5.30 by
commit cb57a25
Author​: Karl Williamson <khw@​cpan.org>
Date​: Thu Jul 19 16​:26​:34 2018 -0600

Revert "Remove some deprecated functions from mathoms.c"

This reverts commit e6e9f5a.

Could someone verify. This will be a problem in 5.32, and I will
work
with Karen to come up with an API to keep this from having to
steal
core code that can be obsoleted.

For me, at least, it is not fixed.

#####
11 distributions installed

$ ./bin/perl -v | head -2 | tail -1
This is perl 5, version 29, subversion 10 (v5.29.10 (v5.29.9-33-
g5e6a22d736)) built for x86_64-linux

$ ./bin/perl -Ilib -V​:config_args
config_args='-des -Dusedevel -Accflags='-DNO_MATHOMS'
-Dprefix=/home/jkeenan/testing/blead -Uversiononly -Dman1dir=none
-Dman3dir=none';

## From the .cpanm build.log

Building and testing B-Hooks-Parser-0.19
cp build/IFiles.pm blib/arch/B/Hooks/Parser/Install/Files.pm
cp lib/B/Hooks/Parser.pm blib/lib/B/Hooks/Parser.pm
cp hook_parser.h blib/arch/B/Hooks/Parser/Install/hook_parser.h
Running Mkbootstrap for Parser ()
chmod 644 "Parser.bs"
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e
'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs
644
"/home/jkeenan/testing/blead/bin/perl"
"/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/xsubpp"
-typemap
'/home/jkeenan/testing/blead/lib/perl5/5.29.10/ExtUtils/typemap'
Parser.xs > Parser.xsc
mv Parser.xsc Parser.c
cc -c
-I/home/jkeenan/testing/blead/lib/perl5/site_perl/5.29.10/x86_64-
linux/B/Hooks/OP/Check/Install -DNO_MATHOMS -fwrapv -fno-strict-
aliasing -pipe -fstack-protector-strong -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2
-DVERSION=\"0.19\"
-DXS_VERSION=\"0.19\" -fPIC "-
I/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-linux/CORE"
Parser.c
In file included from Parser.xs​:9​:0​:
ppport.h​:4594​:0​: warning​: "WIDEST_UTYPE" redefined
# define WIDEST_UTYPE U64TYPE

In file included from
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/perl.h​:2495​:0,
from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/handy.h​:1072​:0​: note​: this is the location of the
previous
definition
# define WIDEST_UTYPE U64

In file included from Parser.xs​:12​:0​:
stolen_chunk_of_toke.c​: In function ‘S_scan_word’​:
stolen_chunk_of_toke.c​:351​:38​: warning​: implicit declaration of
function ‘is_utf8_mark’; did you mean ‘_is_utf8_mark’? [-
Wimplicit-
function-declaration]
while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
^~~~~~~~~~~~
_is_utf8_mark
stolen_chunk_of_toke.c​: In function ‘S_scan_str’​:
stolen_chunk_of_toke.c​:547​:2​: warning​: ‘Perl_utf8_to_uvchr’ is
deprecated [-Wdeprecated-declarations]
termcode = utf8_to_uvchr((U8*)s, &termlen);
^~~~~~~~
In file included from
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/perl.h​:5307​:0,
from Parser.xs​:5​:
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/CORE/proto.h​:3858​:18​: note​: declared here
PERL_CALLCONV UV Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN
*retlen)
^~~~~~~~~~~~~~~~~~
rm -f blib/arch/auto/B/Hooks/Parser/Parser.so
cc -shared -O2 -L/usr/local/lib -fstack-protector-strong
Parser.o
-o blib/arch/auto/B/Hooks/Parser/Parser.so \
\

chmod 755 blib/arch/auto/B/Hooks/Parser/Parser.so
"/home/jkeenan/testing/blead/bin/perl" -MExtUtils​::Command​::MM -e
'cp_nonempty' -- Parser.bs blib/arch/auto/B/Hooks/Parser/Parser.bs
644
PERL_DL_NONLAZY=1 "/home/jkeenan/testing/blead/bin/perl" "-
MExtUtils​::Command​::MM" "-MTest​::Harness" "-e" "undef
*Test​::Harness​::Switches; test_harness(0, 'blib/lib',
'blib/arch')"
t/*.t
#

[snip]

#
t/00-report-prereqs.t .. ok

# Failed test 'use B​::Hooks​::Parser;'
# at t/basic.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load
'/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-
Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined
symbol​:
is_utf8_mark at
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
# at t/basic.t line 6.
# Compilation failed in require at t/basic.t line 6.
# BEGIN failed--compilation aborted at t/basic.t line 6.
Undefined subroutine &B​::Hooks​::Parser​::get_linestr called at
t/basic.t line 11.
BEGIN failed--compilation aborted at t/basic.t line 11.
# Looks like your test exited with 255 just after 1.
t/basic.t ..............
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 9/9 subtests
Can't load '/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-
Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-
Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined
symbol​:
is_utf8_mark at
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
at t/set_linestr.t line 5.
Compilation failed in require at t/set_linestr.t line 5.
BEGIN failed--compilation aborted at t/set_linestr.t line 5.
# Looks like your test exited with 2 before it could output
anything.
t/set_linestr.t ........
Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/2 subtests

# Failed test 'use B​::Hooks​::Parser;'
# at t/toke.t line 6.
# Tried to use 'B​::Hooks​::Parser'.
# Error​: Can't load
'/home/jkeenan/.cpanm/work/1553634741.15879/B-Hooks-Parser-
0.19/blib/arch/auto/B/Hooks/Parser/Parser.so' for module
B​::Hooks​::Parser​: /home/jkeenan/.cpanm/work/1553634741.15879/B-
Hooks-
Parser-0.19/blib/arch/auto/B/Hooks/Parser/Parser.so​: undefined
symbol​:
is_utf8_mark at
/home/jkeenan/testing/blead/lib/perl5/5.29.10/x86_64-
linux/DynaLoader.pm line 193.
# at t/toke.t line 6.
# Compilation failed in require at t/toke.t line 6.
# BEGIN failed--compilation aborted at t/toke.t line 6.

# Failed test at t/toke.t line 7.

# Failed test at t/toke.t line 8.
# Looks like you failed 3 tests of 3.
t/toke.t ...............
Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests

Test Summary Report
-------------------
t/basic.t (Wstat​: 65280 Tests​: 1 Failed​: 1)
Failed test​: 1
Non-zero exit status​: 255
Parse errors​: Bad plan. You planned 9 tests but ran 1.
t/set_linestr.t (Wstat​: 512 Tests​: 0 Failed​: 0)
Non-zero exit status​: 2
Parse errors​: Bad plan. You planned 2 tests but ran 0.
t/toke.t (Wstat​: 768 Tests​: 3 Failed​: 3)
Failed tests​: 1-3
Non-zero exit status​: 3
Files=4, Tests=5, 1 wallclock secs ( 0.02 usr 0.01 sys + 0.27
cusr
0.03 csys = 0.33 CPU)
Result​: FAIL
Failed 3/4 test programs. 4/5 subtests failed.
Makefile​:1066​: recipe for target 'test_dynamic' failed
make​: *** [test_dynamic] Error 3
-> FAIL Installing B​::Hooks​::Parser failed. See
/home/jkeenan/.cpanm/work/1553634741.15879/build.log for details.
Retry with --force to force install it.
#####

Similar failures on FreeBSD-11.2; build.log available on request.

I think you have -DNO_MATHOMS in your Configure. It works for me
without that.

I do -- but isn't that what you asked us to test?

Can you re-state the current bug -- and distinguish it from what
might be a problem for 5.32 (next dev cycle)?

Thank you very much.

I removed some deprecated functions earlier in 5.29. That broke this
and other things, so I reverted the commit. This module should then
have started to pass. And this ticket could have been closed.

In the meantime, however, you started using -DNO_MATHOMS, and that
showed that this module is in fact relying on a perl built without
that,
as most are not. That is a separate problem that has been around for
many releases without anyone noticing. And hence shouldn't be a
blocker
for 5.30.

And the intent is to actually proceed with the removal of the
functions
in 5.31. The module needs to stop using them by 5.32. I have issued
a
PR to do just that.

I have pushed to blead
commit aabfead
Author​: Karl Williamson <khw@​cpan.org>
Date​: Tue Mar 26 21​:54​:03 2019 -0600

  Make a few parse fcns accessible to B​::Hooks​::Parser
 
  This module had made copies of three functions from toke.c many releases
  ago, and they stagnated. Most outside code has no business calling
  them, but the least worst choice I believe is to make them accessible,
  but hide that fact.
 
  This commit makes them accessible to modules that have defined PERL_EXT.
  It does not document their API's, and marks them as subject to change,
  so they aren't even listed as available in the docs. In other words,
  you'd have to really go digging to find out you could use them.
 
  And the API of two of the three had changed since the code was
  originally stolen. So that "subject to change" actually has happened.
  We should feel free to change the API as needed, and B​::Hooks​::Parser
  will have to be updated.
 
  Thanks to Tony Cook for advising me on this area unfamiliar to me.

--
Karl Williamson

@p5pRT
Copy link
Author

p5pRT commented Apr 15, 2019

From @khwilliamson

The distro has now been released with the changes needed, so closing this ticket
--
Karl Williamson

@p5pRT
Copy link
Author

p5pRT commented Apr 15, 2019

@khwilliamson - Status changed from 'open' to 'pending release'

@p5pRT
Copy link
Author

p5pRT commented May 22, 2019

From @khwilliamson

Thank you for filing this report. You have helped make Perl better.

With the release today of Perl 5.30.0, this and 160 other issues have been
resolved.

Perl 5.30.0 may be downloaded via​:
https://metacpan.org/release/XSAWYERX/perl-5.30.0

If you find that the problem persists, feel free to reopen this ticket.

@p5pRT
Copy link
Author

p5pRT commented May 22, 2019

@khwilliamson - Status changed from 'pending release' to 'resolved'

@p5pRT p5pRT closed this as completed May 22, 2019
@p5pRT p5pRT added BBC Blead Breaks CPAN - changes in blead broke a cpan module(s) Severity Low type-library labels Oct 19, 2019
@toddr toddr added this to the 5.30.0 milestone Oct 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BBC Blead Breaks CPAN - changes in blead broke a cpan module(s) type-library
Projects
None yet
Development

No branches or pull requests

2 participants