Re: Eliminating SPI / SQL from some RI triggers - take 3

From: Chao Li <li(dot)evan(dot)chao(at)gmail(dot)com>
To: Amit Langote <amitlangote09(at)gmail(dot)com>
Cc: Sandro Santilli <strk(at)kbt(dot)io>, Tomas Vondra <tomas(at)vondra(dot)me>, Junwang Zhao <zhjwpku(at)gmail(dot)com>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, jie wang <jugierwang(at)gmail(dot)com>
Subject: Re: Eliminating SPI / SQL from some RI triggers - take 3
Date: 2026-04-10 04:20:24
Message-ID: C0DB373C-F9E2-4204-BCAC-4256FCAA498B@gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Apr 10, 2026, at 12:14, Amit Langote <amitlangote09(at)gmail(dot)com> wrote:
>
> Hi Sandro,
>
> On Fri, Apr 10, 2026 at 1:02 AM Sandro Santilli <strk(at)kbt(dot)io> wrote:
>> On Thu, Apr 09, 2026 at 08:55:01PM +0900, Amit Langote wrote:
>>> Hi Sandro,
>>>
>>> On Thu, Apr 9, 2026 at 8:07 PM Sandro Santilli <strk(at)kbt(dot)io> wrote:
>>>> On Mon, Mar 02, 2026 at 01:34:41PM +0100, Tomas Vondra wrote:
>>>>>
>>>>> TBH I haven't noticed the memory context issue myself, I only noticed
>>>>> because the builds with index prefetch started crashing.
>>>>
>>>> We're getting a crash in PostGIS too, since that commit was merged into
>>>> the master branch, see https://trac.osgeo.org/postgis/ticket/6066
>>>>
>>>> The crash is triggered a C function using SPI.
>>>
>>> Evan Montgomery-Recht posted a report of the same issue on this thread
>>> a couple of days ago.
>>
>> I confirm the patch attached in Evan's email [1] fixes the crash for us.
>>
>> [1] https://www.postgresql.org/message-id/CAEg7pwcKf01FmDqFAf-Hzu_pYnMYScY_Otid-pe9uw3BJ6gq9g%40mail.gmail.com
>>
>>> I have posted a patch to fix the issue, which I will commit tomorrow
>>> after a bit more testing.
>>
>> I also confirm your patch v4-0001-Fix-RI-fast-path-crash-under-nested-C-level-SPI.patch
>> fixes the crash for us. Thank you !
>
> Thanks for confirming that.
>
>> Let me know when it is time to test again against master.
>
> I have just pushed 0001 which you'll find in master as 34a3078629.
>
> --
> Thanks, Amit Langote

Hi Amit, looks like you missed to fix the typo that Jie pointed out. In 34a307862930056e1976471d6d81a5e2efc148df,
```
+ bool firing_batch_callbacks; /* true when in
+ * FireAfterTriggersBatchCallbacks() */
```
The typo is still there.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2026-04-10 04:21:37 Re: Eliminating SPI / SQL from some RI triggers - take 3
Previous Message Amit Kapila 2026-04-10 04:17:40 Re: Fix slotsync worker busy loop causing repeated log messages