On 1. Oct 2021, at 21.46, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> Timo Sirainen <timo@sirainen.com> writes:
>> I noticed with valgrind how libpq is leaking memory:
>> at 0x483577F: malloc (in /usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
>> by 0x5F645C8: CRYPTO_zalloc (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
>> by 0x5E94EEF: BIO_meth_new (in /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1)
>> by 0x65181EB: ??? (in /usr/lib/x86_64-linux-gnu/libpq.so.5.11)
>> by 0x651950C: ??? (in /usr/lib/x86_64-linux-gnu/libpq.so.5.11)
>> by 0x650140F: PQconnectPoll (in /usr/lib/x86_64-linux-gnu/libpq.so.5.11)
>
> I see no leak here. The struct is allocated once and kept for possible
> re-use by future connections. valgrind concurs, saying it's "still
> reachable".
Oh, right, somehow I missed it didn't allocate new memory every time. And for some reason valgrind tells me it is
"definitelylost". It would be nice if there was some PQglobalDeinit() function that could be called to free it to avoid
havingto add valgrind suppression, but I guess that's more of a feature request.