Re: PGAdmin Crashes when a column is dropped from a table (issue fix patch)

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Dhiraj Chawla <dhiraj(dot)chawla(at)enterprisedb(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: PGAdmin Crashes when a column is dropped from a table (issue fix patch)
Date: 2013-09-26 14:17:56
Message-ID: CA+OCxozpSn4CidJGh5i_5SpWbnW_M04JS9Vve61EV9rDsQbiKQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Thanks, patch applied for 1.18+.

On Fri, Sep 20, 2013 at 12:48 PM, Dhiraj Chawla
<dhiraj(dot)chawla(at)enterprisedb(dot)com> wrote:
> Hi Dave,
>
> As per the issue reported in the pgadmin-support mailing about how pgAdmin
> crashes when a user drops either a column or a constraint of table, I tried
> reproducing the scenario at my end was able to reproduce it. While analyzing
> the issue I found that after a column or constraint is dropped, the table
> node gets refreshed twice; once due to an explicit call to
> frmMain::Refresh() in the frmMain::ExecDrop() function and second time due
> TreeItem selection change event which invokes frmMain::execSelChange(). Now
> in refresh we delete the object node of the table item and recreate it,
> which causes the segmentation fault.
>
> Attached is the patch which fixes this issue. As per this fix I allow the
> Refesh() function to be called only once by setting m_refreshing variable to
> true before calling the first explicit refresh from ExecDrop() and then
> setting it back to false. With this the second Refresh() call is not made.
>
> I have tested patch by setting Refresh on click to both: Refresh object on
> click and Refresh object and children on click in the UI Miscellaneous in
> the Setting dialog.
>
> Let me know your view on this patch.
>
>
> regards,
>
> Dhiraj Chawla
> Senior Software Engineer
> EnterpriseDB Corporation
> The Enterprise PostgreSQL Company
>
> Phone: +91-20-30589522

--
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 2013-09-26 14:24:23 Re: Patch for Race Condition.
Previous Message Dave Page 2013-09-26 14:17:44 pgAdmin III commit: Prevent a crash on Windows when dropping a column o