From: | Peter Kroon <plakroon(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: conn = PQconnectdb(conninfo); |
Date: | 2015-07-29 14:51:30 |
Message-ID: | CAOh+DO=LFWcUK1kjUc6KPBeJ3Kxm6v4zto+aeTQ3fC6KE=hxXw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I've found perhaps a bug.
I've narrowed down my code and the problem is indeed at: conn =
PQconnectdb(conninfo);
My connection string: host=192.168.178.12 dbname=DATABASE user=foo
password=bar
When I remove key/value host=xxx then everything is OK. Valgrind mentions:
no leaks are possible.
When key/value host=xxx is added, not everything is freed and there are
tons of bytes still reachable.
==9195==
==9195== HEAP SUMMARY:
==9195== in use at exit: 450,080 bytes in 2,829 blocks
==9195== total heap usage: 9,476 allocs, 6,647 frees, 7,810,733 bytes
allocated
==9195==
==9195== LEAK SUMMARY:
==9195== definitely lost: 0 bytes in 0 blocks
==9195== indirectly lost: 0 bytes in 0 blocks
==9195== possibly lost: 0 bytes in 0 blocks
==9195== still reachable: 450,080 bytes in 2,829 blocks
==9195== suppressed: 0 bytes in 0 blocks
==9195== Rerun with --leak-check=full to see details of leaked memory
==9195==
==9195== For counts of detected and suppressed errors, rerun with: -v
==9195== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 14 from 6)
The network address is the machine's address where I was testing on. So I
could also have used localhost or 127.0.0.1 but this gave me the same
result when using the network address.
Played with hostaddr as well and gave me the same result.
http://www.postgresql.org/docs/9.4/static/libpq-connect.html#LIBPQ-PQCONNECTDB
http://www.postgresql.org/docs/9.4/static/libpq-connect.html#LIBPQ-PARAMKEYWORDS
"PostgreSQL 9.4.4 on x86_64-unknown-linux-gnu, compiled by gcc (Debian
4.7.2-5) 4.7.2, 64-bit"
The attachment is the program I've used for testing.
2015-07-18 0:15 GMT+02:00 Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:
> Peter Kroon <plakroon(at)gmail(dot)com> writes:
> > Every now and then my program will abort.
> > IAnd this is because: conn = PQconnectdb(conninfo);
> > The error given:
> > *** Error in `./server_prog': malloc(): smallbin double linked list
> > corrupted: 0x092c10a0 ***
>
> This looks like malloc() complaining because something has corrupted its
> bookkeeping data, which generally means that something previously wrote
> past the end of a malloc'd data chunk, or tried to write into an
> already-freed chunk. The odds are very high that the bug is in your
> program rather than libpq, though, because no such problems have been
> found within libpq recently.
>
> valgrind is a fairly useful tool for tracking down such issues.
>
> regards, tom lane
>
Attachment | Content-Type | Size |
---|---|---|
_pg_test_debug.c | text/x-csrc | 1.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Ramesh T | 2015-07-29 16:33:56 | instr detail |
Previous Message | Heikki Linnakangas | 2015-07-29 10:42:41 | Re: Lots of stuck queries after upgrade to 9.4 |