Re: pgadmin3 segfaults on leaving context menu - Mailing list pgadmin-support

From Ashesh Vashi
Subject Re: pgadmin3 segfaults on leaving context menu
Date
Msg-id CAG7mmozc+P5dJD7GjAyAwry0yJhRUsR4quS2g02+FA8tTea_8g@mail.gmail.com
Whole thread Raw
In response to Re: pgadmin3 segfaults on leaving context menu  (Wander Nauta <info@wandernauta.nl>)
Responses Re: pgadmin3 segfaults on leaving context menu  (Wander Nauta <info@wandernauta.nl>)
List pgadmin-support
On Mon, Apr 20, 2015 at 5:24 PM, Wander Nauta <info@wandernauta.nl> wrote:
Hello Ashesh,

With that patch applied, pgadmin3 hangs the moment I choose an item
from the context menu. It doesn't crash or hang when I exit the menu
by clicking outside it, but clicking inside it causes the application
to stop responding.

Looking at a backtrace (attached), it seems that `onSelRightClick`
grabs the mutex, then calls `doPopup`. However, because doPopup
(indirectly) causes execSelChange, that method is now being called
with the mutex held.
Yeah - you're right.
I've checked-in your patch with comment changes.

Thanks for the patch.

--

Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company


http://www.linkedin.com/in/asheshvashi


Regards,
Wander


On Mon, Apr 20, 2015 at 11:21 AM, Ashesh Vashi
<ashesh.vashi@enterprisedb.com> wrote:
> Hi Wander Nauta,
>
> As per comment above the mutex lock, we need to hold the lock until, the
> context menu is getting popped up correctly.
> I've modified the code accordingly.
>
> Can you please test the attached patch?
>
> --
>
> Thanks & Regards,
>
> Ashesh Vashi
> EnterpriseDB INDIA: Enterprise PostgreSQL Company
>
>
> http://www.linkedin.com/in/asheshvashi
>
>
> On Mon, Apr 20, 2015 at 1:21 PM, Dave Page <dpage@pgadmin.org> wrote:
>>
>> Ashesh; can you look at this please?
>>
>> Thanks.
>>
>> On Sun, Apr 19, 2015 at 3:44 PM, Wander Nauta <info@wandernauta.nl> wrote:
>> > Hello all,
>> >
>> > I did some more digging and it seems frmMain::OnSelRightClick is
>> > trying to unlock a mutex it doesn't own, which can result in undefined
>> > behaviour in POSIX.
>> >
>> > I've attached a patch that moves the unlock inside the if where the
>> > mutex is locked. This seems to fix the crash, at least on my end, but
>> > I couldn't say if it affects thread safety at all.
>> >
>> > Again, I hope this helps.
>> >
>> > Kind regards,
>> > Wander Nauta
>> >
>> >
>> > --
>> > Sent via pgadmin-support mailing list (pgadmin-support@postgresql.org)
>> > To make changes to your subscription:
>> > http://www.postgresql.org/mailpref/pgadmin-support
>> >
>>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>
>

pgadmin-support by date:

Previous
From: "Guillermo E. Villanueva"
Date:
Subject: Re: Incorrect display type of the function result
Next
From: Wander Nauta
Date:
Subject: Re: pgadmin3 segfaults on leaving context menu