Re: BUG #16112: large, unexpected memory consumption

From: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
To: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
Cc: ben(at)lantern(dot)is, pgsql-bugs <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #16112: large, unexpected memory consumption
Date: 2019-11-13 22:53:28
Message-ID: CAMkU=1yXNf_=dFtOkp=M2kXs1RHPgUddxAv3qDfyAfOEOz=YnA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Wed, Nov 13, 2019 at 9:50 AM Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
wrote:

>
> Yeah, I can reproduce this pretty easily. It seems like a memory leak in
> ExecMakeTableFunctionResult. a9c35cf85ca reworked FunctionCallInfo to be
> variable-length, but it gets allocated in ExecutorState context directly
> and so until the end of the query.
>

I find the leak was introduced much earlier than that, in:

commit 763f2edd92095b1ca2f4476da073a28505c13820
Author: Andres Freund <andres(at)anarazel(dot)de>
Date: Thu Nov 15 14:26:14 2018 -0800

Rejigger materializing and fetching a HeapTuple from a slot.

I have no idea if this info is useful to informing the best solution,
though.

You patch applied to REL_12_STABLE does fix it for me.

> The attached trivial patch fixes that by adding a pfree() at the end of
> the function. I wonder if we have the same issue elsewhere ...
>
>
Is there an easy way to assess if the "make check" regression tests are
taking more memory than they used to?

Cheers,

Jeff

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Andres Freund 2019-11-13 23:04:07 Re: BUG #16112: large, unexpected memory consumption
Previous Message Tom Lane 2019-11-13 20:56:11 Re: Unexpected "cache lookup failed for collation 0" failure