public inbox for [email protected]  
help / color / mirror / Atom feed
From: Matheus Alcantara <[email protected]>
To: Tom Lane <[email protected]>
Cc: [email protected]
Cc: [email protected]
Subject: Re: BUG #19480: PL/Python SRF crashes (SIGSEGV) when function is replaced mid-iteration: use-after-free in PLy_funct
Date: Mon, 22 Jun 2026 07:18:46 -0300
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>
	<[email protected]>

On Sun Jun 21, 2026 at 4:40 PM -03, Tom Lane wrote:
> "Matheus Alcantara" <[email protected]> writes:
>> Thanks for the review! I've tried to address all your points in the
>> attached v2.
>
> Pushed after a round of review.  I made some mostly-cosmetic changes,
> such as rewriting comments (consolidating some stuff I thought was
> duplicative).  The main thing I fixed that was an actual bug was
> you were careless about lifespan of variables around PG_TRY blocks.
> The rule of thumb is that if a variable is modified inside PG_TRY
> and then used after that block (including in the PG_CATCH) then it
> has to be marked volatile.  Where possible, I avoid using the
> volatile marking by assigning the variable's value before PG_TRY.
>

Noted, thanks for the call.

>> I've also added a regression test, not sure if there is a better way to
>> exercise this fix but this test crash without this patch applied.
>
> Kind of a hokey test, since it doesn't model the likely actual case
> where the CREATE happens in another session, but this is as close as
> we'll get without a much more complex test setup.  I kept it, and
> also added another test that exercises the early-termination path,
> since code coverage showed me that ShutdownPLyFunction() wasn't being
> reached.
>

Thank you for reviewing and committing the patch!

--
Matheus Alcantara
EDB: https://www.enterprisedb.com






view thread (17+ messages)

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]
  Subject: Re: BUG #19480: PL/Python SRF crashes (SIGSEGV) when function is replaced mid-iteration: use-after-free in PLy_funct
  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