Re: [BUGS] BUG #9223: plperlu result memory leak - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: [BUGS] BUG #9223: plperlu result memory leak
Date
Msg-id 20140305192224.GR4759@eldon.alvh.no-ip.org
Whole thread Raw
In response to Re: [BUGS] BUG #9223: plperlu result memory leak  (Alex Hunsaker <badalex@gmail.com>)
Responses Re: [BUGS] BUG #9223: plperlu result memory leak
List pgsql-hackers
Alex Hunsaker escribió:
> On Tue, Feb 25, 2014 at 6:56 AM, Sergey Burladyan <eshkinkot@gmail.com> wrote:
> 
> > It looks like I found the problem, Perl use reference count and something that
> > is called "Mortal" for memory management.  As I understand it, mortal is free
> > after FREETMPS. Plperl call FREETMPS in plperl_call_perl_func() but after it,
> > plperl ask perl interpreter again for new mortal SV variables, for example, in
> > hek2cstr from plperl_sv_to_datum, and this new SV is newer freed.
> 
> So I think hek2cstr is the only place we leak (its the only place I
> can see that allocates a mortal sv without being wrapped in
> ENTER/SAVETMPS/FREETMPS/LEAVE).
> 
> Does the attached fix it for you?

Can I bug you into verifying what supported releases need this patch,
and to which does it backpatch cleanly?  And if there's any to which it
doesn't, can I further bug you into providing one that does?

Thanks,

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services



pgsql-hackers by date:

Previous
From: Sawada Masahiko
Date:
Subject: Re: The behavior of CheckRequiredParameterValues()
Next
From: Tom Lane
Date:
Subject: Re: Custom Scan APIs (Re: Custom Plan node)