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

Jon TURNEY jon.turney@dronecode.org.uk
Thu Jul 22 20:34:00 GMT 2010


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