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