Re: ExecAppendAsyncEventWait() in REL_14_STABLE can corrupt PG_exception_stack
От | Etsuro Fujita |
---|---|
Тема | Re: ExecAppendAsyncEventWait() in REL_14_STABLE can corrupt PG_exception_stack |
Дата | |
Msg-id | CAPmGK17=Asbxv5Bka3SC==yG1q+1MGV9LA6sb_DqLUG7AxbBAQ@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: ExecAppendAsyncEventWait() in REL_14_STABLE can corrupt PG_exception_stack (Michael Paquier <michael@paquier.xyz>) |
Ответы |
Re: ExecAppendAsyncEventWait() in REL_14_STABLE can corrupt PG_exception_stack
Re: ExecAppendAsyncEventWait() in REL_14_STABLE can corrupt PG_exception_stack |
Список | pgsql-hackers |
Hi, On Sat, Feb 24, 2024 at 10:06 AM Michael Paquier <michael@paquier.xyz> wrote: > On Fri, Feb 23, 2024 at 01:21:14PM +0300, Alexander Pyhalov wrote: > > Recent commit 555276f8594087ba15e0d58e38cd2186b9f39f6d introduced final > > cleanup of node->as_eventset in ExecAppendAsyncEventWait(). > > Unfortunately, now this function can return in the middle of TRY/FINALLY > > block, without restoring PG_exception_stack. > > > > We found this while working on our FDW. Unfortunately, I couldn't reproduce > > the issue with postgres_fdw, but it seems it is also affected. I think this would happen when FDWs configure no events; IIRC I think while the core allows them to do so, postgres_fdw does not do so, so this would never happen with it. Anyway, thanks for the report and patch, Alexander! > Ugh, yes, you are obviously right that the early return is wrong. > I'll look into fixing that where appropriate. Thanks for taking care of this, Michael-san! This would result originally from my fault, so If you don't mind, could you let me do that? Best regards, Etsuro Fujita
В списке pgsql-hackers по дате отправления: