Re: [BUGS] (Benign ?) Libpq memory leak - Mailing list pgsql-bugs

From Andres Freund
Subject Re: [BUGS] (Benign ?) Libpq memory leak
Date
Msg-id 20170212215357.ej6mhm3ajxmoiz3t@alap3.anarazel.de
Whole thread Raw
In response to [BUGS] (Benign ?) Libpq memory leak  (Michael Cress <michael.cress@cress.us>)
Responses Re: [BUGS] (Benign ?) Libpq memory leak
List pgsql-bugs
Hi,m

On 2017-02-12 21:40:11 +0000, Michael Cress wrote:
> I have noticed a memory leak in libpq. Running the following code from the context of a worker thread leaks 1024
bytes:
> 
>               const char conninfo[] = "dbname=testdb host=localhost user=testaccount password=password";
>               PGconn     *conn;
>               PGresult   *res;
>               int nFields, i, j;
> 
>               printf("Opening connection to database\n");
>               conn = PQconnectdb(conninfo);
> 
> /* PQ statements used to be here but were removed when the leak was noticed. They executed fine and did not
contributeto the leak. */
 
> 
>               printf("Closing connection to database\n");
>               PQfinish(conn);

> ==19194== HEAP SUMMARY:
> ==19194==     in use at exit: 5,324 bytes in 25 blocks
> ==19194==   total heap usage: 33,714 allocs, 33,689 frees, 5,311,760 bytes allocated
> ==19194==
> ==19194== 40 bytes in 1 blocks are definitely lost in loss record 3 of 9
> ==19194==    at 0x402E23C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
> ==19194==    by 0x7DE3E42: ???
> ==19194==    by 0x7DE4F5E: ???
> ==19194==    by 0x7DDF577: ???
> ==19194==    by 0x7DD0698: ???
> ==19194==    by 0x7DD0EAA: ???
> ==19194==    by 0x7DD184E: ???
> ==19194==    by 0x42D6C18: ???
> <Redacted application call stack specific to application>
> ==19194==
> ==19194== 984 bytes in 1 blocks are definitely lost in loss record 8 of 9
> ==19194==    at 0x402E23C: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
> ==19194==    by 0x7DE4BC3: ???
> ==19194==    by 0x7DDF557: ???
> ==19194==    by 0x7DD067E: ???
> ==19194==    by 0x7DD0EAA: ???
> ==19194==    by 0x7DD184E: ???
> ==19194==    by 0x42D6C18: ???
> <Redacted application call stack specific to application>

Without libpq call-stack it's hard to make useful comments here.  Could
you recompile with debugging symbols / install debugging symbols?


> The system environment is x86 running an up-to-date Ubuntu 16.10. The version of Postgresql installed is “9.5.5”. I
havenot performed any tests on other environments. This test was conducted against a development database containing
dataas well as a test database containing no data.
 

IIRC recent ubuntu version provide dbgsym packages in a separate
repository that you need to enable.

Greetings,

Andres Freund


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

pgsql-bugs by date:

Previous
From: Michael Cress
Date:
Subject: [BUGS] (Benign ?) Libpq memory leak
Next
From: clive@softimp.com.au
Date:
Subject: [BUGS] BUG #14542: 'readline' not found although it exists