In case anyone is interested: the memory leak I described a week ago
turns out to be a problem of the combination of HTML::Template with
Perl 5.005_03 (probably a bug in Perl 5.005_03 memory management
triggered by HTML::Template). I upgraded to Perl 5.6.1 and now not a
single byte leaks.


My original exposition of the problem:

> Hi all. I have a huge memory leak with mod_perl.
> 
> I'm using a RedHat 6.2 Linux 2.2.14 system with Perl 5.00503, Apache
> 1.3.14, and mod_perl 1.23. Both Apache and mod_perl come from RedHat's
> packages, and mod_perl runs as DSO.
> 
> My script uses CGI, DBI, Apache::DBI, and HTML::Template. No errors or
> warnings (I have 'use strict' and '-w').  Among other things, the
> script offers database search facilities on the web. If a search is
> performed which results in many (namely 400) rows being returned, then
> the httpd child that serves the request grows by 2 MB. Have a child
> serve that request ten times, and its size will grow from an initial 8
> MB to 28 MB. Another ten times and it will go to around 50 MB.
> 
> I understand that my script may be expensive in memory, but it
> should reuse the space, shouldn't it? What can I have done so wrong?
> Or do you think it could be mod_perl leaking (I've heard that it has a
> leak when DSO)?

Reply via email to