[pgpool-committers: 9846] pgpool: Fix assorted causes of segmentation fault.

Tatsuo Ishii ishii at sraoss.co.jp
Thu Apr 4 20:38:34 JST 2024


Fix assorted causes of segmentation fault.

It is reported that pgpool and its child process segfault in certain
cases when failover involved.

Hhealth check has an issue with connection "slot" memory. It is
managed by HealthCheckMemoryContext. slot is the pointer to the
memory. When elog(ERROR) is raised, pgpool long jumps and resets the
memory context. Thus, slot remains as a pointer to freed memory. To
fix this, always set NULL to slot right after the
HealthCheckMemoryContext call.

Similar issue is found with streaming replication check too and is
also fixed in this commit.

Problem reported and analyzed: Emond Papegaaij
Backpatch-through: v4.3-v4.1
Discussion:
[pgpool-general: 9070] Re: Segmentation after switchover

Branch
------
V4_1_STABLE

Details
-------
https://git.postgresql.org/gitweb?p=pgpool2.git;a=commitdiff;h=cdd3b764ae749275b6e33e6d19e619f967ff3699

Modified Files
--------------
src/main/health_check.c                       | 7 ++++++-
src/streaming_replication/pool_worker_child.c | 8 +++++++-
2 files changed, 13 insertions(+), 2 deletions(-)



More information about the pgpool-committers mailing list