Re: Review patches regarding memory leaks in pgadmin fat client

From: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: 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-05 10:19:03
Message-ID: CANxoLDdwSo8kFmzuCrX1X_cK68Mbx0BxPMrqwhCwZsEF+_oSHA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

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-9517Mobile: +91 976-788-8246*
>

--
*Akshay Joshi*
*Principal Software Engineer *

*Phone: +91 20-3058-9517Mobile: +91 976-788-8246*

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2015-01-05 10:21:45 Re: Review patches regarding memory leaks in pgadmin fat client
Previous Message Akshay Joshi 2015-01-05 09:59:45 Re: Review patches regarding memory leaks in pgadmin fat client