Jump to content
Stéphane Wierzbicki

Unresponsive IDE and massive memory leaks with RIO

Recommended Posts

6 minutes ago, Attila Kovacs said:

Can't reproduce.

I add Generics.Collections to some uses, then ctrl+click on it, boom

 

image.png.b6efcddf19a08198b57fe6b39721bdc0.png

 

Anyhow this is not the issue here as Uwe said, even 500 million failed createfiles are not burning a CPU core but rather the HDD/SSD.

How you can see what is burning your CPU was explained in the other thread.

Edited by Stefan Glienke

Share this post


Link to post
15 minutes ago, Attila Kovacs said:

@Stéphane Wierzbicki Are those 3.6M entrys all these kind of items? Name not found? Are they recurring? Do you have this CPU load on a "real" fresh install too?

Yes they are. 

 

I guess that Stephan and Uwe are rights : those entries are not the culprit of my high cpu. 

 

I've to find now whith bpl is causing this. I'll remove all of them and try one by one... (a lot of TMS, FastReports and plenty of open source 3rd parties...) 

 

Edited by Stéphane Wierzbicki

Share this post


Link to post

You can get rid of the failing CreateFile calls by using the attached IDEFixPack development snapshot. But you shouldn't come anywhere near the Win64 or Android compiler if it is installed. Only the Win32 compiler and IDE patches are already working (including the compiler directory cache that eliminates the unnecessary CreateFile calls).

 

You can ignore the error messages during the splash screen that tell you that Win64 and Android patches couldn't be applied.

 

IDEFixPackD103RegDev_not_even_alpha.7z

Edited by jbg
  • Like 2
  • Thanks 2

Share this post


Link to post

Removing all 3rd parties components (deleting all reg. entries from "know packages" except EMB ones) and removing all Experts (deleting all reg. entries from "Experts") didn't helps. Only 3rd party search path remains untouched.  IDE keep freezing. What I've noticed is that happens *always* after the same (more and less) amount of time.

 

I killed then the IDE and I deleted the hkcu\software\embarcadero\bds\20 reg key.

Started Delphi, opened my project and start double clicking on each "non visual" units and then double clicking my main form again.

I then got this endless exception "invalid pointer" :

 

