Subject: | Bottomless Recursion and Segmentation Fault in t/13ooapi.t |
Dear Ingy döt Net,
Hi. This is imacat from Taiwan. I found that, when doing "make
test" under Perl 5.8.8, your only-0.28 gets into a bottomless deep
recursion at t/13ooapi.t, which eats up all the memory and dies. If I
tries to test t/13ooapi.t alone, it dies with segmentation fault after
bottomless deep recursion.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
17695 imacat 25 0 1196m 1.1g 1800 R 98 57.9 0:24.41 perl
The terminal log is attached below. I guess this is not right.
Maybe you should take some time to look into it.
Please fix this issue. Your only-0.28 is one of the prerequisite
modules of Locale-KeyedText-v1.73.0, Rosetta-Utility-SQLParser-v0.3.0
and Rosetta-v0.724.0. If your only-0.28 does not work, these depending
modules will not work, either.
Please tell me if you need any more information, or if I could be of
any help. Thank you.
imacat@rinse tmp/only-0.28 % perl -v
This is perl, v5.8.8 built for x86_64-linux-thread-multi-ld
Copyright 1987-2006, Larry Wall
Perl may be copied only under the terms of either the Artistic License
or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
imacat@rinse tmp/only-0.28 % perl Makefile.PL
"only.pm" has special functionality that allows you to install multiple
versions of any Perl module. In order to do this, it installs the
modules in a separate directory than the rest of your modules.
You need to decide which directory the modules will be installed in.
This value will be stored in only::config so that only.pm will know
where to look in order to load special versions of a module.
The suggested place to install special versions of Perl modules is:
/usr/lib/perl5/version/5.8.8
Do you want to use the "suggested" directory (y/n)? [y]
Checking if your kit is complete...
Looks good
Writing Makefile for only
imacat@rinse tmp/only-0.28 % make
cp lib/only/config.pm blib/lib/only/config.pm
cp lib/only.pm blib/lib/only.pm
cp lib/only/install.pm blib/lib/only/install.pm
Manifying blib/man3/only.3
Manifying blib/man3/only::install.3
imacat@rinse tmp/only-0.28 % make test
t/00config...............ok
t/01install..............ok
t/02basic................Loaded _Foo::Bar, but version (v1.00) did not
satisfy the requirement:
use only _Foo::Bar => '0.50';
at t/02basic.t line 6
BEGIN failed--compilation aborted at t/02basic.t line 6.
# Looks like your test died before it could output anything.
t/02basic................ Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 1/1 subtests
t/03range................Loaded _Foo::Bar, but version (v1.00) did not
satisfy the requirement:
use only _Foo::Bar => '0.50-0.59 !0.50';
at t/03range.t line 6
BEGIN failed--compilation aborted at t/03range.t line 6.
# Looks like your test died before it could output anything.
t/03range................ Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 4/4 subtests
t/04clobber..............Loaded _Foo::Bar, but version (v1.00) did not
satisfy the requirement:
use only _Foo::Bar => '0.55';
at t/04clobber.t line 6
BEGIN failed--compilation aborted at t/04clobber.t line 6.
# Looks like your test died before it could output anything.
t/04clobber.............. Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 7/7 subtests
t/05site.................Use of uninitialized value in pattern match
(m//) at t/05site.t line 7.
t/05site.................1/4 Use of uninitialized value in pattern match
(m//) at t/05site.t line 10.
t/05site.................ok
t/06require..............Loaded _Foo::Bar, but version (v1.00) did not
satisfy the requirement:
use only _Foo::Bar => '0.60';
at t/06require.t line 6
BEGIN failed--compilation aborted at t/06require.t line 6.
# Looks like your test died before it could output anything.
t/06require.............. Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 2/2 subtests
t/07inc..................Loaded _Foo::Bar, but version (v1.00) did not
satisfy the requirement:
use only _Foo::Bar => '0.60';
at t/07inc.t line 6
BEGIN failed--compilation aborted at t/07inc.t line 6.
# Looks like your test died before it could output anything.
t/07inc.................. Dubious, test returned 255 (wstat 65280, 0xff00)
Failed 5/5 subtests
t/08use..................ok
t/09alternate............1/4
# Failed test at t/09alternate.t line 25.
# got: 'Can't locate desired version of _Boom in @INC:
# - only:_Boom:/home/imacat/tmp/only-0.28/t/alternate
# - t/site
# - t/lib
# - t
# - inc
# - /home/imacat/tmp/only-0.28/inc
# - /home/imacat/tmp/only-0.28/blib/lib
# - /home/imacat/tmp/only-0.28/blib/arch
# - /home/imacat/lib/perl5
# - /usr/lib/perl5/5.8.8/x86_64-linux-thread-multi-ld
# - /usr/lib/perl5/5.8.8
# - /usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi-ld
# - /usr/lib/perl5/site_perl/5.8.8
# - /usr/lib/perl5/site_perl
# - /usr/share/perl5
# - .
# at (eval 23) line 1
# BEGIN failed--compilation aborted at (eval 23) line 2.
# '
# expected: ''
# Failed test at t/09alternate.t line 26.
# got: undef
# expected: '0.77'
# Failed test at t/09alternate.t line 27.
# got: undef
# expected: 'Bada-Boom'
# Looks like you failed 3 tests of 4.
t/09alternate............ Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/4 subtests
t/10install_version......1/4
# Failed test at t/10install_version.t line 14.
# got: 'Can't locate desired version of _Boom in @INC:
# - only:_Boom:/home/imacat/tmp/only-0.28/t/alternate
# - t/site
# - t/lib
# - t
# - inc
# - /home/imacat/tmp/only-0.28/inc
# - /home/imacat/tmp/only-0.28/blib/lib
# - /home/imacat/tmp/only-0.28/blib/arch
# - /home/imacat/lib/perl5
# - /usr/lib/perl5/5.8.8/x86_64-linux-thread-multi-ld
# - /usr/lib/perl5/5.8.8
# - /usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi-ld
# - /usr/lib/perl5/site_perl/5.8.8
# - /usr/lib/perl5/site_perl
# - /usr/share/perl5
# - .
# at (eval 23) line 1
# BEGIN failed--compilation aborted at (eval 23) line 2.
# '
# expected: ''
# Failed test at t/10install_version.t line 15.
# got: undef
# expected: '0.77'
# Failed test at t/10install_version.t line 16.
# got: undef
# expected: 'Bada-Boom'
# Looks like you failed 3 tests of 4.
t/10install_version...... Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/4 subtests
t/11fail_msg.............ok
t/12set_versionlib.......1/3
# Failed test at t/12set_versionlib.t line 15.
# got: 'Can't locate desired version of _Boom in @INC:
# - only:_Boom:/home/imacat/tmp/only-0.28/t/alternate
# - t/site
# - t/lib
# - t
# - inc
# - /home/imacat/tmp/only-0.28/inc
# - /home/imacat/tmp/only-0.28/blib/lib
# - /home/imacat/tmp/only-0.28/blib/arch
# - /home/imacat/lib/perl5
# - /usr/lib/perl5/5.8.8/x86_64-linux-thread-multi-ld
# - /usr/lib/perl5/5.8.8
# - /usr/lib/perl5/site_perl/5.8.8/x86_64-linux-thread-multi-ld
# - /usr/lib/perl5/site_perl/5.8.8
# - /usr/lib/perl5/site_perl
# - /usr/share/perl5
# - .
# at (eval 15) line 1
# BEGIN failed--compilation aborted at (eval 15) line 2.
# '
# expected: ''
# Failed test at t/12set_versionlib.t line 16.
# got: undef
# expected: '0.77'
# Failed test at t/12set_versionlib.t line 17.
# got: undef
# expected: 'Bada-Boom'
# Looks like you failed 3 tests of 3.
t/12set_versionlib....... Dubious, test returned 3 (wstat 768, 0x300)
Failed 3/3 subtests
t/13ooapi................1/11
# Failed test at t/13ooapi.t line 20.
# got: '1.00'
# expected: '0.50'
# Failed test at t/13ooapi.t line 22.
# 't/site/_Foo/Bar.pm'
# doesn't match '(?-xism:version)'
# Failed test at t/13ooapi.t line 23.
Use of uninitialized value in pattern match (m//) at t/13ooapi.t line 24.
# Failed test at t/13ooapi.t line 24.
# undef
# doesn't match '(?-xism:version)'
Deep recursion on subroutine "only::INC" at
/usr/lib/perl5/5.8.8/AutoLoader.pm line 27.
Deep recursion on subroutine "only::search" at
/home/imacat/tmp/only-0.28/blib/lib/only.pm line 131.
Deep recursion on subroutine "only::check_version" at
/home/imacat/tmp/only-0.28/blib/lib/only.pm line 166.
Deep recursion on subroutine "AutoLoader::AUTOLOAD" at
/home/imacat/tmp/only-0.28/blib/lib/only.pm line 367.
make: *** wait: No child processes. Stop.
make: *** Waiting for unfinished jobs....
make: *** wait: No child processes. Stop.
imacat@rinse tmp/only-0.28 % perl -Iblib/lib -Iblib/arch t/13ooapi.t
1..11
ok 1
not ok 2
# Failed test at t/13ooapi.t line 20.
# got: '1.00'
# expected: '0.50'
ok 3
not ok 4
# Failed test at t/13ooapi.t line 22.
# 't/site/_Foo/Bar.pm'
# doesn't match '(?-xism:version)'
not ok 5
# Failed test at t/13ooapi.t line 23.
Use of uninitialized value in pattern match (m//) at t/13ooapi.t line 24.
not ok 6
# Failed test at t/13ooapi.t line 24.
# undef
# doesn't match '(?-xism:version)'
Deep recursion on subroutine "only::INC" at
/usr/lib/perl5/5.8.8/AutoLoader.pm line 27.
Deep recursion on subroutine "only::search" at blib/lib/only.pm line 131.
Deep recursion on subroutine "only::check_version" at blib/lib/only.pm
line 166.
Deep recursion on subroutine "AutoLoader::AUTOLOAD" at blib/lib/only.pm
line 367.
zsh: segmentation fault perl -Iblib/lib -Iblib/arch t/13ooapi.t
imacat@rinse tmp/only-0.28 %