From 175ff6598e014b2fe84c06fa443161294fc2eed0 Mon Sep 17 00:00:00 2001 From: Robert Haas Date: Thu, 5 Jan 2017 12:27:09 -0500 Subject: Fix possible crash reading pg_stat_activity. With the old code, a backend that read pg_stat_activity without ever having executed a parallel query might see a backend in the midst of executing one waiting on a DSA LWLock, resulting in a crash. The solution is for backends to register the tranche at startup time, not the first time a parallel query is executed. Report by Andreas Seltenreich. Patch by me, reviewed by Thomas Munro. --- src/backend/executor/execParallel.c | 1 - 1 file changed, 1 deletion(-) (limited to 'src/backend/executor') diff --git a/src/backend/executor/execParallel.c b/src/backend/executor/execParallel.c index 821f3e9a97b..86d9fb59ba6 100644 --- a/src/backend/executor/execParallel.c +++ b/src/backend/executor/execParallel.c @@ -486,7 +486,6 @@ ExecInitParallelPlan(PlanState *planstate, EState *estate, int nworkers) shm_toc_insert(pcxt->toc, PARALLEL_KEY_DSA, area_space); pei->area = dsa_create_in_place(area_space, dsa_minsize, LWTRANCHE_PARALLEL_QUERY_DSA, - "parallel_query_dsa", pcxt->seg); } -- cgit v1.2.3