Re: lib/libecpg.so.6.11 && valgrind - Mailing list pgsql-general

From Michael Paquier
Subject Re: lib/libecpg.so.6.11 && valgrind
Date
Msg-id 20200531022821.GB176197@paquier.xyz
Whole thread Raw
In response to lib/libecpg.so.6.11 && valgrind  (Matthias Apitz <guru@unixarea.de>)
List pgsql-general
On Fri, May 29, 2020 at 02:37:29PM +0200, Matthias Apitz wrote:
> We're getting to the finish line in the port of our servers to
> PostgreSQL 11.4. and started valgrind'ing the code, as the PostgreSQL is
> new in the servers. Of course we have our own homework to do, but there
> are also complaints of valgrind pointing to the lib/libecpg.so.6.11, for
> example:
>
> ==9773== 9 bytes in 1 blocks are still reachable in loss record 3 of 52
> ==9773==    at 0x4C2E2E3: malloc (vg_replace_malloc.c:299)
> ==9773==    by 0x1439F749: strdup (in /lib64/libc-2.26.so)
> ==9773==    by 0x146DF448: ecpg_strdup (in /usr/local/sisis-pap/pgsql/lib/libecpg.so.6.11)
> ==9773==    by 0x146E048E: ECPGconnect (in /usr/local/sisis-pap/pgsql/lib/libecpg.so.6.11)
> ==9773==    by 0xB03E846: DB_opdbP (dbcall.pgc:794)
> ==9773==    by 0xB03DFDB: DB_opdb (dbcall.pgc:556)
> ==9773==    by 0x5CC22F2: EC_General::OpenDatabase(_SQL_EXCL) (eC_general.C:121)
> ==9773==    by 0x40AEB8: SlnpInitDaemon (ACQDaemon.C:644)
> ==9773==    by 0x40A878: main (ACQDaemon.C:213)
>
> How the PostgreSQL community likes us to deal with this?

ECPGconnect() in src/interfaces/ecpg/ecpglib/connect.c is rather
careful in freeing any resource it allocates with ecpg_strdup() in the
various code paths where the call returns, particularly after calling
PQconnectdbParams(), and a quick installcheck run on a valgrind'ed
instance does not show me any leaks similar to what you have here
after testing on HEAD and REL_11_STABLE.  It is likely possible that
we are missing something though, so could you send a test case to
reproduce what you are seeing?
--
Michael

Attachment

pgsql-general by date:

Previous
From: Tim Cross
Date:
Subject: Re: Oracle vs. PostgreSQL - a comment
Next
From: Igor Polishchuk
Date:
Subject: Postgresql 9.6 -> AWS RDS Postgresql 12.2 with pg_logical