Re: conn = PQconnectdb(conninfo);

From: Peter Kroon <plakroon(at)gmail(dot)com>
To: Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: conn = PQconnectdb(conninfo);
Date: 2015-07-31 14:17:54
Message-ID: CAOh+DOnPbhvfOaHwr9r2GxFXSCtEh7883c856Qu9Sv6+-NUdLg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi Laurenz,

I'm not using ssl at the moment.
The thing is when the reachable leak is there is just grows. It is not
constant. And at a given point the program will break.

I've ran the program with: valgrind --leak-check=full --show-reachable=yes
--log-file="_pg_test_debug.log" ./_pg_test_debug

View logfile here: http://pastebin.com/7rjBRbkD
SSL is mentioned in combination with pg objects

Your suggestion: sslmode=disable seems to have fix my issue..
Thanks!

I have to further investigate why PG is trying to use SSL when no option is
given to use it. I have a vanilla install of the db and libpq.

Best,
Peter

2015-07-31 12:05 GMT+02:00 Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at>:

> Peter Kroon wrote:
> > 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.
>
> You should run valgrind with --leak-check=full to see details.
>
> I tried your program and I get "still reachable" only when SSL is enabled;
> all the memory is in
> OpenSSL. Dou you use SSL?
>
> Without SSL (sslmode=disable) I get no "still reachable" memory.
>
> I don't know of reachable memory is a problem, I'd suspect not.
>
> Yours,
> Laurenz Albe
>

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ramesh T 2015-07-31 16:39:24 postgres 9.3
Previous Message Alex Magnum 2015-07-31 12:07:44 PLPerl Trigger to update text search