Jump to content
Sign in to follow this  
Stéphane Wierzbicki

Unresponsive IDE and massive memory leaks with RIO

Recommended Posts

I have totally remove RIO and I've checked tht BDS\20 HKLM and HKCU where removed.

Here is what I'm still seeing after a fresh (without any 3rd party component installed) :

 

image.thumb.png.3616b2ce04d447e59d93a0bf0fe17e10.png

Share this post


Link to post

The QuickEdit thing is a know bug: QuickEdit still use 10.2 registry path

 

I can also see the RegQueryValue calls and more: even for every Delphi version installed. Not sure what purpose that has, but the same behavior is also seen with 10.2.3 Tokyo (including the Studio\20.0 entries).

Share this post


Link to post
50 minutes ago, Uwe Raabe said:

The QuickEdit thing is a know bug: QuickEdit still use 10.2 registry path

 

I can also see the RegQueryValue calls and more: even for every Delphi version installed. Not sure what purpose that has, but the same behavior is also seen with 10.2.3 Tokyo (including the Studio\20.0 entries).

Yep, this is what I saw after a clean install on a clean Windows 10 32b virtual machine (still have to reinstall everything because I used a 32bit OS 😞 ).

 

image.thumb.png.5d97cdd2554bf1711a5d8c7f596320f2.png

 

I'll revert to you and gives you new infos asap...

Share this post


Link to post

This works again after re-installing the whole operating system + Delphi RIO....

Spent my all week end on this.

 

@David Millington Embarcadero should provide a way to fix this in a more reasonable way. Getit installer doesn't provide a "repair" option.

 

Kind regards,

Share this post


Link to post

FWIW: I had Berlin 10.1.3 and Tokyo 10.2.2 installed, before installing Rio - all installed with their respective Web installers.
I did have betas for Berlin and Tokyo, but not for Rio (never had time to spare).

I have the same registry settings that Uwe shows for 24, 25 and 26 - with 26 being the "current".

64-bit Windows.
 

PS C:\> Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer

WindowsProductName    WindowsVersion OsHardwareAbstractionLayer
------------------    -------------- --------------------------
Windows 10 Enterprise 1709           10.0.16299.371            

 

Share this post


Link to post

@David Millington I spoke to fast ....

 

IDE seems to be in an endless loop. Looks like IDE is reading file attributes for each .pas on each folders....

In my case :

 

Started the IDE at 18:41:59

Opened project at 18:42:03

Double click on a unit a few seconds later and IDE started it's stupid game.

 

I was able to close the IDE at 18:55:18 almost 3.600.000 events recorded...

 

VM was freshly installed yesterday. Only RIO installed on this VM...

 

WindowsProductName WindowsVersion OsHardwareAbstractionLayer
------------------ -------------- --------------------------
Windows 10 Pro     1809

 

image.thumb.png.1f3bcfaad114bb1bc1ae423ff1b40f8b.pngimage.png.f193f126c2c3de5a8e1eb929c564db5b.png 

 

 

Edited by Stéphane Wierzbicki

Share this post


Link to post

Did you uninstall/install again the IDE?

When I first installed 10.3 CE it always (almost) hung on opening any project.

After uninstall and install again the problem gone.

I think it's worth to be included in manual.:)

Share this post


Link to post
9 minutes ago, Georgge Bakh said:

Did you uninstall/install again the IDE?

When I first installed 10.3 CE it always (almost) hung on opening any project.

After uninstall and install again the problem gone.

I think it's worth to be included in manual.:)

Yes, already done on my previous Vm. 

For me Rio is not usable.. 

Share this post


Link to post

Am I the only one who's disturbed seeing a Procmon screenshot with a bunch of NAME NOT FOUND / DENIED ACCESS on C:\VCL etc... directories which are not part of a freshly installed IDE?

For what did you start it anyway if you are ignoring the output?

Share this post


Link to post

@Stéphane Wierzbicki @Attila Kovacs You should learn what procmon is telling there - all these attempted createfile are results of checking if the file exists and all the directories are obviously directories in the library path as a result of installing several third party components. And due to the way Delphi handles library/search paths when compiling (iterating them looking for the requested file and trying them with any possible unit scope - that is why you see it trying Vcl.Shell.blabla there, because usually Vcl.Shell is one of the unit scopes being put into a VCL project) this is what you get - nothing unusual there.

Edited by Stefan Glienke

Share this post


Link to post

@Stefan Glienke is right.

