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

Bleadperl v5.19.2-122-g5608dcc breaks ASG/List-Gen-0.974.tar.gz #13795

Closed
p5pRT opened this issue May 2, 2014 · 5 comments
Closed

Bleadperl v5.19.2-122-g5608dcc breaks ASG/List-Gen-0.974.tar.gz #13795

p5pRT opened this issue May 2, 2014 · 5 comments

Comments

@p5pRT
Copy link

p5pRT commented May 2, 2014

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

Searchable as RT121784$

@p5pRT
Copy link
Author

p5pRT commented May 2, 2014

From @andk

git bisect


commit 5608dcc
Author​: Father Chrysostomos <sprout@​cpan.org>
Date​: Sat Jun 22 18​:46​:00 2013 -0700

  [perl #3105] Make 1..3 modification safe

diagnostics


http​://www.cpantesters.org/cpan/report/7a2bb4ea-f66c-11e2-a9e3-d7e6f1ff63fb

rt.cpan ticket


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

perl -V


Summary of my perl5 (revision 5 version 19 subversion 3) configuration​:
  Commit id​: 9e4ab80
  Platform​:
  osname=linux, osvers=3.9-1-amd64, archname=x86_64-linux-thread-multi-ld
  uname='linux k83 3.9-1-amd64 #1 smp debian 3.9.8-1 x86_64 gnulinux '
  config_args='-Dprefix=/home/sand/src/perl/repoperls/installed-perls/perl/v5.19.2-149-g9e4ab80/a2da -Dmyhostname=k83 -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Duseithreads -Duselongdouble -DDEBUGGING=-g'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=define, usemultiplicity=define
  useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
  use64bitint=define, use64bitall=define, uselongdouble=define
  usemymalloc=n, bincompat5005=undef
  Compiler​:
  cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
  optimize='-O2 -g',
  cppflags='-D_REENTRANT -D_GNU_SOURCE -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include'
  ccversion='', gccversion='4.8.1', gccosandvers=''
  intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
  d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
  ivtype='long', ivsize=8, nvtype='long double', nvsize=16, Off_t='off_t', lseeksize=8
  alignbytes=16, prototype=define
  Linker and Libraries​:
  ld='cc', ldflags =' -fstack-protector -L/usr/local/lib'
  libpth=/usr/local/lib /lib/x86_64-linux-gnu /lib/../lib /usr/lib/x86_64-linux-gnu /usr/lib/../lib /lib /usr/lib
  libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -lc -lgdbm_compat
  perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
  libc=, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.17'
  Dynamic Linking​:
  dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
  cccdlflags='-fPIC', lddlflags='-shared -O2 -g -L/usr/local/lib -fstack-protector'

Characteristics of this binary (from libperl)​:
  Compile-time options​: HAS_TIMES MULTIPLICITY PERLIO_LAYERS
  PERL_DONT_CREATE_GVSV
  PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
  PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
  PERL_NEW_COPY_ON_WRITE PERL_PRESERVE_IVUV
  PERL_USE_DEVEL USE_64_BIT_ALL USE_64_BIT_INT
  USE_ITHREADS USE_LARGE_FILES USE_LOCALE
  USE_LOCALE_COLLATE USE_LOCALE_CTYPE
  USE_LOCALE_NUMERIC USE_LONG_DOUBLE USE_PERLIO
  USE_PERL_ATOF USE_REENTRANT_API
  Built under linux
  Compiled at Jul 26 2013 09​:28​:56
  %ENV​:
  PERL5LIB=""
  PERL5OPT=""
  PERL5_CPANPLUS_IS_RUNNING="12638"
  PERL5_CPAN_IS_RUNNING="12638"
  PERL_MM_USE_DEFAULT="1"
  @​INC​:
  /home/sand/src/perl/repoperls/installed-perls/perl/v5.19.2-149-g9e4ab80/a2da/lib/site_perl/5.19.3/x86_64-linux-thread-multi-ld
  /home/sand/src/perl/repoperls/installed-perls/perl/v5.19.2-149-g9e4ab80/a2da/lib/site_perl/5.19.3
  /home/sand/src/perl/repoperls/installed-perls/perl/v5.19.2-149-g9e4ab80/a2da/lib/5.19.3/x86_64-linux-thread-multi-ld
  /home/sand/src/perl/repoperls/installed-perls/perl/v5.19.2-149-g9e4ab80/a2da/lib/5.19.3
  .
--
andreas

@p5pRT
Copy link
Author

p5pRT commented May 8, 2014

From @tonycoz

On Fri May 02 00​:09​:57 2014, andreas.koenig.7os6VVqR@​franz.ak.mind.de wrote​:

git bisect
----------
commit 5608dcc
Author​: Father Chrysostomos <sprout@​cpan.org>
Date​: Sat Jun 22 18​:46​:00 2013 -0700

[perl #3105] Make 1..3 modification safe

If I understand what is going on here, the above patch fixes this bug​:

5.14​:

perl -le 'sub foo { sub { \@​_ }->(1..3) } foo()->[1] = 4; print @​{foo()}'
143

blead​:

perl -le 'sub foo { sub { \@​_ }->(1..3) } foo()->[1] = 4; print @​{foo()}'
123

ie. previously we allowed the caller to modify the result of a constant folded range operator.

Note the test immediately following does exactly the same thing, except it uses non-constants for the list, but expects a different result.

Here's the tests​:

{
  my ($x, $y) = map & \(1 .. 3), 1 .. 2;
  $_ += 10 for @​$x;
  t 'map & \(1 .. 3), 1 .. 2',
  is => "@​$x : @​$y", '11 12 13 : 11 12 13';
}
{
  my ($low, $high) = (1, 3);
  my ($x, $y) = map &\($low .. $high), 1 .. 2;
  $_ += 10 for @​$x;
  t 'map &\($low .. $high), 1 .. 2',
  is => "@​$x : @​$y", '11 12 13 : 1 2 3';
}

sub & is an alias for sub cap, implemented as​:

  sub cap {\@​_}

I don't think this is a bug in perl, but fix in perl, which broke a test that expected the strange result we produced previously.

Tony

@p5pRT
Copy link
Author

p5pRT commented May 8, 2014

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

@p5pRT
Copy link
Author

p5pRT commented May 12, 2014

From @rjbs

Closed as "not a bug in perl." The CPAN ticket is https://rt.cpan.org/Ticket/Display.html?id=95174

--
rjbs

@p5pRT
Copy link
Author

p5pRT commented May 12, 2014

@rjbs - Status changed from 'open' to 'resolved'

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

No branches or pull requests

1 participant