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 (30fc7a28) Breaks POE #17175

Closed
p5pRT opened this issue Oct 5, 2019 · 8 comments
Closed

BBC: Blead (30fc7a28) Breaks POE #17175

p5pRT opened this issue Oct 5, 2019 · 8 comments
Labels
BBC Blead Breaks CPAN - changes in blead broke a cpan module(s) type-core
Milestone

Comments

@p5pRT
Copy link

p5pRT commented Oct 5, 2019

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

Searchable as RT134482$

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2019

From carlos@carlosguevara.com

Please see http​://matrix.cpantesters.org/?dist=POE .

Perl Info

Flags:
    category=core
    severity=low

Site configuration information for perl 5.31.5:

Configured by cpan at Fri Oct  4 21:40:08 CDT 2019.

Summary of my perl5 (revision 5 version 31 subversion 5) configuration:
  Commit id: 393dcb6c04b49721349bf7dc3ca104cf64600045
  Platform:
    osname=freebsd
    osvers=11.2-release-p14
    archname=amd64-freebsd
    uname='freebsd cjg-freebsd11 11.2-release-p14 freebsd
11.2-release-p14 #0: mon aug 19 22:38:50 utc 2019
root@amd64-builder.daemonology.net:usrobjusrsrcsysgeneric amd64 '
    config_args='-des -Dprefix=~/bin/perl-blead
-Dscriptdir=~/bin/perl-blead/bin -Dusedevel -Duse64bitall'
    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 ='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
-fno-strict-aliasing -pipe -fstack-protector-strong
-I/usr/local/include -D_FORTIFY_SOURCE=2'
    optimize='-O2'
    cppflags='-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H
-fno-strict-aliasing -pipe -fstack-protector-strong
-I/usr/local/include'
    ccversion=''
    gccversion='4.2.1 Compatible FreeBSD Clang 6.0.0
(tags/RELEASE_600/final 326565)'
    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 ='-Wl,-E  -fstack-protector-strong -L/usr/local/lib'
    libpth=/usr/lib /usr/local/lib /usr/lib/clang/6.0.0/lib /usr/lib
    libs=-lpthread -lgdbm -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -ldl -lm -lcrypt -lutil -lc
    libc=
    so=so
    useshrplib=false
    libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags=' '
    cccdlflags='-DPIC -fPIC'
    lddlflags='-shared -L/usr/local/lib -fstack-protector-strong'



@INC for perl 5.31.5:
    /home/cpan/bin/perl-blead/lib/site_perl/5.31.5/amd64-freebsd
    /home/cpan/bin/perl-blead/lib/site_perl/5.31.5
    /home/cpan/bin/perl-blead/lib/5.31.5/amd64-freebsd
    /home/cpan/bin/perl-blead/lib/5.31.5


Environment for perl 5.31.5:
    HOME=/home/cpan
    LANG (unset)
    LANGUAGE (unset)
    LC_ALL=C
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/cpan/bin/perl-blead/bin:/home/cpan/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/cpan/bin
    PERL_BADLANG (unset)
    SHELL=/usr/local/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2019

From @jkeenan

On Sat, 05 Oct 2019 16​:40​:05 GMT, carlos@​carlosguevara.com wrote​:

This is a bug report for perl from "Carlos Guevara"
<carlos@​carlosguevara.com>,
generated with the help of perlbug 1.41 running under perl 5.31.5.

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

Please see http​://matrix.cpantesters.org/?dist=POE .

The test failure looks like this​:

#####
[POE-1.367] 554 $ bleadprove -vb t/90_regression/leolo-sig-die.t
t/90_regression/leolo-sig-die.t ..
1..11
Constants from lexical variables potentially modified elsewhere are no longer permitted at /home/jkeenan/.cpanm/work/1570295901.21531/POE-1.367/blib/lib/POE/Kernel.pm line 368.
BEGIN failed--compilation aborted at /home/jkeenan/.cpanm/work/1570295901.21531/POE-1.367/blib/lib/POE/Kernel.pm line 397.
Compilation failed in require at (eval 10) line 1.
BEGIN failed--compilation aborted at (eval 10) line 1.
could not import qw(Kernel) at t/90_regression/leolo-sig-die.t line 11.
BEGIN failed--compilation aborted at t/90_regression/leolo-sig-die.t line 11.
# Looks like your test exited with 255 before it could output anything.
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 11/11 subtests

