We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
close icon

Possible GDI object leak

I noted someone reporting performance problems with my application and I think I've narrowed it down to a GDI leak that happens when opening and closing chromeless windows.

Use Microsoft's performance HUD or any debug tool that shows GDI DC objects and just open/close Chromeless Windows over and over again. I happen to use the Native Windows Chrome setting but I think it's happening no matter what.

I'll attack a screenshot. The HUD tool suggests it might be happening in the DPI calculation code. Note that in the screenshot the GDI DC count of 11 outstanding is what keeps going up every time I open/close.

Unless there's something special to do for cleaning up ChromelessWindow objects? I just call .Close() and set my instance to null.


Attachment: GDILeak_1a18970c.zip

16 Replies 1 reply marked as answer

SA Sulthan Amanu Syncfusion Team November 3, 2022 03:51 PM UTC

Hi Jhon,


We are currently working on your reported query, and we need some more time to validate the issue on our end. So, we’ll provide further details on November 10, 2022. We appreciate your patience until then.


Regards,

Sulthan Amanu



JO John November 3, 2022 04:54 PM UTC

Ok thanks.


Also, I have one more bit of info to add. I tried a workaround where I create one ChromelessWindow and just set it to Visible/Hidden as needed but I still have a problem whenever I change the Height or Width attributes. Some property listener in ChromelessWindow sees the Height change and calls the DPI code and leaks something.


So, I guess add that to the list of things to try. Add a button that just does Height = Height + 5.0; whenever it's clicked or something like that.



JO John November 4, 2022 04:24 AM UTC

Here's one more screenshot that might be helpful. I've also noticed that simply moving a chromeless window has this problem as well. The number of handles grows pretty fast by just creating a basic window and moving it around. It seems kinda bad.


Attachment: GDIExample_d0819405.zip



KS Kayalvizhi Sivashanmugam Syncfusion Team November 11, 2022 04:01 PM UTC

We are able to see this GDI leaks on our end. Still analyzing on this issue in control level with high priority and will provide complete details on November 21, 2022. We appreciate your patience until then.




JO John November 11, 2022 11:46 PM UTC

Thanks.



KS Kayalvizhi Sivashanmugam Syncfusion Team November 25, 2022 09:39 AM UTC

We have confirmed the “GDI Leak issue in ChromelessWindow” as an issue and logged bug feedback. We will include the fix for the reported issue on December 9, 2022. We appreciate your patience until then. We will let you know once it gets rolled out.


You can track the status of this defect using the following feedback link: 


https://www.syncfusion.com/feedback/39376/fix-gdi-leaks-in-chromeless-window



If you have any more specifications or a scenario to be tested, you can add them as a comment in the portal.



KS Kayalvizhi Sivashanmugam Syncfusion Team December 12, 2022 03:59 AM UTC

We will include the fix for the reported issue in our upcoming 2022 Vol 4 Main release which is expected to roll out on December 16, 2022. We appreciate your patience until then. We will let you know once it gets rolled out.



KS Kayalvizhi Sivashanmugam Syncfusion Team December 16, 2022 05:42 AM UTC

Hi John,

Sorry for the inconvenience. Syncfusion Vol 4 Main Release 2022 is postponed and expected to roll out on December 20, 2022. We appreciate your patience until then.



JO John December 23, 2022 02:01 AM UTC

I suppose this fix didn't make it? I just tried 20.4600.0.38 and it still happens.



KC KING CHEONG FUNG December 23, 2022 01:06 PM UTC

I have been keeping track of this thread for a while as this bug is so serious that it affects my application so much.

And the fix is kept being delayed a few times.

I just saw this thread by chance and I think if syncfusion team could not fix it ASAP, at least the bug should be shown as a known issue in the documentation, given that the bug was known one and a half month ago.

In my opinion, every user who is using the ChromelessWindow control deserves to be informed that their applications are under GDI object leaks.



ME Manivannan Elangovan Syncfusion Team December 24, 2022 05:29 AM UTC

Hi John/KING,


We apologize for the delay in resolving the issue. Unfortunately, while trying to fix this issue, we encountered some additional issues that prevented us from including the fix in this release as promised. However, we are still working on it with high priority and will update the patch on or before December 29th, 2022.



KA Karthick Arjunan Syncfusion Team December 30, 2022 04:58 PM UTC

Hi John/KING,


Thanks for your patience.


We have fixed the reported issue. Please find the patch file from the below location.


Recommended approach – exe will perform automatic configuration                 

 

Please find the patch setup here:

https://syncfusion.com/Installs/support/patch/20.4.0.38/1278751/F178519/SyncfusionPatch_20.4.0.38_1278751_12292022095349119_F178519.exe

Advanced approach – use only if you have specific needs and can directly replace existing assemblies for your build environment     

 

Please find the NuGet alone from:

https://syncfusion.com/Installs/support/patch/20.4.0.38/1278751/F178519/SyncfusionNuget_20.4.0.38_1278751_12292022095349119_F178519.zip  

 

Please find the patch assemblies alone from:     

https://syncfusion.com/Installs/support/patch/20.4.0.38/1278751/F178519/SyncfusionPatch_20.4.0.38_1278751_12292022095349119_F178519.zip


NOTE:       


You can change how you receive bug fixes by navigating to the following link and updating your preferences.     

https://www.syncfusion.com/support/directtrac/patches                            


Disclaimer: 

Please note that we have created this patch for version 20.4.0.38 specifically to resolve the issues reported in this Forum #178519. If you have received other patches for the same version for other products, please apply all patches in the order received. The fix will be included in our upcoming weekly Nuget release on January 10, 2022.



JO John December 31, 2022 01:00 AM UTC

https://syncfusion.com/Installs/support/patch/20.4.0.38/1278751/F178519/SyncfusionPatch_20.4.0.38_1278751_12292022095349119_F178519.zip


Was the .net60 version updated in this zip? It looks like the old one. I tried it and didn't see a difference but it shows an update time of 12/17. The 4.6 and 4.5.1 versions of the dll show an update time of 12/29.


 



KA Karthick Arjunan Syncfusion Team January 2, 2023 07:15 AM UTC

Hi John,


We have attached the updated version of the .net60 DLL with the fix. You can download it from the link below. 


https://syncfusion.com/Installs/support/patch/20.4.0.38/1278751/F178519/SyncfusionPatch_20.4.0.38_1278751_1022023125514270_F178519.zip 


Marked as answer

JO John January 2, 2023 05:53 PM UTC

Thanks. This version seems much better!



KA Karthick Arjunan Syncfusion Team January 5, 2023 03:17 PM UTC

Hi John/KING,

We are glad to announce that our weekly nuget release was rolled out and a fix for the reported issue was included in the NuGet.


v20.4.0.42

NuGet Link: https://www.nuget.org/

We thank you for your support and appreciate your patience in waiting for this release. Please get in touch with us if you would require any further assistance.


Loader.
Live Chat Icon For mobile
Up arrow icon