Re: conn = PQconnectdb(conninfo);

Поиск
Список
Период
Сортировка
От Peter Kroon
Тема Re: conn = PQconnectdb(conninfo);
Дата
Msg-id CAOh+DO=LFWcUK1kjUc6KPBeJ3Kxm6v4zto+aeTQ3fC6KE=hxXw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: conn = PQconnectdb(conninfo);  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: conn = PQconnectdb(conninfo);  (Albe Laurenz <laurenz.albe@wien.gv.at>)
Список 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.
The attachment is the program I've used for testing.



2015-07-18 0:15 GMT+02:00 Tom Lane <tgl@sss.pgh.pa.us>:
Peter Kroon <plakroon@gmail.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

Вложения

В списке pgsql-general по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: Lots of stuck queries after upgrade to 9.4
Следующее
От: Ravi Krishna
Дата:
Сообщение: Synchronous replication and read consistency