Re: Review patches regarding memory leaks in pgadmin fat client

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>
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:59
Message-ID: CA+OCxox70HxAO4qQTCrhDJA4itDSJs9zHFFQP5WXYB6Gwh=E-Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Thanks!

On Tue, Jan 6, 2015 at 9:23 AM, Ashesh Vashi <ashesh(dot)vashi(at)enterprisedb(dot)com>
wrote:

> 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
>>>
>>
>>
>

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2015-01-06 13:26:27 pgAdmin III commit: Correct the VC build properties to support XP and i
Previous Message Ashesh Vashi 2015-01-06 09:23:10 Re: Review patches regarding memory leaks in pgadmin fat client