[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Memory leak on reload when the 'Pg' driver is preloaded

Hash: SHA1

> OK, it gets weirder.  The following script produces the leak.  If I
> comment out the install_driver line, I get a big old segfault!  Same
> if I comment out the Apache::DBI line in addition.  This works with
> plain apache, or apache-ssl.
> #!/usr/bin/perl
> use strict;
> use Apache::Status ();
> use Apache::DBI ();
> DBI->install_driver('Pg');
> 1; #return true value

I looked into it with the following setup:
apache 1.3.26-0woody1
libapache-mod-perl 1.27-2 
postgresql 7.2.1-2woody2

There was a Test.pm module handling all requests for /. It opened a 
connection to the database and fetched a couple of rows.

With DBI->install_driver('Pg'), the Apache processes stayed at 8.4 MB. I 
bombarded the Apache with ApacheBench and multiple SIGUSR1 but I found 
no memory leaks. The process sizes did not change.

> If I comment it all out including the Apache::Status line, I get
> neither the segfault or the leak.  (Well, small leak, a few bytes).

Without the install_driver() in place, everything worked as well. The 
Apache processes stayed at near 6 MB. No segfaults. No problems.

> So the install_driver masks a bigger problem with Apache::Status?
> That's just too weird.  But true, I swear.
> Is there anyone else out there with Debian stable w/
> apache+libapache-mod-perl who can try to reproduce this simple case?
> I'd really like either a confirmation or a counterexample.  If the
> latter, I'd chalk it up to a weirdness on my system (and probably not
> even pursue it, since I've moved on to the static version).  I'm
> pursuing it this far so Dan J. might get some useful feedback.

I'm pretty tired at the moment, so there might have been something I 
mislooked. I'll give it another look tomorrow. At work, where I don't 
have any distractions :)

It's pretty odd, in my view, that the Apache processes which did not 
preload the Pg driver were smaller.

Keith, could you post results to modperl list if people at debian-isp 
come to a different (or to the same) solution. I'm not subscribed to 
the list.
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see http://www.gnupg.org


Reply to: