[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