Re: Memory leak in pg_stat_statements when qtext file contains invalid encoding - Mailing list pgsql-bugs

From Gaurav Singh
Subject Re: Memory leak in pg_stat_statements when qtext file contains invalid encoding
Date
Msg-id CAEcQ1bZu21gi3aE6UzXTnLsajsv15PfSv=28wGk9Z48rnA-njw@mail.gmail.com
Whole thread
In response to Re: Memory leak in pg_stat_statements when qtext file contains invalid encoding  (Daniel Gustafsson <daniel@yesql.se>)
List pgsql-bugs
> We could also use palloc_extended() with MCXT_ALLOC_NO_OOM to avoid erroring
> out on OOM and be able to return NULL?

Oh, it seems palloc_extended() would be a better fix.


--
Gaurav


On Fri, Mar 27, 2026 at 2:21 PM Daniel Gustafsson <daniel@yesql.se> wrote:
> On 27 Mar 2026, at 09:21, Lukas Fittl <lukas@fittl.com> wrote:

> But I think you're correct about qbuffer - because that buffer is
> using malloc (not palloc), its not part of any memory context, and so
> it will happily leak on abort.
>
> It appears our use of malloc in pg_stat_statements is so that we can
> fail on OOM and return NULL without a jump. I think that makes sense
> for when a GC cycle was triggered during regular query execution
> (since we don't want to error the original query), but it seems like
> just bubbling up the OOM if needed when querying the
> pg_stat_statements function seems fine.

We could also use palloc_extended() with MCXT_ALLOC_NO_OOM to avoid erroring
out on OOM and be able to return NULL?

--
Daniel Gustafsson

pgsql-bugs by date:

Previous
From: Daniel Gustafsson
Date:
Subject: Re: Memory leak in pg_stat_statements when qtext file contains invalid encoding
Next
From: Heikki Linnakangas
Date:
Subject: Re: Memory leak in pg_stat_statements when qtext file contains invalid encoding