| From: | Masahiko Sawada <msawada(at)postgresql(dot)org> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Fix crash in parallel autovacuum when no DSM segment can be crea |
| Date: | 2026-09-28 23:28:44 |
| Message-ID: | E1xBKm4-00000001fl5-2ty5@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Fix crash in parallel autovacuum when no DSM segment can be created.
If no DSM segment can be created, a ParallelContext can still be
created with zero workers, but its seg pointer is NULL. Parallel
autovacuum registered a segment detach callback on that NULL pointer,
crashing the autovacuum worker.
Fix by setting up the shared cost parameters and the detach callback
only when the parallel context has workers, as there are no workers to
propagate the parameters to otherwise.
Oversight in commit 1ff3180ca01.
Found by Bharath using AI assisted review with Claude.
Reported-by: Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>
Author: Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>
Discussion: https://postgr.es/m/CALj2ACVjBN03Fq4XWgKH1zOfkapK6-P3ufNLHUHnZcW1zPm+Mg@mail.gmail.com
Backpatch-through: 19
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/cc053b6e127763e4168f18585ca90a67600c270e
Modified Files
--------------
src/backend/commands/vacuumparallel.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Masahiko Sawada | 2026-09-28 23:28:48 | pgsql: Fix crash in parallel autovacuum when no DSM segment can be crea |
| Previous Message | Nathan Bossart | 2026-09-28 18:53:00 | pgsql: Better express platform requirements in s_lock.h. |