Re: NULL pointer dereference in syslogger with load_libraries() and -DEXEC_BACKEND at startup
Álvaro Herrera <alvherre@kurilemu.de>
From: Alvaro Herrera <alvherre@kurilemu.de>
To: Michael Paquier <michael@paquier.xyz>
Cc: Kyotaro Horiguchi <horikyota.ntt@gmail.com>, euler@eulerto.com, pgsql-hackers@lists.postgresql.org
Date: 2026-05-26T11:09:13Z
Lists: pgsql-hackers
Attachments
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. (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.) -- Álvaro Herrera PostgreSQL Developer — https://www.EnterpriseDB.com/ “Cuando no hay humildad las personas se degradan” (A. Christie)