Re: Review patches regarding memory leaks in pgadmin fat client

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

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 Ashesh Vashi 2015-01-05 10:22:18 Re: Review patches regarding memory leaks in pgadmin fat client
Previous Message Akshay Joshi 2015-01-05 10:19:03 Re: Review patches regarding memory leaks in pgadmin fat client