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

Tatsuo Ishii ishii at sraoss.co.jp
Thu Apr 4 20:38:39 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_2_STABLE

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

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



More information about the pgpool-committers mailing list