Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Interpreter eval counter out of bounds

by sundialsvc4 (Abbot)
on Jan 28, 2011 at 14:05 UTC ( [id://884818]=note: print w/replies, xml ) Need Help??


in reply to Interpreter eval counter out of bounds

Yes, “look in the mirror.”   (No offense intended.)   There must be a flaw bug in this code.   It rather looks to me like the code is somehow trying to eval a string that consists of an integer value.

I think you need to pore through some of those existing logfiles, e.g. with grep, because I suspect that you will find millions of occurrences of this whatever-it-is error.   And such an error could turn out to be quite serious, because I doubt that you would have intended to be evaluating an integer ... which leads to the question, “how did it get such a thing?” ... which of course also leads to, “what else is wrong?”

  • Comment on Re: Interpreter eval counter out of bounds

Replies are listed 'Best First'.
Re^2: Interpreter eval counter out of bounds (perl bugs)
by tye (Sage) on Jan 28, 2011 at 15:05 UTC

    Actually, there are likely bugs in Perl. Using mod_perl results in instances of the Perl interpreter running for quite a long time doing quite a variety of things. This can shake out bugs that are hard to reproduce.

    When running mod_perl, I've seen particular instances of the Perl interpreter get into states where regex matching just doesn't work quite right any longer, to pick one example.

    I'm not terribly surprised that after 1e9 string evals, you often collect enough entropy that things that should work rather mysteriously no longer work.

    The solution of restarting is pretty much a best practice:

    exec( $^X, $0, @ARGV ); die "Can't exec self: $!\n";

    I'd also question why one has a need to do 1e9 string evals. This concern is increased by the statement "evals that previously worked all of a sudden fail" which seems to indicate that the evals are being given the same strings over and over.

    Running string eval on the same string more than once makes me suspect that perhaps block eval should have been used instead. Or perhaps string eval should be used to make a sub that can be called over and over. But it can be little more than speculation, of course.

    Update: And I doubt that the eval count being close to 1e9 is significant. You could make a tiny, stand-alone demonstration that just does string evals and see when it falls over. If the count were close to ~0 or ~0/2 or even if it had just passed 1e9-1, then I could see how it might be a limit.

    - tye        

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://884818]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others studying the Monastery: (4)
As of 2024-04-19 04:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found