Subject: | Bottomless Recursion and Out of Memory |
Dear Scott Penrose,
Hi. This is imacat from Taiwan. I found that your
Attribute-Persistent-1.1 gets into bottomless deep recursion when
loaded, which eats up all the memory and dies. I tried to investigate
further. I tried to investigate further. It seems that, in the package
UNIVERSAL or your Persistent.pm, the "use AnyDBM_File;" get itself into
this trouble.
The terminal log is attached below. Hope that this helps. Please
tell me if you need any more information, or if I could be of any help.
Thank you.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
11148 imacat 25 0 1481m 1.4g 1736 R 100 70.9 0:06.71 perl
imacat@rinse tmp/Attribute-Persistent-1.1 % 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/Attribute-Persistent-1.1 % make test
t/01_setup........Use of uninitialized value in concatenation (.) or
string at
/home/imacat/.cpan/build/Attribute-Handlers-Prospective-0.01-cE1ebV/blib/lib/Attribute/Handlers/Prospective.pm
line 204.
Deep recursion on subroutine "DB_File::AUTOLOAD" at
/usr/lib/perl5/5.8.8/x86_64-linux-thread-multi-ld/DB_File.pm line 235.
make: *** wait: No child processes. Stop.
make: *** Waiting for unfinished jobs....
make: *** wait: No child processes. Stop.
imacat@rinse tmp/Attribute-Persistent-1.1 % perl -Iblib/lib -Iblib/arch
t/01_setup.t
1..2
Deep recursion on subroutine "DB_File::AUTOLOAD" at
/usr/lib/perl5/5.8.8/x86_64-linux-thread-multi-ld/DB_File.pm line 235.
imacat@rinse tmp/Attribute-Persistent-1.1 % perl -e'print "OK\n";'
OK
imacat@rinse tmp/Attribute-Persistent-1.1 % perl -Iblib/lib -Iblib/arch
-mAttribute::Persistent -e'print "OK\n";'
Deep recursion on subroutine "DB_File::AUTOLOAD" at
/usr/lib/perl5/5.8.8/x86_64-linux-thread-multi-ld/DB_File.pm line 235.
imacat@rinse tmp/Attribute-Persistent-1.1 %