Re: Review patches regarding memory leaks in pgadmin fat client

From: Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>, Sanket Mehta <sanket(dot)mehta(at)enterprisedb(dot)com>, pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: Review patches regarding memory leaks in pgadmin fat client
Date: 2015-01-06 09:23:10
Message-ID: CAG7mmoyuFujZyA8shYS9ZHPrhtvDK-NiZ+k_Khs9OC-Xx7T0JQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Checked-in.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
<http://www.enterprisedb.com>

*http://www.linkedin.com/in/asheshvashi*
<http://www.linkedin.com/in/asheshvashi>

On Mon, Jan 5, 2015 at 3:52 PM, Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>
wrote:

> Sure.
> I will do.
>
> --
>
> Thanks & Regards,
>
> Ashesh Vashi
> EnterpriseDB INDIA: Enterprise PostgreSQL Company
> <http://www.enterprisedb.com>
>
>
> *http://www.linkedin.com/in/asheshvashi*
> <http://www.linkedin.com/in/asheshvashi>
>
> On Mon, Jan 5, 2015 at 3:51 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>
>> Thanks Akshay - Ashesh, please commit.
>>
>> On Mon, Jan 5, 2015 at 10:19 AM, Akshay Joshi <
>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>
>>> Hi Sanket
>>>
>>> Patch looks good to me. Please remove the comment "//GQB-TODO: delete
>>> restrictions" from gqbModel.cpp as you have already deleted
>>> the restrictions object.
>>>
>>> On Mon, Jan 5, 2015 at 3:29 PM, Akshay Joshi <
>>> akshay(dot)joshi(at)enterprisedb(dot)com> wrote:
>>>
>>>> Sorry Dave,
>>>>
>>>> I think I missed this email, I have reviewed the first patch. Will do
>>>> it right now.
>>>>
>>>> On Mon, Jan 5, 2015 at 3:19 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>>>>
>>>>> Akshay, did you get a chance to review this?
>>>>>
>>>>> On Wed, Dec 24, 2014 at 2:38 PM, Sanket Mehta
>>>>> <sanket(dot)mehta(at)enterprisedb(dot)com> wrote:
>>>>> > Hi Akshay,
>>>>> >
>>>>> > PFA the patch for memory leaks found in pgadmin desktop client.
>>>>> >
>>>>> > Below are the files modified and scenario in which this memory leak
>>>>> will
>>>>> > occur.
>>>>> >
>>>>> > 1.pgadmin/frm/frmQuery.cpp:
>>>>> > 2.pgadmin/gqb/gqbModel.cpp:
>>>>> > 3.pgadmin/gqb/gqbView.cpp
>>>>> > Scenario:
>>>>> > After closing the graphic query builder dialog, memory leak occurred.
>>>>> >
>>>>> > 4.pgadmin/ogl/canvas.cpp:
>>>>> > Scenario:
>>>>> >
>>>>> > This memory leak was found in OGL module as m_shapeDiagram was not
>>>>> being
>>>>> > deleted in destructor of canvas class.
>>>>> >
>>>>> > Please review this patch and let me know in case anything is missing.
>>>>> >
>>>>> >
>>>>> > Regards,
>>>>> > Sanket Mehta
>>>>> > Sr Software engineer
>>>>> > Enterprisedb
>>>>> >
>>>>> > On Thu, Dec 18, 2014 at 7:02 PM, Sanket Mehta
>>>>> > <sanket(dot)mehta(at)enterprisedb(dot)com> wrote:
>>>>> >>
>>>>> >> Hi Akshay,
>>>>> >>
>>>>> >> PFA the patch to resolve memory leaks in pgadmin desktop client.
>>>>> >>
>>>>> >> Below are the files modified and scenario in which this memory leak
>>>>> will
>>>>> >> occur.
>>>>> >>
>>>>> >> 1. pgadmin/dlg/dlgProperty.cpp:
>>>>> >> scenario 1:
>>>>> >> In table property dialog, memory leak occurs while filling the
>>>>> owner's
>>>>> >> combo box in properties tab as in dlgProperty::FillComboBox()
>>>>> function set
>>>>> >> was not being deleted.
>>>>> >>
>>>>> >>
>>>>> >> scenario 2:
>>>>> >> in Database property window, memory leak occurred while filling
>>>>> owner's
>>>>> >> combo box in properties tab as in
>>>>> dlgDefaultSecurityProperty::AddUsers()
>>>>> >> function set was not being deleted.
>>>>> >>
>>>>> >> 2. pgadmin/dlg/dlgSelectDatabase.cpp:
>>>>> >> scenario 1:
>>>>> >> in step dialog, while selecting database output string using
>>>>> selection
>>>>> >> button, memory leak occurred as in dlgSelectDatabase::Initialize()
>>>>> function
>>>>> >> pgSet* res was not being deleted.
>>>>> >>
>>>>> >> scenario 2:
>>>>> >> in step dialog, while selecting the database output string using
>>>>> selection
>>>>> >> button, when trying to connect to any database, memory leak
>>>>> occurred as in
>>>>> >> dlgSelectDatabase::OnSelActivate() function pgSet* res was not being
>>>>> >> deleted.
>>>>> >>
>>>>> >> 3. pgadmin/frm/frmEditGrid.cpp:
>>>>> >> scenario:
>>>>> >> While opening table data in grid view, memory leak occurred in
>>>>> sqlTable
>>>>> >> constructor as allColsSet was not being deleted
>>>>> >>
>>>>> >> 4.pgadmin/utils/registry.cpp:
>>>>> >> scenario:
>>>>> >> while reading the registery at the start of the client, pBuf buffer
>>>>> was
>>>>> >> not being deleted after reading the registry value inside
>>>>> >> pgRegKey::QueryValue() function.
>>>>> >>
>>>>> >> 5.pgadmin/utils/sysSettings.cpp:
>>>>> >> scenario:
>>>>> >> wxFileConfig* defaultSetting was not being deleted at the time of
>>>>> closing
>>>>> >> pgadmin.
>>>>> >>
>>>>> >> 6.pgadmin/schema/pgTypes.cpp:
>>>>> >> Scenario:
>>>>> >> while expanding type node of composite type in object browser,
>>>>> memory leak
>>>>> >> occurred because pgSet* set was not deleted in
>>>>> pgType::ShowTreeDetails()
>>>>> >> function.
>>>>> >>
>>>>> >> 7.pgadmin/schema/pgTrigger.cpp:
>>>>> >> scenario:
>>>>> >> while expanding trigger node in object browser, memory leak occurred
>>>>> >> because pgSet* res was not deleted in pgTrigger::ReadColumnDetails()
>>>>> >> function.
>>>>> >>
>>>>> >> 8. pgadmin/schema/pgIndex.cpp:
>>>>> >> scenario:
>>>>> >> while expanding Index node in object browser, memory leak occurred
>>>>> because
>>>>> >> pgSet* res was not deleted in pgIndexBase::ReadColumnDetails()
>>>>> function.
>>>>> >>
>>>>> >> 9.pgadmin/schema/pgAggregate.cpp:
>>>>> >> Scenario:
>>>>> >> While creating new aggregate function memory leak occurred because
>>>>> pgSet*
>>>>> >> types was not deleted in pgAggregateFactory::CreateObjects()
>>>>> function.
>>>>> >>
>>>>> >> 10.pgadmin/debugger/debugger.cpp:
>>>>> >> scenario 1:
>>>>> >> while starting to debug a sql function in pgadmin, memory leak
>>>>> occurred
>>>>> >> because in debuggerFactory::startDialog() function pgSet* res was
>>>>> not
>>>>> >> deleted before any return statement
>>>>> >>
>>>>> >> scenario 2:
>>>>> >> While setting a break point in a sql function in pgadmin, memory
>>>>> leak
>>>>> >> occurred because in breakpointFactory::startDialog() function
>>>>> pgSet* res was
>>>>> >> not deleted before any return statement
>>>>> >>
>>>>> >> 11.pgadmin/schema/gpExtTable.cpp:
>>>>> >> Scenario:
>>>>> >> At the time of getting the sql while creating/modifying/deleting the
>>>>> >> greenplum external Table memory leak occurred in function
>>>>> >> gpExtTable::GetSql() as pgSet* extTable was not being deleted
>>>>> before return
>>>>> >> statement.
>>>>> >>
>>>>> >> 12.pgadmin/dd/ddmodel/ddDbReverseEngineering.cpp
>>>>> >> Scenario 1:
>>>>> >> While reverse engineering wizard is open, memory was occurred when
>>>>> moving
>>>>> >> from select table page as in function ddImportDBUtils::getTable()
>>>>> pgSet*
>>>>> >> inhtables was not deleted.and another memory leak was there as in
>>>>> functions
>>>>> >> ddImportDBUtils::getAllRelationships() and
>>>>> >> ddImportDBUtils::isModelSameDbFk() pgSet* foreignKeys was not
>>>>> deleted
>>>>> >> before return statement.
>>>>> >>
>>>>> >> Please review it and let me know if anything is missing.
>>>>> >> I will also send further patches in case i find more memory leaks.
>>>>> >>
>>>>> >> Regards,
>>>>> >> Sanket Mehta
>>>>> >> Sr Software engineer
>>>>> >> Enterprisedb
>>>>> >
>>>>> >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > Sent via pgadmin-hackers mailing list (
>>>>> pgadmin-hackers(at)postgresql(dot)org)
>>>>> > To make changes to your subscription:
>>>>> > http://www.postgresql.org/mailpref/pgadmin-hackers
>>>>> >
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Dave Page
>>>>> Blog: http://pgsnake.blogspot.com
>>>>> Twitter: @pgsnake
>>>>>
>>>>> EnterpriseDB UK: http://www.enterprisedb.com
>>>>> The Enterprise PostgreSQL Company
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> *Akshay Joshi*
>>>> *Principal Software Engineer *
>>>>
>>>>
>>>>
>>>> *Phone: +91 20-3058-9517 <%2B91%2020-3058-9517>Mobile: +91 976-788-8246*
>>>>
>>>
>>>
>>>
>>> --
>>> *Akshay Joshi*
>>> *Principal Software Engineer *
>>>
>>>
>>>
>>> *Phone: +91 20-3058-9517 <%2B91%2020-3058-9517>Mobile: +91 976-788-8246*
>>>
>>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>
>

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2015-01-06 09:23:59 Re: Review patches regarding memory leaks in pgadmin fat client
Previous Message Ashesh Vashi 2015-01-06 09:22:41 pgAdmin III commit: Fix various memory leaks in following files: