Re: Problem with Memory Leak - Mailing list pgsql-general

From Pete Kay
Subject Re: Problem with Memory Leak
Date
Msg-id 7aa8bd9d1003252056m7cf7be5fi1cb23fef9ab9acc9@mail.gmail.com
Whole thread Raw
In response to Re: Problem with Memory Leak  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Problem with Memory Leak  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Hi,
I am setting up a connection pooling obj to pool a bunch of
PGConnection object.  That is why I am not closing the PGConn object
when the query is done.

Is that the right way to do it?

thanks,
Pete

On Fri, Mar 26, 2010 at 10:54 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Pete Kay <petedao@gmail.com> writes:
>> I am having memory leaking problem and here is the result shown from valgrind:
>
>> ==1706== 1,270 bytes in 5 blocks are still reachable in loss record 353 of 426
>> ==1706==    at 0x4C20809: malloc (vg_replace_malloc.c:149)
>> ==1706==    by 0x5D3F431: strdup (in /lib64/libc-2.5.so)
>> ==1706==    by 0x109484E0: PQsendQuery (in /usr/lib64/libpq.so.5.2)
>
> Well, if that trace is to be believed, it must be talking about
> conn->last_query.  Which will be freed when the connection is closed
> (ie PQfinish).   It looks to me like you might need to pay more
> attention to closing things when you're done with them.  The logic
> you quoted seems pretty full of holes: it's freeing the argument "sql"
> in only some code paths, it leaves connection_node->conn as a dangling
> non-null pointer in the bad-PQstatus path, it leaks non-last PGresults;
> and you haven't even shown us where the connection is supposed to get
> cleaned up in non-failure cases.
>
>                        regards, tom lane
>

pgsql-general by date:

Previous
From: Scott Marlowe
Date:
Subject: Re: How many Mandatory Process are there in Postgres
Next
From: Yogi Yang 007
Date:
Subject: Re: How to retrieve List of Tables in a Database using...