USER/GDI Objects leak with (XWin.exe) Cygwin/X X Server Verion 1.7.6, Build Date 2010-03-18

Amal Khailtash akhailtash@yahoo.com
Tue Jul 27 14:58:00 GMT 2010


Hi Jon,

This was a great news for me for some time now.  I gave your patch a try and 
everything seems peachy.
The resources stay at a reasonable number (USER<60, GDI<70) and I have not seen 
any problem yet.


Thanks for looking into this and it's great that the leak is found.  I am sure 
people who use Cygwin/X
appreciate a more stable environment.

I hope I see this patch coming into main releases soon.

Thanks a lot,
-- Amal

________________________________
From: Jon TURNEY <jon.turney@dronecode.org.uk>
To: cygwin-xfree@cygwin.com
Cc: akhailtash@yahoo.com
Sent: Thu, July 22, 2010 4:34:01 PM
Subject: Re: USER/GDI Objects leak with (XWin.exe) Cygwin/X X Server Verion 
1.7.6, Build Date 2010-03-18

On 19/04/2010 18:33, Amal Khailtash wrote:
> Thanks for looking into this.  Yes, it seems this problem shows up for some 
>applications.  gnome-terminal
> seems to behave better.  But konsole and my specific TCL-based application 
>(modelsim) seem to suffer
> from this.
> 
> The problem is even if I quit the troublesome application, resources are not 
>released and that tells me
> the leak is somewhere in the core X server and not the application, but somehow 
>
>only shows up for those.

This is expected, because as far as Windows is concerned, all the X windows and 
the resources they use are owned by the X server.

> Some of the applications that I found that show this leak are:
> 
>    * modelsim
>    * konsole
>    * kfontview
>    * kate
> 
> It seems KDE-based apps are the worst.  The problem is not as severe in 
>gnome-based applications.
> But I can see that, even in those, not all resources are released either!

I have (finally) tracked down what I think is causing this leak.  It seems we 
are leaking the Windows icons we create when the X window has an icon hint 
attached.  It also seems that menu windows for the problematic apps like konsole 

have such an icon hint, so we leak at a vast rate whilst working with them.

(There's not much point in making the Windows icon for these transient windows, 
as it can't be seen, so perhaps there's another change needed to avoid the 
overhead of generating the Windows icon in these cases)

I've uploaded a build with this fix at [1], patch to follow.  Perhaps you could 
try it out and see if it works for you?

[1] ftp://cygwin.com/pub/cygwinx/XWin.20100722-git-3e2987e614139d51.exe.bz2

> Another not is that even Xming suffers from this same problem.  I assume most 
>of the source code is
> shared between XWin and Xming.

It depends which version of Xming you are using, something you should have 
mentioned.

If you are using the current version of Xming, that is the case.
If you are using the free version of Xming, that's about 3 years old.  There 
have been a few changes in the source since then :-)

> ----- Original Message ----
> Subject: Re: USER/GDI Objects leak with (XWin.exe) Cygwin/X X Server Verion 
>1.7.6, Build Date 2010-03-18
> 
> On 06/04/2010 20:05, Amal Khailtash wrote:
>> Click on Session menu and while the menu is open, move to Edit, then View, 
>>Bookmarks,
>> Settings and Help and click outside to withdraw menu:
>> 
>> Image Name    User Objects    GDI Objects
>> XWin.exe        39                  79
>> 
>> Click on any menu item and while the menu is open and move cursor to other menu 
>>
>>items
>> a number of (20) times:
>> 
>> Image Name    User Objects    GDI Objects
>> XWin.exe        241                483
>> 
>> Keep doing this and you will see the allocated objects keeps increasing and 
>>increasing and
>> they are never released even if I close my Konsole window!
> 
> Thanks for the clear reproduction steps.  With these, I can reproduce this 
>problem.
> 
> According to the GdiUsage tool this seems to be a GDI bitmap handle being 
>leaked.  Unfortunately GdiUsage seems to have rusted a bit and doesn't produce 
>useful backtraces (and may well not be able to backtrace a cygwin executable, 
>anyhow) so locating exactly where the leak is coming from is going to be a bit 
>tricky...

-- Jon TURNEY
Volunteer Cygwin/X X Server maintainer


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/



More information about the Cygwin-xfree mailing list