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.23.7-119-g801bbf6 breaks EDPRATOMO/Algorithm-Permute-0.12.tar.gz #15163

Closed
p5pRT opened this issue Feb 6, 2016 · 6 comments
Closed

Comments

@p5pRT
Copy link

p5pRT commented Feb 6, 2016

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

Searchable as RT127475$

@p5pRT
Copy link
Author

p5pRT commented Feb 6, 2016

From @andk

bisect


commit 801bbf6
Author​: David Mitchell <davem@​iabyn.com>
Date​: Mon Jul 13 16​:18​:55 2015 +0100

  pp_entersub()​: reduce scope of gimme

diagnostics


Adter the merge of the whole "reworked context stack system" branch we
see fails like this​:

http​://www.cpantesters.org/cpan/report/14f65828-cb8a-11e5-90e7-2377817e3395

(Can't load 'blib/arch/auto/Algorithm/Permute/Permute.so' for module Algorithm​::Permute​: blib/arch/auto/Algorithm/Permute/Permute.so​: undefined symbol​: PUSHBLOCK at /home/sand/src/perl/repoperls/installed-perls/host/k93x64sid/v5.23.7-295-g76e450b/29a8/lib/5.23.8/x86_64-linux/DynaLoader.pm line 189.
at test.pl line 13.)

But with 801bbf6 we only saw one
failing test​:

[...]
ok 18
ok 19
ok 20
not ok 21 # 5
ok 22
ok 23
ok 24
[...]

prior discussion


http​://www.nntp.perl.org/group/perl.perl5.porters/2016/01/msg233698.html

perl -V


Summary of my perl5 (revision 5 version 23 subversion 8) configuration​:
  Derived from​: 76e450b
  Platform​:
  osname=linux, osvers=4.3.0-1-amd64, archname=x86_64-linux
  uname='linux k93x64sid 4.3.0-1-amd64 #1 smp debian 4.3.3-7 (2016-01-19) x86_64 gnulinux '
  config_args='-Dprefix=/home/sand/src/perl/repoperls/installed-perls/host/k93x64sid/v5.23.7-295-g76e450b/29a8 -Dmyhostname=k93x64sid -Dinstallusrbinperl=n -Uversiononly -Dusedevel -des -Ui_db -Dlibswanted=cl pthread socket inet nsl gdbm dbm malloc dl ld sun m crypt sec util c cposix posix ucb BSD gdbm_compat -Uuseithreads -Uuselongdouble -DDEBUGGING=-g'
  hint=recommended, useposix=true, d_sigaction=define
  useithreads=undef, usemultiplicity=undef
  use64bitint=define, use64bitall=define, uselongdouble=undef
  usemymalloc=n, 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 -D_FORTIFY_SOURCE=2',
  optimize='-O2 -g',
  cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include'
  ccversion='', gccversion='5.3.1 20160121', 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
  libs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
  perllibs=-lpthread -lnsl -ldl -lm -lcrypt -lutil -lc
  libc=libc-2.21.so, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.21'
  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-strong'

Characteristics of this binary (from libperl)​:
  Compile-time options​: HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE
  PERL_DONT_CREATE_GVSV
  PERL_HASH_FUNC_ONE_AT_A_TIME_HARD PERL_MALLOC_WRAP
  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
  Locally applied patches​:
  uncommitted-changes
  Devel​::PatchPerl 1.40
  Built under linux
  Compiled at Feb 4 2016 03​:54​:01
  %ENV​:
  PERL5LIB=""
  PERL5OPT=""
  PERL5_CPANPLUS_IS_RUNNING="7624"
  PERL5_CPAN_IS_RUNNING="7624"
  PERL_MM_USE_DEFAULT="1"
  @​INC​:
  /home/sand/src/perl/repoperls/installed-perls/host/k93x64sid/v5.23.7-295-g76e450b/29a8/lib/site_perl/5.23.8/x86_64-linux
  /home/sand/src/perl/repoperls/installed-perls/host/k93x64sid/v5.23.7-295-g76e450b/29a8/lib/site_perl/5.23.8
  /home/sand/src/perl/repoperls/installed-perls/host/k93x64sid/v5.23.7-295-g76e450b/29a8/lib/5.23.8/x86_64-linux
  /home/sand/src/perl/repoperls/installed-perls/host/k93x64sid/v5.23.7-295-g76e450b/29a8/lib/5.23.8
  .

--
andreas

@p5pRT
Copy link
Author

p5pRT commented Feb 6, 2016

From @iabyn

On Fri, Feb 05, 2016 at 10​:51​:47PM -0800, Andreas J. Koenig via RT wrote​:

bisect
------
commit 801bbf6
Author​: David Mitchell <davem@​iabyn.com>
Date​: Mon Jul 13 16​:18​:55 2015 +0100

pp\_entersub\(\)&#8203;: reduce scope of gimme

diagnostics
-----------
Adter the merge of the whole "reworked context stack system" branch we
see fails like this​:

http​://www.cpantesters.org/cpan/report/14f65828-cb8a-11e5-90e7-2377817e3395

(Can't load 'blib/arch/auto/Algorithm/Permute/Permute.so' for module Algorithm​::Permute​: blib/arch/auto/Algorithm/Permute/Permute.so​: undefined symbol​: PUSHBLOCK at /home/sand/src/perl/repoperls/installed-perls/host/k93x64sid/v5.23.7-295-g76e450b/29a8/lib/5.23.8/x86_64-linux/DynaLoader.pm line 189.
at test.pl line 13.)

(which of course will involve significant work on Algorithm​::Permute -
probably shifting it over to use MULTICALL - at the moment its effectively
using a roll-your-own MULTICALL.)

But with 801bbf6 we only saw one
failing test​:

Good catch. Fixed with this (whose commit message I see now could
have done with a proof-read before I pushed it)​:

commit 71d19c3
Author​: David Mitchell <davem@​iabyn.com>
AuthorDate​: Sat Feb 6 11​:04​:45 2016 +0000
Commit​: David Mitchell <davem@​iabyn.com>
CommitDate​: Sat Feb 6 11​:04​:45 2016 +0000

  pp_enter​: calculate gimme earlier in XS branch
 
  My commit 801bbf6 make it so that pp_entersub only calculates
  gimme at the point its needed, to avoid wasting register resource.
  However in n the XS branch it was a bit over-enthusiatic​: its possible
  for an XS sub to save PL_op and change its value. The old value will
  only get restored when pp_entersub soes LEAVE, which is *after* we
  cacluate gimme. So grab the value before the XS sub is called.

--
In my day, we used to edit the inodes by hand. With magnets.

@p5pRT
Copy link
Author

p5pRT commented Feb 6, 2016

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

@p5pRT
Copy link
Author

p5pRT commented Feb 15, 2016

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

@p5pRT
Copy link
Author

p5pRT commented May 13, 2016

From @khwilliamson

Thank you for submitting this report. You have helped make Perl better.
 
With the release of Perl 5.24.0 on May 9, 2016, this and 149 other issues have been resolved.

Perl 5.24.0 may be downloaded via https://metacpan.org/release/RJBS/perl-5.24.0

@p5pRT p5pRT closed this as completed May 13, 2016
@p5pRT
Copy link
Author

p5pRT commented May 13, 2016

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

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