perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Hirt <>
Subject Callback called exit.
Date Thu, 06 May 2004 02:11:56 GMT
I've been running across a problem lately where a child process  
terminates because of an out of memory error.   It prints Out of Memory  
once, the the process sucks up all available cpu print "Callback called  
exit." to the log file until it hit's it's 2GB max size.

I have some Apache::Resource limits set, and they probably need to be  
raised, but the way the error is handled is not very graceful.  I'd  
expect the child to just terminate after reporting the first error  
message.   I'm not sure if this is a perl problem or a mod_perl  
problem.   I'd still like to figure out how to prevent the repeating  
message from happening.

Anyway, I've been pulling my hair out trying to prevent this, and I've  
finally figured out how to trap this.   I have some suggestions for the  
documentation, because the following url could use some help: 

=> "Note that Perl 5.005 and later have PERL_EMERGENCY_SBRK turned on  
by default."

This is only true if perl was built to use it's own malloc.   However,  
"usemymalloc=y" is not the default for many systems because they assume  
the OS version is probably a better implementation (which could be  
true).  However, when perl's internal malloc is used, none of the  
suggestions for solving the out of memory problem or repeated Callback  
called exit messages work.

=> "See Perl's INSTALL document for this item:"

This might have been true at one point.   Newer versions of perl 5.6  
and 5.8 have no reference to this option in the INSTALL document

=>  "=item -DPERL_EMERGENCY_SBRK ..... "

a better quotation would be from perlvar.pod which states the crux of  
the matter: " ..... Suppose that your Perl were compiled with  
-DPERL_EMERGENCY_SBRK and used Perl's malloc ..."

Report problems:
Mail list info:
List etiquette:

View raw message