Re: 100 levels deep in subroutine calls!



On 6/19/07, Ron Savage <ron@xxxxxxxxxxxxx> wrote:
Hi Peter

> 100 levels deep in subroutine calls!
>
> Is this strictly a Perl debug error message or is this a generic Perl
> error message? Is there a way around this limitation? I saw something
> while searching on the Internet about setting the $DB::deep to a higher
> number.

You can easily test this with a little program which does not use DBI.
Hence, it's not a DBI, nor a debug, specific problem.

I think you'd best assume it's a bug in your code :-).

Um, maybe not:

DB<6> sub deep { print caller() }

DB<7>deep
main(eval 14)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2

DB<8> sub deep { print caller() ; deep()}

DB<9> deep();
main(eval 16)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main(eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]2main::deep((eval
15)[/opt/perl/lib/5.6.1/perl5db.pl:1521]:2):
2: sub deep { print caller() ; deep()};
100 levels deep in subroutine calls!
DB<<10>>

Furthermore:
perl -e '$i=0; sub deep { print caller(), $i++, "\n" ; deep()};deep()'

continues ad nauswam. Stopped it about 10 seconds in when it got to

main-e1416483

So, the 100 levels is probably a debugger artifact.

FYI:
perl -v

This is perl, v5.6.1 built for sun4-solaris

--
Ron Savage
ron@xxxxxxxxxxxxx




--
Matthew O. Persico
.



Relevant Pages

  • Re: problems with Perl RegEx match
    ... Missing right bracket at ./LogPreProcessor_Inetprod.pl line 64, ... Perl didn't encounter it. ... when I used the following search term in google to look ... considering it's an error message from an older Perl - in newer Perls, ...
    (comp.lang.perl.misc)
  • Re: About the error message in Perl : "Missing right curly braces"
    ... Subject: About the error message in Perl: "Missing right curly ... SKY and the SKY marks are trade marks of ... track which line contains that curly brace which is causing that problem, ...
    (perl.beginners)
  • RE: lc
    ... > and I got an error message that said I couldn't use lc ... Then I checked my copy of Learning Perl and the index ... that Perl didn't have a lowercase function. ... Mail SpamGuard - Read only the mail you want. ...
    (perl.beginners)
  • Re: "Did not find leading dereferencer" - new findings to an old puzzle
    ... to do with the "Dereferencer" error, because on the first example I ... I got that error message in the context of Perl standard ... this would not explain why the error message ... source code. ...
    (comp.lang.perl.misc)
  • Re: Use of uninitialized value in concatenation (.) at register.pl line 38, <STDIN> line 10.
    ... > I have written a perl script to retrieve information from a HTML Form ... Here's your warning message (note that it is not an error message): ... Clearly, $useridname is undefined. ... documentation, you'll see that this happens when there is no "UserID" ...
    (comp.lang.perl)