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.15.5-305-g0c9fdf2 or later breaks MARCEL/Class-Scaffold-1.102280.tar.gz #11848

Closed
p5pRT opened this issue Jan 5, 2012 · 9 comments

Comments

@p5pRT
Copy link

p5pRT commented Jan 5, 2012

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

Searchable as RT107636$

@p5pRT
Copy link
Author

p5pRT commented Jan 5, 2012

From @andk

git bisect


The last bleadperl that could bring Class​::Scaffold through its tests
was v5.15.5-305-g0c9fdf2. After that the prerequisites
YAML/YAML​::XS/YAML​::Active failed for quite a while. With
v5.15.6-78-g1c74777 the three YAMLs started to pass again but
Class​::Scaffold remained in limbo. It does not produce fails, it hangs.

% strace -p 13405
Process 13405 attached - interrupt to quit
wait4(13706,

There it is standing.

diagnostics


t/01_companion_classes.t ..... ok
Deep recursion on anonymous subroutine at /home/src/perl/repoperls/installed-perls/perl/v5.15.6-78-g1c74777/127e/lib/5.15.6/Carp.pm line 294.
Deep recursion on subroutine "Error​::throw" at /home/src/perl/repoperls/installed-perls/perl/v5.15.6-78-g1c74777/127e/lib/site_perl/5.15.6/Error/Hierarchy/Mixin.pm line 18.
Deep recursion on subroutine "Error​::Hierarchy​::Base​::new" at /home/src/perl/repoperls/installed-perls/perl/v5.15.6-78-g1c74777/127e/lib/site_perl/5.15.6/Error.pm line 182.
Deep recursion on subroutine "Error​::Hierarchy​::init" at /home/src/perl/repoperls/installed-perls/perl/v5.15.6-78-g1c74777/127e/lib/site_perl/5.15.6/Class/Accessor/Complex.pm line 34.
Deep recursion on subroutine "Carp​::longmess" at /home/src/perl/repoperls/installed-perls/perl/v5.15.6-78-g1c74777/127e/lib/site_perl/5.15.6/Error/Hierarchy.pm line 47.
Deep recursion on subroutine "Carp​::longmess_heavy" at /home/src/perl/repoperls/installed-perls/perl/v5.15.6-78-g1c74777/127e/lib/5.15.6/Carp.pm line 86.
Deep recursion on subroutine "Carp​::ret_backtrace" at /home/src/perl/repoperls/installed-perls/perl/v5.15.6-78-g1c74777/127e/lib/5.15.6/Carp.pm line 271.
[hangs]

perl -V


Summary of my perl5 (revision 5 version 15 subversion 5) configuration​:
  Commit id​: 0c9fdf2
  Platform​:
  osname=linux, osvers=2.6.32-5-amd64, archname=x86_64-linux
  uname='linux k83 2.6.32-5-amd64 #1 smp thu nov 3 03​:41​:26 utc 2011 x86_64 gnulinux '
  config_args='-Dprefix=/home/src/perl/repoperls/installed-perls/perl/v5.15.5-305-g0c9fdf2/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.4.5', 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/../lib /usr/lib/../lib /lib /usr/lib /lib64 /usr/lib64
  libs=-lnsl -ldb -ldl -lm -lcrypt -lutil -lc
  perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
  libc=/lib/libc-2.11.2.so, so=so, useshrplib=false, libperl=libperl.a
  gnulibc_version='2.11.2'
  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_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_PERLIO USE_PERL_ATOF
  Built under linux
  Compiled at Dec 15 2011 07​:35​:51
  @​INC​:
  /home/src/perl/repoperls/installed-perls/perl/v5.15.5-305-g0c9fdf2/165a/lib/site_perl/5.15.5/x86_64-linux
  /home/src/perl/repoperls/installed-perls/perl/v5.15.5-305-g0c9fdf2/165a/lib/site_perl/5.15.5
  /home/src/perl/repoperls/installed-perls/perl/v5.15.5-305-g0c9fdf2/165a/lib/5.15.5/x86_64-linux
  /home/src/perl/repoperls/installed-perls/perl/v5.15.5-305-g0c9fdf2/165a/lib/5.15.5
  .

--
andreas

@p5pRT
Copy link
Author

p5pRT commented Apr 10, 2012

From @cpansprout

On Thu Jan 05 13​:11​:22 2012, andreas.koenig.7os6VVqR@​franz.ak.mind.de wrote​:

git bisect
----------
The last bleadperl that could bring Class​::Scaffold through its tests
was v5.15.5-305-g0c9fdf2. After that the prerequisites
YAML/YAML​::XS/YAML​::Active failed for quite a while. With
v5.15.6-78-g1c74777 the three YAMLs started to pass again but
Class​::Scaffold remained in limbo. It does not produce fails, it
hangs.

% strace -p 13405
Process 13405 attached - interrupt to quit
wait4(13706,

There it is standing.

diagnostics
-----------
t/01_companion_classes.t ..... ok
Deep recursion on anonymous subroutine at
/home/src/perl/repoperls/installed-perls/perl/v5.15.6-78-
g1c74777/127e/lib/5.15.6/Carp.pm line 294.

That line number suggests commit v5.15.5-427-g89988fb is at fault.

Error.pm (is overriding CORE​::GLOBAL​::die before Carp loads.

Carp​::longmess (actually, a sub it calls) now does eval { die } to find
out the file name that would be appended to the error message.

Since many error modules use Carp underneath, we end up with infinite
recursion. So that eval { die } should probably change to eval {
CORE​::die }, as it *must not* be overridden by anything.

Can this be made a blocker for 5.16? I can write a patch with a test
easily enough, based on this​:

$ perl5.14.1 -e 'open t, "t/test.pl"; <t>; BEGIN { *CORE​::GLOBAL​::die =
sub { die Carp​::longmess(@​_) } } use Carp; die'
at -e line 1
$ perl5.15.9 -e 'open t, "t/test.pl"; <t>; BEGIN { *CORE​::GLOBAL​::die =
sub { die Carp​::longmess(@​_) } } use Carp; die'
Deep recursion on anonymous subroutine at
/usr/local/lib/perl5/5.15.9/Carp.pm line 294, <t> line 1.
Deep recursion on subroutine "Carp​::longmess_heavy" at
/usr/local/lib/perl5/5.15.9/Carp.pm line 86, <t> line 1.
Deep recursion on subroutine "Carp​::ret_backtrace" at
/usr/local/lib/perl5/5.15.9/Carp.pm line 271, <t> line 1.
^C
$ perl5.14.1 -S pmvers Carp
1.20
$ perl5.15.9 -S pmvers Carp
1.25

--

Father Chrysostomos

@p5pRT
Copy link
Author

p5pRT commented Apr 10, 2012

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

@p5pRT
Copy link
Author

p5pRT commented Apr 12, 2012

From @cpansprout

On Tue Apr 10 10​:02​:53 2012, sprout wrote​:

Can this be made a blocker for 5.16? I can write a patch with a test
easily enough, based on this​:

I’ve pushed a fix to the smoke-me/carp-107636 branch.

--

Father Chrysostomos

@p5pRT
Copy link
Author

p5pRT commented Apr 17, 2012

From @cpansprout

On Thu Apr 12 06​:41​:21 2012, sprout wrote​:

On Tue Apr 10 10​:02​:53 2012, sprout wrote​:

Can this be made a blocker for 5.16? I can write a patch with a test
easily enough, based on this​:

I’ve pushed a fix to the smoke-me/carp-107636 branch.

And I’m getting passes for both Linux and Windoze.

--

Father Chrysostomos

@p5pRT
Copy link
Author

p5pRT commented Apr 20, 2012

From @rjbs

On Mon Apr 16 20​:41​:35 2012, sprout wrote​:

On Thu Apr 12 06​:41​:21 2012, sprout wrote​:

On Tue Apr 10 10​:02​:53 2012, sprout wrote​:

Can this be made a blocker for 5.16? I can write a patch with a test
easily enough, based on this​:

I’ve pushed a fix to the smoke-me/carp-107636 branch.

And I’m getting passes for both Linux and Windoze.

Looks good to me -- but what's the purpose of
79f743eb0fa9594862f1bc7828424ddddaedeb7f ? Is that addressing a problem that I don't
see?

Either way, I think this is the right fix.

@p5pRT
Copy link
Author

p5pRT commented Apr 20, 2012

From @cpansprout

On Thu Apr 19 19​:05​:30 2012, rjbs wrote​:

On Mon Apr 16 20​:41​:35 2012, sprout wrote​:

On Thu Apr 12 06​:41​:21 2012, sprout wrote​:

On Tue Apr 10 10​:02​:53 2012, sprout wrote​:

Can this be made a blocker for 5.16? I can write a patch with a
test
easily enough, based on this​:

I’ve pushed a fix to the smoke-me/carp-107636 branch.

And I’m getting passes for both Linux and Windoze.

Looks good to me -- but what's the purpose of
79f743eb0fa9594862f1bc7828424ddddaedeb7f ? Is that addressing a
problem that I don't
see?

It makes the tests pass on Windoze. I plan to merge it with the main
commit.

Either way, I think this is the right fix.

--

Father Chrysostomos

@p5pRT
Copy link
Author

p5pRT commented Apr 20, 2012

From @cpansprout

On Thu Apr 19 20​:01​:03 2012, sprout wrote​:

On Thu Apr 19 19​:05​:30 2012, rjbs wrote​:

On Mon Apr 16 20​:41​:35 2012, sprout wrote​:

On Thu Apr 12 06​:41​:21 2012, sprout wrote​:

On Tue Apr 10 10​:02​:53 2012, sprout wrote​:

Can this be made a blocker for 5.16? I can write a patch with a
test
easily enough, based on this​:

I’ve pushed a fix to the smoke-me/carp-107636 branch.

And I’m getting passes for both Linux and Windoze.

Looks good to me -- but what's the purpose of
79f743eb0fa9594862f1bc7828424ddddaedeb7f ? Is that addressing a
problem that I don't
see?

It makes the tests pass on Windoze. I plan to merge it with the main
commit.

I meant squash, not merge (but whatever!).

Either way, I think this is the right fix.

Applied as 781fa0f.

--

Father Chrysostomos

@p5pRT
Copy link
Author

p5pRT commented Apr 20, 2012

@cpansprout - Status changed from 'open' 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