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.1-69-gc72a4ee breaks FLORA/namespace-alias-0.02.tar.gz #13792

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

Bleadperl v5.19.1-69-gc72a4ee breaks FLORA/namespace-alias-0.02.tar.gz #13792

p5pRT opened this issue May 1, 2014 · 5 comments

Comments

@p5pRT
Copy link

p5pRT commented May 1, 2014

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

Searchable as RT121779$

@p5pRT
Copy link
Author

p5pRT commented May 1, 2014

From @andk

git bisect


commit c72a4ee
Author​: Father Chrysostomos <sprout@​cpan.org>
Date​: Sat Jun 22 16​:14​:24 2013 -0700

  sv.c​: Make sv_force_normal always croak on ro SVs

diagnostics


http​://www.cpantesters.org/cpan/report/ea638256-d122-11e3-b311-afc8310f0ce5

rt.cpan ticket


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

perl -V


Summary of my perl5 (revision 5 version 19 subversion 3) configuration​:
  Commit id​: f865d60
  Platform​:
  osname=linux, osvers=3.13-1-amd64, archname=x86_64-linux
  uname='linux k83 3.13-1-amd64 #1 smp debian 3.13.7-1 (2014-03-25)
  x86_64 gnulinux '
  config_args='-Dprefix=/home/sand/src/perl/repoperls/installed-perls/perl/v5.19.3/165a
  -Dmyhostname=k83 -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des
  -Ui_db -Uuseithreads -Uuselongdouble -DDEBUGGING=-g'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=undef, usemultiplicity=undef
  useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef
  use64bitint=define, use64bitall=define, uselongdouble=undef
  usemymalloc=n, bincompat5005=undef
  Compiler​:
  cc='cc', ccflags ='-fno-strict-aliasing -pipe -fstack-protector
  -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
  optimize='-O2 -g',
  cppflags='-fno-strict-aliasing -pipe -fstack-protector
  -I/usr/local/include'
  ccversion='', gccversion='4.8.2', 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='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 /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 -lc -lgdbm_compat
  perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
  libc=, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.18'
  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 PERLIO_LAYERS PERL_DONT_CREATE_GVSV
  PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
  PERL_MALLOC_WRAP
  PERL_NEW_COPY_ON_WRITE 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_PERLIO
  USE_PERL_ATOF
  Built under linux
  Compiled at Apr 29 2014 04​:08​:46
  %ENV​:
  PERL5LIB=""
  PERL5OPT=""
  PERL5_CPANPLUS_IS_RUNNING="8840"
  PERL5_CPAN_IS_RUNNING="8840"
  PERL_MM_USE_DEFAULT="1"
  @​INC​:
  /home/sand/src/perl/repoperls/installed-perls/perl/v5.19.3/165a/lib/site_perl/5.19.3/x86_64-linux
  /home/sand/src/perl/repoperls/installed-perls/perl/v5.19.3/165a/lib/site_perl/5.19.3
  /home/sand/src/perl/repoperls/installed-perls/perl/v5.19.3/165a/lib/5.19.3/x86_64-linux
  /home/sand/src/perl/repoperls/installed-perls/perl/v5.19.3/165a/lib/5.19.3
  .

--
andreas

@p5pRT
Copy link
Author

p5pRT commented May 7, 2014

From @tonycoz

On Thu May 01 11​:55​:55 2014, andreas.koenig.7os6VVqR@​franz.ak.mind.de wrote​:

git bisect
----------
commit c72a4ee
Author​: Father Chrysostomos <sprout@​cpan.org>
Date​: Sat Jun 22 16​:14​:24 2013 -0700

sv.c​: Make sv_force_normal always croak on ro SVs

diagnostics
-----------
http​://www.cpantesters.org/cpan/report/ea638256-d122-11e3-b311-
afc8310f0ce5

rt.cpan ticket
--------------
https://rt.cpan.org/Ticket/Display.html?id=95228

Looking at this, I think it's a bug in namespace​::alias.

It's attempting to modify the SV attached to an OP_CONST, which is marked readonly​:

Breakpoint 2, Perl_sv_force_normal_flags (sv=0x105aa08, flags=4) at sv.c​:5023
5023 Perl_croak_no_modify();
(gdb) call Perl_sv_dump(sv)
SV = PV(0x1021450) at 0x105aa08
  REFCNT = 1
  FLAGS = (POK,READONLY,IsCOW,pPOK)
  PV = 0xb0ea30 "MyAlias​::fun"\0
  CUR = 12
  LEN = 16
  COW_REFCNT = 1
(gdb) bt
#0 Perl_sv_force_normal_flags (sv=0x105aa08, flags=4) at sv.c​:5023
#1 0x0000000000500dd2 in Perl_sv_setsv_flags (dstr=dstr@​entry=0x105aa08,
  sstr=sstr@​entry=0x105a9a8, flags=flags@​entry=2) at sv.c​:4062
#2 0x00007ffff5347050 in check_alias (op=0xb0e800, user_data=<optimized out>)
  at alias.xs​:202
#3 0x00007ffff5759e1a in check_cb (op=<optimized out>) at Check.xs​:49
#4 0x000000000046b601 in Perl_yylex () at toke.c​:7280
#5 0x000000000048180b in Perl_yyparse (gramtype=gramtype@​entry=258)
  at perly.c​:343
#6 0x000000000044a2f2 in S_parse_body (env=env@​entry=0x0,
  xsinit=xsinit@​entry=0x422ab0 <xs_init>) at perl.c​:2298
#7 0x000000000044b987 in perl_parse (my_perl=<optimized out>,
  xsinit=xsinit@​entry=0x422ab0 <xs_init>, argc=4, argv=0x7fffffffd6d8,
  env=env@​entry=0x0) at perl.c​:1607
#8 0x0000000000422910 in main (argc=4, argv=0x7fffffffd6d8,
  env=0x7fffffffd700) at perlmain.c​:112
(gdb) call Perl_op_dump((OP*)0xb0e800)
{
1 TYPE = const ===> 1
  FLAGS = (SCALAR,SLABBED)
  SV = PV("MyAlias​::fun"\0)
}

I suspect the only workaround for the author would be to switch SvREADONLY() off for the modification.

Tony

@p5pRT
Copy link
Author

p5pRT commented May 7, 2014

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

@p5pRT
Copy link
Author

p5pRT commented May 12, 2014

From @rjbs

This has been filed as https://rt.cpan.org/Ticket/Display.html?id=95228 so I am resolving it in rt.perl.org

--
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