Test Summary Report


t/90_regression/leolo-sig-die.t (Wstat​: 65280 Tests​: 0 Failed​: 0)
  Non-zero exit status​: 255
  Parse errors​: Bad plan. You planned 11 tests but ran 0.
Files=1, Tests=0, 1 wallclock secs ( 0.04 usr 0.02 sys + 0.10 cusr 0.02 csys = 0.18 CPU)
Result​: FAIL
#####

Bisection points to ...

#####
commit 30fc7a2
Author​: James E Keenan <jkeenan@​cpan.org>
AuthorDate​: Sat May 25 21​:40​:00 2019 -0400
Commit​: Tony Cook <tony@​develop-help.com>
CommitDate​: Wed Oct 2 14​:59​:31 2019 +1000
Eliminate modifiable variables in constants
 
Transform previously deprecated cases into exceptions.
 
Update diagnostic; change D to F
 
remove now irrelevant code (TonyC)
 
For​: RT 134138
#####

The commit in question implemented the scheduled fatalization in perl-5.32 of a situation which was previously deprecated. So, other things being equal, the CPAN code should be updated to adapt to the changes in core.

Thank you very much.

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

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2019

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

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2019

From @jkeenan

On Sat, 05 Oct 2019 17​:24​:49 GMT, jkeenan wrote​:

On Sat, 05 Oct 2019 16​:40​:05 GMT, carlos@​carlosguevara.com wrote​:

This is a bug report for perl from "Carlos Guevara"
<carlos@​carlosguevara.com>,
generated with the help of perlbug 1.41 running under perl 5.31.5.

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

Please see http​://matrix.cpantesters.org/?dist=POE .

The test failure looks like this​:

#####
[POE-1.367] 554 $ bleadprove -vb t/90_regression/leolo-sig-die.t
t/90_regression/leolo-sig-die.t ..
1..11
Constants from lexical variables potentially modified elsewhere are no
longer permitted at /home/jkeenan/.cpanm/work/1570295901.21531/POE-
1.367/blib/lib/POE/Kernel.pm line 368.
BEGIN failed--compilation aborted at
/home/jkeenan/.cpanm/work/1570295901.21531/POE-
1.367/blib/lib/POE/Kernel.pm line 397.
Compilation failed in require at (eval 10) line 1.
BEGIN failed--compilation aborted at (eval 10) line 1.
could not import qw(Kernel) at t/90_regression/leolo-sig-die.t line
11.
BEGIN failed--compilation aborted at t/90_regression/leolo-sig-die.t
line 11.
# Looks like your test exited with 255 before it could output
anything.
Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 11/11 subtests

Test Summary Report
-------------------
t/90_regression/leolo-sig-die.t (Wstat​: 65280 Tests​: 0 Failed​: 0)
Non-zero exit status​: 255
Parse errors​: Bad plan. You planned 11 tests but ran 0.
Files=1, Tests=0, 1 wallclock secs ( 0.04 usr 0.02 sys + 0.10 cusr
0.02 csys = 0.18 CPU)
Result​: FAIL
#####

Bisection points to ...

#####
commit 30fc7a2
Author​: James E Keenan <jkeenan@​cpan.org>
AuthorDate​: Sat May 25 21​:40​:00 2019 -0400
Commit​: Tony Cook <tony@​develop-help.com>
CommitDate​: Wed Oct 2 14​:59​:31 2019 +1000
Eliminate modifiable variables in constants

Transform previously deprecated cases into exceptions.

Update diagnostic; change D to F

remove now irrelevant code (TonyC)

