[pgpool-general: 9038] Re: Very high numbers of segfaults in PgPool-II node

Tatsuo Ishii ishii at sraoss.co.jp
Fri Mar 1 21:26:30 JST 2024


> The debuginfo package worked:
> 
> addr2line -e /bin/pgpool 000000000044c686
> /usr/src/debug/pgpool-II-4.4.2-1.rhel8.x86_64/src/query_cache/pool_memqcache.c:2694
> 
> It points to the following lines in the pool_get_item_shmem_cache() function, specifically the size assignment just before the return statement:
> 
> cih = pool_cache_item_header(cacheid);
> 
> *size = cih->total_length - sizeof(POOL_CACHE_ITEM_HEADER);
> return (char *) cih + sizeof(POOL_CACHE_ITEM_HEADER);
> 
> Does that correspond well to the issue fixed in 4.4.4?

Yes, I think so.

> I can see that the commit modified pool_find_item_on_shmem_cache(), but I do not know the code base well enough to make this judgement call.

The issue was that the query cache module did not use proper locking
agaist query cache on the shared memory. As a result, random cache
data corruption happend.

Best reagards,
--
Tatsuo Ishii
SRA OSS LLC
English: http://www.sraoss.co.jp/index_en/
Japanese:http://www.sraoss.co.jp


More information about the pgpool-general mailing list