Fix assertion failure with latch wait in single-user mode
Michael Paquier <michael@paquier.xyz>
Fix assertion failure with latch wait in single-user mode LatchWaitSetPostmasterDeathPos, the latch event position for the postmaster death event, is initialized under IsUnderPostmaster. WaitLatch() considered it as a valid wait target in single-user mode (!IsUnderPostmaster), which was incorrect. One code path found to fail with an assertion failure is a database drop in single-user mode while waiting in WaitForProcSignalBarrier() after the drop. Oversight in commit 84e5b2f07a5e. Author: Patrick Stählin <me@packi.ch> Co-authored-by: Ronan Dunklau <ronan.dunklau@aiven.io> Discussion: https://postgr.es/m/18996-3a2744c8140488de@postgresql.org Backpatch-through: 18
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/storage/ipc/latch.c | modified | +5 −3 |
Discussion
- BUG #18996: Assertion fails in waiteventset.c when dropping database in single mode in PG18 3 messages · 2025-07-24 → 2025-07-25