pg_stat_activity crashes - Mailing list pgsql-hackers

From Petr Jelinek
Subject pg_stat_activity crashes
Date
Msg-id 571780A8.4070902@2ndquadrant.com
Whole thread Raw
Responses Re: pg_stat_activity crashes  (Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>)
List pgsql-hackers
Hi,

I noticed sporadic segfaults when selecting from pg_stat_activity on
current HEAD.

The culprit is the 53be0b1add7064ca5db3cd884302dfc3268d884e commit which
added more wait info into the pg_stat_get_activity(). More specifically,
the following code is broken:

+                       proc = BackendPidGetProc(beentry->st_procpid);
+                       wait_event_type =
pgstat_get_wait_event_type(proc->wait_event_info);

This needs to check if proc is NULL. When reading the code I noticed
that the new functions pg_stat_get_backend_wait_event_type() and
pg_stat_get_backend_wait_event() suffer from the same problem.

Here is PoC patch which fixes the problem. I am wondering if we should
raise warning in the pg_stat_get_backend_wait_event_type() and
pg_stat_get_backend_wait_event() like the pg_signal_backend() does when
proc is NULL instead of just returning NULL which is what this patch
does though.

--
   Petr Jelinek                  http://www.2ndQuadrant.com/
   PostgreSQL Development, 24x7 Support, Training & Services

Attachment

pgsql-hackers by date:

Previous
From: Amit Langote
Date:
Subject: Re: Declarative partitioning
Next
From: Tom Lane
Date:
Subject: Re: Proposal: Remove regress-python3-mangle.mk