Re: NULL pointer dereference in syslogger with load_libraries() and -DEXEC_BACKEND at startup - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: NULL pointer dereference in syslogger with load_libraries() and -DEXEC_BACKEND at startup
Date
Msg-id ahV9KzLOqvOw78C3@alvherre.pgsql
Whole thread
Responses Re: NULL pointer dereference in syslogger with load_libraries() and -DEXEC_BACKEND at startup
List pgsql-hackers
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)

Attachment

pgsql-hackers by date:

Previous
From: Jim Jones
Date:
Subject: Re: Avoid leaking system path from pg_available_extensions
Next
From: Shruthi Gowda
Date:
Subject: Re: [BUG] CRASH: ECPGprepared_statement() and ECPGdeallocate_all() when connection is NULL