Thread: pgAdmin III 3-1.14.0-beta3 crash

pgAdmin III 3-1.14.0-beta3 crash

From
Bogdan Timofte
Date:
<span class="long_text" id="result_box" lang="en"><span class="hps" title="Click       for alternate
translations">Hello,<br/> Pgadmin3</span> crashes <span class="hps" title="Click for alternate
translations">afterthe</span> <span class="hps" title="Click       for alternate translations">object</span> <span
class="hps"title="Click for alternate translations">browser</span> <span class="hps" title="Click for alternate
translations">isrefreshed</span> <span class="hps" title="Click for alternate translations">in</span> <span class="hps"
title="Clickfor alternate       translations">certain</span> <span class="hps" title="Click for       alternate
translations">circumstances</span><br/><span class="hps" title="Click for alternate translations"><br /> How</span>
<spanclass="hps" title="Click for alternate translations">to reproduce</span><span class="" title="Click for
alternatetranslations">:</span><br /><span class="hps" title="Click for alternate translations">pgAdmin</span> <span
class="hps"title="Click for alternate translations">III</span> <span class="hps" title="Click for alternate
translations">Version:</span><span class="hps" title="Click for alternate translations">1.14.0</span><span class="atn"
title="Clickfor alternate translations">-</span><span class="" title="Click for alternate translations">beta3</span>
<spanclass="hps" title="Click for alternate translations">3</span><br /><span class="hps" title="Click for alternate
translations">OperatingSystem:</span> <span class="hps" title="Click for alternate translations">Linux</span> <span
class="hps"title="Click for alternate       translations">/</span> <span class="hps" title="Click for       alternate
translations">Windows</span><br/><span class="hps" title="Click for alternate translations">Step</span> <span
class="hps"title="Click for alternate translations">1:</span> <span class="hps" title="Click for alternate
translations">Right</span><span class="hps" title="Click for alternate translations">click</span> <span class="hps"
title="Clickfor alternate translations">on</span> <span class="hps" title="Click for alternate translations">a</span>
<spanclass="hps" title="Click for alternate translations">stored function in </span><span class="hps" title="Click for
alternate      translations">Object</span> <span class="hps" title="Click for       alternate
translations">Browser</span><spanclass="" title="Click for alternate translations">,</span> <span class="hps"
title="Clickfor alternate translations">then</span> <span class="hps" title="Click for alternate
translations">properties</span><br/><span class="hps" title="Click for alternate translations">Step</span> <span
class="hps"title="Click for alternate translations">2:</span> <span class="hps" title="Click for alternate
translations">Right</span><span class="hps" title="Click for alternate translations">click "</span></span><span
class="long_text"id="result_box" lang="en"><span class="hps" title="Click for       alternate
translations">Functions</span><spanclass="" title="Click for alternate translations"></span></span><span
class="long_text"id="result_box" lang="en"><span class="hps" title="Click for       alternate translations">"
in </span><spanclass="hps" title="Click for alternate translations">Object</span> <span class="hps" title="Click for
alternatetranslations">Browser</span><span class="hps" title="Click for alternate translations"></span><span class=""
title="Clickfor alternate translations">,</span> <span class="hps" title="Click for alternate translations">then
refresh</span><br/><span class="hps" title="Click for alternate translations">Step</span> <span class="hps"
title="Clickfor alternate translations">3:</span> <span class="hps" title="Click for alternate
translations">Click</span><span class="hps" title="Click for alternate translations">on the</span> <span class="hps"
title="Clickfor alternate translations">"</span></span><span class="long_text" id="result_box" lang="en"><span
class="hps"title="Click for       alternate translations">Code</span></span><span class="long_text" id="result_box"
lang="en"><spanclass="hps" title="Click for       alternate translations">" </span><span class="hps" title="Click
foralternate translations">and</span> <span class="hps" title="Click for alternate translations">c</span><span
class="hps"title="Click for alternate translations">hange</span> s<span class="hps" title="Click for alternate
translations">omething</span>.<br/><span class="hps" title="Click for alternate translations">Step</span> <span
class="hps"title="Click for alternate translations">4:</span> <span class="hps" title="Click for alternate
translations">ClickApply<br /></span></span>-- <br /><div class="moz-signature"><b>Bogdan Timofte</b></div> 

Re: pgAdmin III 3-1.14.0-beta3 crash

From
Guillaume Lelarge
Date:
On Sun, 2011-07-24 at 12:32 +0300, Bogdan Timofte wrote:
> Hello,
> Pgadmin3 crashes after the object browser is refreshed in certain 
> circumstances
> 
> How to reproduce:
> pgAdmin III Version: 1.14.0-beta3 3
> Operating System: Linux / Windows
> Step 1: Right click on a stored function in Object Browser, then properties
> Step 2: Right click "Functions" in Object Browser, then refresh
> Step 3: Click on the "Code" and change something.
> Step 4: Click Apply

Yes, this is a known bug. Refreshing an object or a parent of this
object should not be done when the properties dialog of this object is
open. Just like you shouldn't drop an object while its properties dialog
is open and then change its properties. Sure crash.

Noone's been bothered enough with this to actually work on fixing it.

Guess I should do something about it. Will start a thread on the hackers
list to find a good way to fix it.


-- 
Guillaume http://blog.guillaume.lelarge.info http://www.dalibo.com



Re: pgAdmin III 3-1.14.0-beta3 crash

From
Guillaume Lelarge
Date:
On Sun, 2011-07-24 at 13:23 +0200, Guillaume Lelarge wrote:
> On Sun, 2011-07-24 at 12:32 +0300, Bogdan Timofte wrote:
> > Hello,
> > Pgadmin3 crashes after the object browser is refreshed in certain 
> > circumstances
> > 
> > How to reproduce:
> > pgAdmin III Version: 1.14.0-beta3 3
> > Operating System: Linux / Windows
> > Step 1: Right click on a stored function in Object Browser, then properties
> > Step 2: Right click "Functions" in Object Browser, then refresh
> > Step 3: Click on the "Code" and change something.
> > Step 4: Click Apply
> 
> Yes, this is a known bug. Refreshing an object or a parent of this
> object should not be done when the properties dialog of this object is
> open. Just like you shouldn't drop an object while its properties dialog
> is open and then change its properties. Sure crash.
> 
> Noone's been bothered enough with this to actually work on fixing it.
> 
> Guess I should do something about it. Will start a thread on the hackers
> list to find a good way to fix it.
> 

Should be fixed now. It will prevent someone to close connection on a
database which has an open properties dialog on one of its object, to
drop an object whose properties dialog is already opened, and to refresh
an object whose properties dialog is already opened. And when someone
tries to open a properties dialog for an object that already has its
properties dialog opened, it won't display a new one, but raised upfront
the previous one.

Unfortunately, it's 1.16 material (which is expected to be released in a
year...).


-- 
Guillaume http://blog.guillaume.lelarge.info http://www.dalibo.com