My "Vcl" folder is the Vcl folder where I put all my 3rd party components / libraries. 

 

Delphi search path is updated with these folders paths... I'm using Delphi for almost 2 decades and never got such issues. If you look at my post IDE searched for units almost 3 million times... 

Edited by Stéphane Wierzbicki

Share this post


Link to post

Maybe I need glasses, it's desired access not denied, but this doesn't explain why are you telling us "fresh install" and why can't bds find anything.

Share this post


Link to post
7 minutes ago, Stéphane Wierzbicki said:

I'm using Delphi for almost 2 decades and never got such issues.

These procmon entries have nothing to do with the unresponsiveness you see. 

 

3 minutes ago, Attila Kovacs said:

Maybe I need glasses, it's desired access not denied, but this doesn't explain why are you telling us "fresh install" and why can't bds find anything.

As Stefan said: The IDE tries to resolve unit scope names and the resulting filenames simply don't match any existing file - so no access can be granted. This is normal behavior since quite a couple of Delphi versions.

Edited by Uwe Raabe

Share this post


Link to post
9 minutes ago, Attila Kovacs said:

Maybe I need glasses, it's desired access not denied, but this doesn't explain why are you telling us "fresh install" and why can't bds find anything.

I originally had issues on my "original" VM, the one I used for many years now. I thought that these problems appeared because I choose to re-install Tokyo after having alreally installed Rio... 

 

If you red previous posts, you will see that some important registry keys were missing. 

 

I decided then to create a new Windows 10 Pro 64 Vm. I've then installed Delphi Rio only, without any other Delphi version. 

 

I only add my 3rd party components and experts and did my tests again... 

Edited by Stéphane Wierzbicki

Share this post


Link to post
3 minutes ago, Uwe Raabe said:

The IDE tries to resolve unit scope names

Where? In c:\vcl? How is the IDE such smart?

Share this post


Link to post
8 minutes ago, Attila Kovacs said:

Maybe I need glasses

Probably - as far as I can see on saturday Stéphane wrote about the fresh install and referred to the wrong registry key being accessed. Yesterday he wrote about a fresh VM installation - at that point he did not claim that Rio was not installed without third party components. And if you look into the file he talked about earlier in this thread you can see that it uses quite a lot of third party stuff (like TMS Aurelius).

Edited by Stefan Glienke

Share this post


Link to post

@Stéphane WierzbickiJust a thought.  Since many of us use Rio without facing this issue it appears likely that one of these 3rd party components and experts does not play well with Delphi Rio.   An idea would be to start removing these 3rd party components and experts until the IDE becomes stable/responsive.   Or work in the opposite direction.  Start without any third-party items, confirm IDE works well and then add them one by one.

  • Like 1

Share this post


Link to post

I understand but please tell me how can I get a page full of "name not found" in procmon?

I've it running, what should I do?

Share this post


Link to post
4 minutes ago, Attila Kovacs said:

I understand but please tell me how can I get a page full of "name not found" in procmon?

I've it running, what should I do?

Create a new vcl application. Add any third party unit (one that is not immediately found in the first entry in the library path) - thus not a Delphi RTL/VCL/... unit or a Delphi unit without its fully qualified name. Then compile. The more entries you have in the library path and the more entries in the project options in unit scope names the more entries will pop up in procmon because it tries every possible combination (I don't remember in which order)

Edited by Stefan Glienke

Share this post


Link to post
5 minutes ago, pyscripter said:

@Stéphane WierzbickiJust An idea would be to start removing these 3rd party components and experts until the IDE becomes stable/responsive.   Or work in the opposite direction.  Start without any third-party items, confirm IDE works well and then add them one by one.

I've already done this with the Experts. My problem remains. 

I'll try to do this with my 3rd party components. Maybe one of them us incompatible with Rio (but I really doubt to he honest). 

Edited by Stéphane Wierzbicki

Share this post


Link to post
8 minutes ago, Stefan Glienke said:

Create a new vcl application. Add any third party unit (one that is not immediately found in the first entry in the library path) - thus not a Delphi RTL/VCL/... unit or a Delphi unit without its fully qualified name. Then compile. The more entries you have in the library path and the more entries in the project options in unit scope names the more entries will pop up in procmon because it tries every possible combination (I don't remember in which order)

Yes that's true but more than 3 millions of checks are a little bit scary! 

 

Note to myself : I'll try to delete all dproj files and let the IDE generate them again.

 

Edited by Stéphane Wierzbicki

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
Sign in to follow this  

×