I'm having a serious problem with Apache::Resource not killing
children and ending up with all of the children in a hung state at the
memory limit (Linux 2.6, mod_perl 1.29, Apache 1.33).

Here is the snippet from httpd.conf:

PerlModule Apache::Resource
# Both of the next two lines cause children to hang at 48MB
#PerlSetEnv PERL_RLIMIT_AS 48:96
PerlChildInitHandler Apache::Resource

What happens is that the children grow until they reach 48MB, and then
they will not accept any more requests, nor will they die. Reqests
that come in and that are sent to these children usually result in the
following two lines being printed in the server log:

Out of memory!
Callback called exit.

Occasionally other errors appear also, but they have the same root
cause: No more memory can be allocated to the child that got the

Eventually all of the children end up with their memory maxed out, and
since Apache does not see a need to spawn more children (since all the
children are just sitting there idle), the server becomes totally
unresponsive with errors filling up the logs for every request.

An extensive search did not reveal anyone else who has encountered
this problem, and I have not had any luck solving it on my own. Can
anyone help?