Re: Memory growth observed with C++ application consuming libpq.dll on Windows - Mailing list pgsql-hackers

From Rajesh Kokkonda
Subject Re: Memory growth observed with C++ application consuming libpq.dll on Windows
Date
Msg-id CAM4OfG3mV7oUhHb8wLckDi=QW2o3Rgbb5KoPXP=g1QCmS12RfQ@mail.gmail.com
Whole thread Raw
In response to Re: Memory growth observed with C++ application consuming libpq.dll on Windows  (Rajesh Kokkonda <rajeshk.kokkonda@gmail.com>)
List pgsql-hackers
I attached the image from the utility showing the leaks. 

On Tue, Aug 6, 2024 at 2:03 PM Rajesh Kokkonda <rajeshk.kokkonda@gmail.com> wrote:
I ran a trial version of a memory leak detector called Deleaker on windows and found some modules that are listed as having leaks. I  ran the program on Linux under valgrind and I do not see any leaks reported there. I have attached the reported leaks on windows as windows_leaks.txt and valgrind summary report as valgrind.txt.

I am working on generating a trimmed down version of the sample program to share with you.  Let me know if you have any questions.

Thanks,
Rajesh

On Fri, Aug 2, 2024 at 10:19 PM Rajesh Kokkonda <rajeshk.kokkonda@gmail.com> wrote:
We did run our application under valgrind on Linux. We did not see any leaks. There is no platform dependent code in our application. We are seeing gradual memory growth only on windows.

That is what lead me to believe the leak may be present in postgresql. I will run under available memory tools on windows and get back to you.

I will also try to create a sample and see if I can reproduce the problem.

Thanks,
Rajesh 

On Fri, 2 Aug 2024, 21:45 Ranier Vilela, <ranier.vf@gmail.com> wrote:
Em sex., 2 de ago. de 2024 às 11:54, Rajesh Kokkonda <rajeshk.kokkonda@gmail.com> escreveu:
Okay. I will try to create one sample program and send it to you sometime next week. In the meantime, I am listing down all the methods we are consuming from libpq.

PQconnectdbParams
PQstatus
PQerrorMessage
PQpingParams
PQfinish
PQresultStatus
PQclear
PQsetSingleRowMode
PQntuples
PQnfields
PQftype
PQgetvalue
PQgetlength
PQgetisnull
PQgetCancel
PQfreeCancel
PQcancel
PQsetErrorVerbosity
PQsendPrepare
PQsendQueryPrepared
PQgetResult
PQconsumeInput
PQisBusy
PQsetnonblocking
PQflush
PQsocket
PQtransactionStatus
PQresultErrorField

It is highly likely that the memory consumption is caused by your application.
Perhaps due to the lack of freeing up the resources used by the library.
You can try using this tool, to find out the root cause.


best regards,
Ranier Vilela
Attachment

pgsql-hackers by date:

Previous
From: Rajesh Kokkonda
Date:
Subject: Re: Memory growth observed with C++ application consuming libpq.dll on Windows
Next
From: "Andrey M. Borodin"
Date:
Subject: Re: Injection points: preloading and runtime arguments