[5005F7F0]{rtl260.bpl  } System.TObject.FreeInstance (Line 17403, "System.pas" + 2) + $2
[5005A49E]{rtl260.bpl  } System.ErrorAt (Line 5719, "System.pas" + 3) + $4
[5005A4E2]{rtl260.bpl  } System.Error (Line 5730, "System.pas" + 1) + $7
[5005F7F0]{rtl260.bpl  } System.TObject.FreeInstance (Line 17403, "System.pas" + 2) + $2
[5006007E]{rtl260.bpl  } System.@ClassDestroy (Line 18816, "System.pas" + 0) + $2
[50CBF3BD]{vcl260.bpl  } Vcl.Graphics.TFont.Destroy (Line 2452, "Vcl.Graphics.pas" + 5) + $6
[5005F8E8]{rtl260.bpl  } System.TObject.Free (Line 17466, "System.pas" + 1) + $4
[50CC064D]{vcl260.bpl  } Vcl.Graphics.TCanvas.Destroy (Line 3733, "Vcl.Graphics.pas" + 4) + $3
[50CE19AC]{vcl260.bpl  } Vcl.Controls.TControlCanvas.Destroy (Line 5096, "Vcl.Controls.pas" + 2) + $6
[5005F8E8]{rtl260.bpl  } System.TObject.Free (Line 17466, "System.pas" + 1) + $4
[50CEFFB5]{vcl260.bpl  } Vcl.Controls.TCustomControl.Destroy (Line 14182, "Vcl.Controls.pas" + 1) + $6
[5005F8E8]{rtl260.bpl  } System.TObject.Free (Line 17466, "System.pas" + 1) + $4
[52822F16]{vcldesigner260.bpl} VCLSurface.TVclDesignSurface.CancelDragHint (Line 4545, "VCLSurface.pas" + 9) + $0
[5281EF8C]{vcldesigner260.bpl} VCLSurface.TVclDesignSurface.InstanceRemoved (Line 2905, "VCLSurface.pas" + 1) + $2
[52821492]{vcldesigner260.bpl} VCLSurface.TVclDesignSurface.Notification (Line 3899, "VCLSurface.pas" + 17) + $6
[50E339F2]{vcl260.bpl  } Vcl.Forms.TCustomForm.Notification (Line 3907, "Vcl.Forms.pas" + 42) + $C
[20FE8FB1]{designide260.bpl} Proxies.NotificationHook (Line 311, "Proxies.pas" + 8) + $B
[50171BB9]{rtl260.bpl  } System.Classes.TComponent.RemoveFreeNotifications (Line 16161, "System.Classes.pas" + 3) + $9
[501719E0]{rtl260.bpl  } System.Classes.TComponent.Destroy (Line 16092, "System.Classes.pas" + 4) + $0
[50CE231D]{vcl260.bpl  } Vcl.Controls.TControl.Destroy (Line 5471, "Vcl.Controls.pas" + 24) + $6
[07D11B3A]{themeloader260.bpl} Idetheme.Stylemanager.TIDEThemeStyleEngine.UnRegisterSysStyleHook + $18E
[50CE6E0D]{vcl260.bpl  } Vcl.Controls.TWinControl.Destroy (Line 8587, "Vcl.Controls.pas" + 45) + $6
[50CEFFC0]{vcl260.bpl  } Vcl.Controls.TCustomControl.Destroy (Line 14183, "Vcl.Controls.pas" + 2) + $6
[5005F8E8]{rtl260.bpl  } System.TObject.Free (Line 17466, "System.pas" + 1) + $4
[52822F16]{vcldesigner260.bpl} VCLSurface.TVclDesignSurface.CancelDragHint (Line 4545, "VCLSurface.pas" + 9) + $0
[528228CD]{vcldesigner260.bpl} VCLSurface.TVclDesignSurface.DragHintMouseMessage (Line 4393, "VCLSurface.pas" + 7) + $2
[52820B92]{vcldesigner260.bpl} VCLSurface.TVclDesignSurface.IsDesignMsg (Line 3597, "VCLSurface.pas" + 56) + $14
[5005FC0A]{rtl260.bpl  } System.@IsClass (Line 17950, "System.pas" + 1) + $8
[50CE4D2F]{vcl260.bpl  } Vcl.Controls.TControl.WndProc (Line 7300, "Vcl.Controls.pas" + 4) + $21
[07D1338D]{themeloader260.bpl} System.Generics.Collections. + $15
[50067E88]{rtl260.bpl  } System.@IntfClear (Line 38150, "System.pas" + 10) + $0
[500640D8]{rtl260.bpl  } System.@FinalizeArray (Line 32811, "System.pas" + 144) + $0
[5006EB07]{rtl260.bpl  } System.Types.TRect.Contains (Line 1661, "System.Types.pas" + 1) + $3
[50CE920C]{vcl260.bpl  } Vcl.Controls.GetControlAtPos (Line 9967, "Vcl.Controls.pas" + 4) + $13
[50CE9620]{vcl260.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10089, "Vcl.Controls.pas" + 10) + $48
[50CE9336]{vcl260.bpl  } Vcl.Controls.TWinControl.ControlAtPos (Line 9990, "Vcl.Controls.pas" + 13) + $E
[50CE93B9]{vcl260.bpl  } Vcl.Controls.TWinControl.IsControlMouseMsg (Line 10008, "Vcl.Controls.pas" + 9) + $2A
[50CE9BAB]{vcl260.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10245, "Vcl.Controls.pas" + 166) + $6
[50E34DB9]{vcl260.bpl  } Vcl.Forms.TCustomForm.WndProc (Line 4629, "Vcl.Forms.pas" + 209) + $5
[5005FA99]{rtl260.bpl  } System.TObject.GetInterface (Line 17847, "System.pas" + 15) + $10
[5282A01B]{vcldesigner260.bpl} VCLFormContainer.TControlSizer.ControlWndProc (Line 379, "VCLFormContainer.pas" + 33) + $C
[528227F9]{vcldesigner260.bpl} VCLSurface.TVclDesignSurface.IsHintMsg (Line 4365, "VCLSurface.pas" + 2) + $10
[52819FFD]{vcldesigner260.bpl} VCLSurface..TVCLDesignerDataObject (Line 572, "VCLSurface.pas" + 0) + $1315
[50CE9178]{vcl260.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 9944, "Vcl.Controls.pas" + 3) + $6
[50174370]{rtl260.bpl  } System.Classes.CalcJmpOffset (Line 17554, "System.Classes.pas" + 0) + $0
[50E3E7A7]{vcl260.bpl  } Vcl.Forms.TApplication.ProcessMessage (Line 10724, "Vcl.Forms.pas" + 23) + $1
[50E3E7EA]{vcl260.bpl  } Vcl.Forms.TApplication.HandleMessage (Line 10754, "Vcl.Forms.pas" + 1) + $4
[50E3EB1D]{vcl260.bpl  } Vcl.Forms.TApplication.Run (Line 10892, "Vcl.Forms.pas" + 26) + $3
[00517FFA]{bds.exe     } bds.bds (Line 214, "" + 7) + $7


 

