Re: Is there a memory leak in commit 8561e48? - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Is there a memory leak in commit 8561e48?
Date
Msg-id 4ab2aa26-5166-1a35-b89b-c5d73bf565b9@2ndquadrant.com
Whole thread Raw
In response to Re: Is there a memory leak in commit 8561e48?  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Is there a memory leak in commit 8561e48?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On 5/1/18 11:42, Tom Lane wrote:
> Peter Eisentraut <peter.eisentraut@2ndquadrant.com> writes:
>> The memory leak can be fixed by adding a pfree().
> 
> That seems like an odd way to approach this.  Why not just remove the
> reset of _SPI_stack and _SPI_stack_depth, so as to subtract code rather
> than adding it --- that is, make it actually work like you mistakenly
> thought it did?  If we're going to keep the stack in TopMemoryContext,
> there's no need to thrash it on every transaction.

Yes, that seems attractive.

Are we concerned about the case where someone runs a very deeply nested
SPI setup once in a session, creating a large stack allocation, which
then persists for the rest of the session?

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services


pgsql-hackers by date:

Previous
From: Peter Geoghegan
Date:
Subject: Re: Sort performance cliff with small work_mem
Next
From: Alexander Korotkov
Date:
Subject: Re: doc fixes: vacuum_cleanup_index_scale_factor