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.