Edited by Stéphane Wierzbicki

Share this post


Link to post
21 hours ago, jbg said:

You can get rid of the failing CreateFile calls by using the attached IDEFixPack development snapshot. But you shouldn't come anywhere near the Win64 or Android compiler if it is installed. Only the Win32 compiler and IDE patches are already working (including the compiler directory cache that eliminates the unnecessary CreateFile calls).

 

You can ignore the error messages during the splash screen that tell you that Win64 and Android patches couldn't be applied.

 

IDEFixPackD103RegDev_not_even_alpha.7z

 

@David Millington and @Uwe Raabe it is embarrassing IDE is (so far) no more freezing... Looks like something is screwed in current IDE implementation.

@jbg many thanks for this.

 

@John Kouraklis can you try this and tell me if this solves your issue (or not) ?

Edited by Stéphane Wierzbicki
  • Like 1

Share this post


Link to post

Cool. Is it possible that you have a recursion in your search dir tree? Like for example "Users\xxxxx\AppData\Local\Application Data" points to "Users\xxxxx\AppData\Local".

 

Edited by Attila Kovacs

Share this post


Link to post

The call stack you've posted is from the main thread. The more interesting call stack would be the one of the ErrorInsight parser's thread.

Share this post


Link to post
4 hours ago, Stéphane Wierzbicki said:

@jbg how can I achieve this ?

Here is a description of how to debug the IDE.

 

  • Like 1

Share this post


Link to post

We have reported similar issues already middle of Sept 

https://quality.embarcadero.com/browse/RSP-21972

https://quality.embarcadero.com/browse/RSP-22289

it's reproduced by EMBT but nothing happened until now. The fact is that EMBT just has not included the TDirectoryCache of the fixpack. This is a show stopper on our side as the IDE fully blocks during the work.

Edited by Günther Schoch
  • Like 1

Share this post


Link to post
2 hours ago, Günther Schoch said:

We have reported similar issues already middle of Sept. 

it's reproduced by EMBT but nothing happened until now. The fact is that EMBT just has not included the TDirectoryCache of the fixpack. This is a show stopper on our side as the IDE fully blocks during the work.

I'm very upset. They are aware of the problem, they are watching this forum and no communication at all. 

 

How do they treat their customers? Sorry but this is really disrespectful. 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×