| From: | "Euler Taveira" <euler(at)eulerto(dot)com> |
|---|---|
| To: | Álvaro Herrera <alvherre(at)kurilemu(dot)de>, "Michael Paquier" <michael(at)paquier(dot)xyz> |
| Cc: | "Kyotaro Horiguchi" <horikyota(dot)ntt(at)gmail(dot)com>, pgsql-hackers(at)lists(dot)postgresql(dot)org |
| Subject: | Re: NULL pointer dereference in syslogger with load_libraries() and -DEXEC_BACKEND at startup |
| Date: | 2026-05-26 15:39:01 |
| Message-ID: | b8ff6a67-8742-4527-b99d-ff33dd11f56c@app.fastmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
On Tue, May 26, 2026, at 8:09 AM, Alvaro Herrera wrote:
> On 2026-May-26, Michael Paquier wrote:
>
>> This issue is different, it is a Postgres logic bug, so adding an
>> exception like the one you are suggesting is just a shortcut hiding
>> the real issue: the log file is not ready yet, but the syslogger is
>> invoked at a point when it thinks the log file exists.
>
> I think we can solve this easily by flipping a new Boolean value at the
> same point were MyBackendType was previously set. The attached POC
> fixes the scenario you described; can you confirm? It needs some
> additional comments, of course.
>
It fixes the issue for me. However, I'm wondering if we can avoid adding a new
boolean for it. We already have redirection_done that guarantees the syslogger
is working properly. Couldn't we use it? (SysLogger_Start() opens the file --
logfile_open -- and a few lines below it sets the redirection_done. If we adopt
this approach, a comment should be added to avoid breaking it in the future.)
> (There is one more place in elog.c where we check that MyBackendType is
> _not_ B_LOGGER, but I think that one is correct as-is; and I'm wondering
> if that would behave correctly before 0c8e082fba8d.)
>
Yes. The redirection_done guarantees that the file is open.
PS> this patch does not allow writes to syslogger as soon as possible like your
patch but it seems acceptable to me.
--
Euler Taveira
EDB https://www.enterprisedb.com/
| Attachment | Content-Type | Size |
|---|---|---|
| 0001-syslogger-try-to-write-messages-only-after-setup.patch | text/x-patch | 1.2 KB |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2026-05-26 15:40:09 | Re: [PATCH] Fix LISTEN startup race with direct advancement |
| Previous Message | Alvaro Herrera | 2026-05-26 15:31:33 | Re: Adding REPACK [concurrently] |