public inbox for [email protected]  
help / color / mirror / Atom feed
From: Heikki Linnakangas <[email protected]>
To: Daniel Gustafsson <[email protected]>
Cc: Lukas Fittl <[email protected]>
Cc: Gaurav Singh <[email protected]>
Cc: [email protected]
Subject: Re: Memory leak in pg_stat_statements when qtext file contains invalid encoding
Date: Fri, 27 Mar 2026 13:13:09 +0200
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <CAEcQ1bYR9s4eQLFDjzzJHU8fj-MTbmRpW-9J-r2gsCn+HEsynw@mail.gmail.com>
	<CAP53Pky1575W1euSUwj2Zc5b0kBFZqpNuvMOGCvU_bR1tmD7zA@mail.gmail.com>
	<[email protected]>
	<[email protected]>

On 27/03/2026 11:05, Daniel Gustafsson wrote:
>> On 27 Mar 2026, at 09:59, Heikki Linnakangas <[email protected]> wrote:
> 
>> Hmm, perhaps. But there's a simpler, less invasive fix. When that code was written, we didn't have MCXT_ALLOC_HUGE nor MCXT_ALLOC_NO_OOM. Now that we do, we can just use palloc_extended(MCXT_ALLOC_HUGE | MCXT_ALLOC_NO_OOM) instead of raw malloc(). Per attached.
> 
> LGTM.

Committed, thanks!


Here's one way to reproduce the invalid encoding error without 
artificially corrupting the file:

-- Run a query with a non-latin character in it. (This needs to be run 
in UTF-8 database.)
psql postgres -c 'select g as "omega Ω col" from generate_series(1, 1) g;'

-- Create a database with latin1 encoding
psql postgres -c "create database latindb encoding 'latin1' lc_ctype='C' 
lc_collate='C' template template0"

-- check pg_stat_statements() from the latin1 database
-- This fails with encoding conversion error.
PATH=~/pgsql.fsmfork/bin/ psql latindb -c "create extension 
pg_stat_statements; select * from pg_stat_statements"

If you repeat the erroring "select * from pg_stat_statements" in latindb 
many times, you can see the memory usage grow without this fix.

- Heikki







reply

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: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: Memory leak in pg_stat_statements when qtext file contains invalid encoding
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox