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

Ian van der Linde ian at ivdl.co.za
Fri Mar 1 17:23:41 JST 2024


 >> In general you can use debuginfo package.

> Thank you for pointing me in the right direction - I'll install that and see what I can find. If I manage to find a specific line or function call I'll report back.

>> In the mean time,

>>> WARNING:  error while getting cache item header, invalid item id: 30

>> This may be related to a bug which was already fixed in 4.4.4 because
>> the message is from query cache module.

>> https://git.postgresql.org/gitweb/?p=pgpool2.git;a=commit;h=a091bcb4dece8b09089689a8fa775136f61e75df

>> If so, updating to 4.4.4 or higher should fix the problem.

> That's good to know, thank you - I'll get the upgrade on our roadmap and see if it happens again afterwards.

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? 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.

Thank you for your help
Ian


More information about the pgpool-general mailing list