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

no autodie removes system function #16515

Closed
p5pRT opened this issue Apr 20, 2018 · 5 comments
Closed

no autodie removes system function #16515

p5pRT opened this issue Apr 20, 2018 · 5 comments

Comments

@p5pRT
Copy link

p5pRT commented Apr 20, 2018

Migrated from rt.perl.org#133130 (status was 'rejected')

Searchable as RT133130$

@p5pRT
Copy link
Author

p5pRT commented Apr 20, 2018

From @shawnhcorey

Created by @shawnhcorey

Using `no autodie` will remove the system function.

  #!/usr/bin/env perl

  use strict;
  use warnings;

  use autodie;
  {
  no autodie;
  }
  system( qw( ls . ));

Emits the error​:
Undefined subroutine called at ./eg-no-autodie-system.pl line 10.

Perl Info

Flags:
    category=core
    severity=high

Site configuration information for perl 5.26.1:

Configured by Shawn H Corey at Fri Mar	9 08:15:37 EST 2018.

Summary of my perl5 (revision 5 version 26 subversion 1) configuration:
   
  Platform:
    osname=linux
    osvers=4.4.0-116-generic
    archname=x86_64-linux-gnu-thread-multi
    uname='linux sage 4.4.0-116-generic #140~14.04.1-ubuntu smp fri feb
16 09:25:20 utc 2018 x86_64 x86_64 x86_64 gnulinux ' config_args='-de
-Dprefix=/home/shawn/perl5/perlbrew/perls/perl-5.26.1 -Dusethreads
-Duselargefiles -Duse64bitall -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC
-Darchname=x86_64-linux-gnu -Dpager=/usr/bin/sensible-pager
-Doptimize=-O2 -Duseshrplib -Dcf_by=Shawn H Corey
-Dcf_email=SHCOREY@cpan.org
-Aeval:scriptdir=/home/shawn/perl5/perlbrew/perls/perl-5.26.1/bin'
hint=recommended useposix=true d_sigaction=define useithreads=define
usemultiplicity=define use64bitint=define use64bitall=define
uselongdouble=undef usemymalloc=n
    default_inc_excludes_dot=define
    bincompat5005=undef
  Compiler:
    cc='cc'
    ccflags ='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' optimize='-O2'
cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv
-fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
ccversion='' gccversion='4.8.4' 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 -L/usr/local/lib'
    libpth=/usr/local/lib /usr/lib/gcc/x86_64-linux-gnu/4.8/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
    libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
    libc=libc-2.19.so
    so=so
    useshrplib=true
    libperl=libperl.so
    gnulibc_version='2.19'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs
    dlext=so
    d_dlsymun=undef
    ccdlflags='-Wl,-E
-Wl,-rpath,/home/shawn/perl5/perlbrew/perls/perl-5.26.1/lib/5.26.1/x86_64-linux-gnu-thread-multi/CORE'
cccdlflags='-fPIC' lddlflags='-shared -O2 -L/usr/local/lib
-fstack-protector'

Locally applied patches:
    Devel::PatchPerl 1.48


@INC for perl 5.26.1:
    /home/shawn/perl5/lib
    /home/shawn/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1/x86_64-linux-gnu-thread-multi
    /home/shawn/perl5/perlbrew/perls/perl-5.26.1/lib/site_perl/5.26.1
    /home/shawn/perl5/perlbrew/perls/perl-5.26.1/lib/5.26.1/x86_64-linux-gnu-thread-multi
    /home/shawn/perl5/perlbrew/perls/perl-5.26.1/lib/5.26.1


Environment for perl 5.26.1:
    HOME=/home/shawn
    LANG=en_CA.UTF-8
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH=/home/shawn/bin:/home/shawn/perl5/perlbrew/bin:/home/shawn/perl5/perlbrew/perls/perl-5.26.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:.
    PERL5LIB=/home/shawn/perl5/lib
    PERLBREW_BASHRC_VERSION=0.66
    PERLBREW_HOME=/home/shawn/.perlbrew
    PERLBREW_MANPATH=/home/shawn/perl5/perlbrew/perls/perl-5.26.1/man
    PERLBREW_PATH=/home/shawn/perl5/perlbrew/bin:/home/shawn/perl5/perlbrew/perls/perl-5.26.1/bin
    PERLBREW_PERL=perl-5.26.1
    PERLBREW_ROOT=/home/shawn/perl5/perlbrew
    PERLBREW_VERSION=0.66
    PERL_BADLANG (unset)
    SHELL=/bin/bash

