Re: Bug in WaitForBackgroundWorkerShutdown()[REL9_5_STABLE] - Mailing list pgsql-hackers

From Yury Zhuravlev
Subject Re: Bug in WaitForBackgroundWorkerShutdown()[REL9_5_STABLE]
Date
Msg-id 8629a08e-f3e0-4caa-9478-d85a454f656c@postgrespro.ru
Whole thread Raw
In response to Re: Bug in WaitForBackgroundWorkerShutdown() [REL9_5_STABLE]  (Dmitry Ivanov <d.ivanov@postgrespro.ru>)
Responses Re: Bug in WaitForBackgroundWorkerShutdown()[REL9_5_STABLE]  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Dmitry Ivanov wrote:
>> Recently I've encountered a strange crash while calling elog(ERROR, "...")
>> after the WaitForBackgroundWorkerShutdown() function. It turns out that
>> _returns_ inside the PG_TRY()..PG_CATCH() block are *highly* undesirable,
>> since they leave PG_exception_stack pointing to a local struct in a dead
>> frame, which is an obvious UB. I've attached a patch which fixes this
>> behavior in the aforementioned function, but there might be more errors
>> like that elsewhere.
>
> Forgot some curly braces, my bad. v2 attached.
>

Good catch. But in 9.6 it has been fixed by
db0f6cad4884bd4c835156d3a720d9a79dbd63a9 commit.


--
Yury Zhuravlev
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company



pgsql-hackers by date:

Previous
From: Dmitry Ivanov
Date:
Subject: Re: Bug in WaitForBackgroundWorkerShutdown() [REL9_5_STABLE]
Next
From: Aleksander Alekseev
Date:
Subject: Re: [Patch] Temporary tables that do not bloat pg_catalog (a.k.a fast temp tables)