For​: RT 134138
#####

The commit in question implemented the scheduled fatalization in perl-
5.32 of a situation which was previously deprecated. So, other things
being equal, the CPAN code should be updated to adapt to the changes
in core.

Thank you very much.

Relevant code from POE​::Kernel is attached.

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

@p5pRT
Copy link
Author

p5pRT commented Oct 5, 2019

From @jkeenan

338 BEGIN {
339 # Shorthand for defining an assert constant.
340 sub _define_assert {
341 no strict 'refs';
342 foreach my $name (@​_) {
343 next if defined *{"ASSERT_$name"}{CODE};
344 my $assert_value = &ASSERT_DEFAULT;
345 my $assert_name = "ASSERT_$name";
346 *$assert_name = sub () { $assert_value };
347 }
348 }
349
350 # Assimilate POE_TRACE_* and POE_ASSERT_* environment variables.
351 # Environment variables override everything else.
352 while (my ($var, $val) = each %ENV) {
353 next unless $var =~ /^POE_([A-Z_]+)$/;
354
355 my $const = $1;
356
357 next unless $const =~ /^(?​:TRACE|ASSERT)_/ or do { no strict 'refs'; defined &$const };
358
359 # Copy so we don't hurt our environment.
360 my $value = $val;
361 ($value) = ($value =~ /^([-\@​\w.]+)$/); # Untaint per rt.cpan.org 81550
362 $value =~ tr['"][]d;
363 $value = 0 + $value if $value =~ /^\s*-?\d+(?​:\.\d+)?\s*$/;
364
365 no strict 'refs';
366 local $^W = 0;
367 local $SIG{__WARN__} = sub { }; # redefine
368 *$const = sub () { $value }; ##### <- POINT OF FAILURE
369 }
370
371 # TRACE_FILENAME is special.
372 {
373 no strict 'refs';
374 my $trace_filename = TRACE_FILENAME() if defined &TRACE_FILENAME;
375 if (defined $trace_filename) {
376 open $trace_file_handle, ">$trace_filename"
377 or die "can't open trace file `$trace_filename'​: $!";
378 CORE​::select((CORE​::select($trace_file_handle), $| = 1)[0]);
379 }
380 }
381 # TRACE_DEFAULT changes the default value for other TRACE_*
382 # constants. Since define_trace() uses TRACE_DEFAULT internally, it
383 # can't be used to define TRACE_DEFAULT itself.
384
385 defined &TRACE_DEFAULT or *TRACE_DEFAULT = sub () { 0 };
386
387 _define_trace qw(
388 EVENTS FILES PROFILE REFCNT RETVALS SESSIONS SIGNALS STATISTICS
389 );
390
391 # See the notes for TRACE_DEFAULT, except read ASSERT and assert
392 # where you see TRACE and trace.
393
394 defined &ASSERT_DEFAULT or *ASSERT_DEFAULT = sub () { 0 };
395
396 _define_assert qw(DATA EVENTS FILES RETVALS USAGE);
397 }

@p5pRT p5pRT added BBC Blead Breaks CPAN - changes in blead broke a cpan module(s) Severity Low type-core labels Oct 19, 2019
@toddr toddr added this to the 5.32.0 milestone Oct 25, 2019
@toddr toddr removed the 5.32.0 label Oct 25, 2019
@tonycoz
Copy link
Contributor

tonycoz commented Oct 30, 2019

Fixed upstream in rcaputo/poe@cf5b772 but not released yet.

@jkeenan
Copy link
Contributor

jkeenan commented Jan 28, 2020

Fixed upstream in rcaputo/poe@cf5b772 but not released yet.

Can anyone contact CPAN maintainer Rocco Caputo or original author Curtis Poe IRL to get a new CPAN release?

Thank you very much.
Jim Keenan

@tonycoz
Copy link
Contributor

tonycoz commented Feb 2, 2020

POE 1.368 has been released with a fix.

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-core
Projects
None yet
Development

No branches or pull requests

4 participants