@p5pRT
Copy link
Author

p5pRT commented Apr 21, 2018

From @jkeenan

On Fri, 20 Apr 2018 12​:33​:22 GMT, shcorey wrote​:

Reply-To​: shawnhcorey@​gmail.com
Cc​: SHCOREY@​cpan.org
To​: perlbug@​perl.org
From​: shawnhcorey@​gmail.com
Subject​: `no autodie` removes system function
Message-Id​: <5.26.1_5820_1524227202@​sage.Home>

This is a bug report for perl from shawnhcorey@​gmail.com,
generated with the help of perlbug 1.40 running under perl 5.26.1.

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

Using `no autodie` will remove the system function.

#!/usr/bin/env perl

use strict;
use warnings;

use autodie;
{
no autodie;
}
system( qw( ls . ));

Emits the error​:
Undefined subroutine called at ./eg-no-autodie-system.pl line 10.

'autodie' is maintained upstream on CPAN (http​://search.cpan.org/~pjf/autodie-2.29/). This problem has been reported previously in that distribution's bug tracker​:

https://rt.cpan.org/Ticket/Display.html?id=114798

My hunch is that this is not so much a pure BBC as a bad interaction between blead and CPAN. Am trying to bisect blead to see the point at which the 'autodie' shipped with blead exhibits this behavior. (Hint​: probably between 5.20 and 5.22.)

Thank you very much.

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

@p5pRT
Copy link
Author

p5pRT commented Apr 21, 2018

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

@p5pRT
Copy link
Author

p5pRT commented Apr 21, 2018

From @jkeenan

On Sat, 21 Apr 2018 02​:12​:05 GMT, jkeenan wrote​:

On Fri, 20 Apr 2018 12​:33​:22 GMT, shcorey wrote​:

Reply-To​: shawnhcorey@​gmail.com
Cc​: SHCOREY@​cpan.org
To​: perlbug@​perl.org
From​: shawnhcorey@​gmail.com
Subject​: `no autodie` removes system function
Message-Id​: <5.26.1_5820_1524227202@​sage.Home>

This is a bug report for perl from shawnhcorey@​gmail.com,
generated with the help of perlbug 1.40 running under perl 5.26.1.

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

Using `no autodie` will remove the system function.

#!/usr/bin/env perl

use strict;
use warnings;

use autodie;
{
no autodie;
}
system( qw( ls . ));

Emits the error​:
Undefined subroutine called at ./eg-no-autodie-system.pl line 10.

'autodie' is maintained upstream on CPAN
(http​://search.cpan.org/~pjf/autodie-2.29/). This problem has been
reported previously in that distribution's bug tracker​:

https://rt.cpan.org/Ticket/Display.html?id=114798

My hunch is that this is not so much a pure BBC as a bad interaction
between blead and CPAN. Am trying to bisect blead to see the point at
which the 'autodie' shipped with blead exhibits this behavior. (Hint​:
probably between 5.20 and 5.22.)

Thank you very much.

Bisection points to a commit at which blead's autodie was synched with upstream​:

#####
f91d7e0 is the first bad commit
commit f91d7e0
Author​: Chris 'BinGOs' Williams <chris@​bingosnet.co.uk>
Date​: Tue May 27 22​:45​:06 2014 +0100

  Update autodie to CPAN version 2.25
#####

From which I infer that the upstream author has not fixed the problem in releases subsequent to 2.25. So the previously filed ticket on rt.cpan.org is the place where this has to be discussed.

Closing this ticket.

Thank you very much.

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

@p5pRT p5pRT closed this as completed Apr 21, 2018
@p5pRT
Copy link
Author

p5pRT commented Apr 21, 2018

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

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

No branches or pull requests

1 participant