perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Vanasco <modperl-l...@2xlp.com>
Subject Re: Dumping / Profiling Memory ?
Date Wed, 16 Aug 2006 07:51:20 GMT

On Aug 15, 2006, at 4:28 PM, Perrin Harkins wrote:
> If that happens even when you just send the same request every time to
> the same process, there's something extra going on, like a variable  
> not
> going out of scope or being added to each time.

It took me 4 hours to track this down, I finally did.

Can someone confirm if there is a memory leak in Apache Session ?


	my 	%session;
	my 	$store= $self->ApacheSessionStore ;
	my 	$options= $self->ApacheSessionOptions->{ $store };
			DEBUG && print STDERR "\nTying? Apache::Session::Postgres -  
$sessionID";
			eval{
				if ( $options->{'Handle'} ) {
					tie %session , 'Apache::Session::Postgres', $sessionID, {
						'Handle'=> $options->{'Handle'} ,
						'Commit'=> $options->{'Commit'} ,
					};
				}
				else {
					tie %session , 'Apache::Session::Postgres', $sessionID, $options ;
				}
			} ;
			if ( $@ ) {
				$error= 1;
				$sessionID= undef;
			}

In my example $options comes from a constant in a child class of the  
method's class -- but i've tried converting it to a hash (walking it)  
and creating a new hash by hand-- neither has leak in memory from  
reading it.

No matter what $options is (tested on pg / mysql ) -- i've tried $, \ 
% , { k=> v }

unless i die by passing in bad data, i seem to get a 4k/request loss -

the loss happens directly after the tie.

Mime
View raw message