From: Jehan-Guillaume de Rorthais <jgdr@dalibo.com>
To: Tomas Vondra <tomas.vondra@enterprisedb.com>
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: Memory leak from ExecutorState context?
Date: Wed, 1 Mar 2023 22:45:58 +0100
Message-ID: <20230301224558.1cde4032@karst> (raw)
In-Reply-To: <8980879f-1a7a-87f0-3967-e0b8e2b3948c@enterprisedb.com>
References: <20230228190643.1e368315@karst>
<45d453c8-b2d3-b477-36eb-32fdf4455f3c@enterprisedb.com>
<20230301184840.0a897a80@karst>
<20230301190944.56ed0665@karst>
<8980879f-1a7a-87f0-3967-e0b8e2b3948c@enterprisedb.com>
On Wed, 1 Mar 2023 20:34:08 +0100
Tomas Vondra <tomas.vondra@enterprisedb.com> wrote:
> On 3/1/23 19:09, Jehan-Guillaume de Rorthais wrote:
> > On Wed, 1 Mar 2023 18:48:40 +0100
> > Jehan-Guillaume de Rorthais <jgdr@dalibo.com> wrote:
> > ...
> >> You'll find some intermediate stats I already collected in attachment:
> >>
> >> * break 1, 2 and 3 are from AllocSetAlloc, break 4 is from AllocSetFree.
> >> * most of the non-free'd chunk are allocated since the very beginning,
> >> before the 5000's allocation call for almost 1M call so far.
> >> * 3754 of them have a chunk->size of 0
> >> * it seems there's some buggy stats or data:
> >> # this one actually really comes from the gdb log
> >> 0x38a77b8: break=3 num=191 sz=4711441762604810240 (weird sz)
> >> # this one might be a bug in my script
> >> 0x2: break=2 num=945346 sz=2 (weird
> >> address)
> >> * ignoring the weird size requested during the 191st call, the total amount
> >> of non free'd memory is currently 5488MB
> >
> > I forgot one stat. I don't know if this is expected, normal or not, but 53
> > chunks has been allocated on an existing address that was not free'd before.
> >
>
> It's likely chunk was freed by repalloc() and not by pfree() directly.
> Or maybe the whole context got destroyed/reset, in which case we don't
> free individual chunks. But that's unlikely for the ExecutorState.
Well, as all breakpoints were conditional on ExecutorState, I suppose this
might be repalloc then.
Regards,
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: jgdr@dalibo.com, tomas.vondra@enterprisedb.com, pgsql-hackers@lists.postgresql.org
Subject: Re: Memory leak from ExecutorState context?
In-Reply-To: <20230301224558.1cde4032@karst>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox