]> granicus.if.org Git - postgresql/commit
Fix possible crash reading pg_stat_activity.
authorRobert Haas <rhaas@postgresql.org>
Thu, 5 Jan 2017 17:27:09 +0000 (12:27 -0500)
committerRobert Haas <rhaas@postgresql.org>
Thu, 5 Jan 2017 17:27:09 +0000 (12:27 -0500)
commit175ff6598e014b2fe84c06fa443161294fc2eed0
treedd690b09d8b6a8cce138a4c988446c5aab1254bd
parent82f8107b92c9104ec9d9465f3f6a4c6dab4c124a
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
src/backend/storage/lmgr/lwlock.c
src/backend/utils/mmgr/dsa.c
src/include/utils/dsa.h