Berlin 10.1 Update 2 - more prone to hanging in the IDE?

Berlin 10.1 Update 2 - more prone to hanging in the IDE?

I just did a clean RAD Studio install on a clean Windows 10 install, but I don't think I've ever had the IDE lock up so frequently.

Which are the mandatory post-install actions for Berlin 10.1 Update 2?

Comments

  1. And eternal stalls due to memory leaks. What a shame.

    ReplyDelete
  2. Same here. Also opening projects is much slower and "Find Declaration" takes up to 20 seconds to react without any indication of disc activity or any other activity. BDS.exe running at 580 MB on a 16GB machine - so this shouldn't be a problem.
    Installing IDEFixPack makes the IDE a little bit faster - bit IDE still feels much slower than in previous versions.

    ReplyDelete
  3. Same here. I installed update 2 in the hope that it would solve some of the IDE issues with the update 1, but it seems to be worse so far. Find declaration sometimes finds nothing and sometimes stalls for a long time. Not to mention the Win 64bit debugger...

    ReplyDelete
  4. It looks like the bds.exe has a lot of buffer overflows while accessing the registry. Especially accessing "mapping" entries seems to take a lot of time.
    https://plus.google.com/photos/...

    ReplyDelete
  5. Fred Ahrens As other programs too. This is not a bug, this is how you read if you don't know the actual size you are getting back.

    ReplyDelete
  6. +Lars Fosdal I do 3 things. Replace welcome page completely, wiping modernthemeXY.bpl from the storage and installing idefixpack. Besides the coreideXY AV's after some time on adding/removing/creating new forms/units, the not rendering todo-list and the fatal errors on refactoring nothing special compared to Berlin or to Seattle/XE8.

    ReplyDelete
  7. Attila Kovacs I was just wondering due to the time gaps. Actually I just tried to rule out any potential bottlenecks caused by disk or network access. At the end the IDE lock ups seem to be related only to internal processing.
    In result: I have no idea what I could do on my side to make the IDE faster again (except going back to an older and faster Delphi version).

    Would be interesting to know how I can temporarily disable the new features introduced with Delphi Berlin (integrated Castalia etc.).

    ReplyDelete
  8. Fred Ahrens If U2 took over the settings from Berlin (i didn't install U1) it's possible that i've played with the auto complete/auto hint (whatever are those called) settings because there was something really utter annoyingly slow.

    ReplyDelete
  9. DDevExtensions 2.8 Features
    Andreas Hausladen

    Disable Package Cache (default: off)
    The RAD Studio IDE caches the component packages and their palette icons in the registry. This cache makes an IDE cold start slightly faster on some computers but has the drawback that the packages must be loaded later when the user opens a project or form.
    By disabling the cache the IDE start isn’t harmed that much.Actually it could be even faster than with an enabled package cache, depending on your hard disks speed. (for SSDs disabling
    the package cache is recommended).

    ReplyDelete
  10. Fabio VITALE it's the code insight, sorry ;)

    ReplyDelete
  11. Closing the Structure view seems to cure most of the hanging.
    Edit: Nope - still freezing up when switching between units.

    ReplyDelete
  12. Lars Fosdal Good point! Forgot to mention, the first thing after opening the IDE is to close Structure view! I hate it and i don't need it!

    ReplyDelete
  13. Lars Fosdal Whatever I try ... sometimes I think I found the solution but then the problem comes back. Same with closing the structure view. It's still hanging while opening (some of the) forms and using the Find Declaration feature.

    ReplyDelete
  14. Fred Ahrens I am starting to wonder if it is related to version history and VCL.

    ReplyDelete
  15. Lars Fosdal I think it's one of the new features previously available in Castalia and now integrated. Unfortunately the related package can't be disabled anymore like it was possible in previous versions.
    As a next step I start messing around with the DLLs in the bin folder - deleting all DLLs that might be related to features I don't use ...

    ReplyDelete
  16. Fred Ahrens First, I import a previously saved configuration through Migration Tool.
    Second, install a few experts who I usually use: IDEFixPack, DDevExtensions, Parnassus Bookmarks, CnPack, GExperts, Delphi ShortCut Finder.
    After that, if necessary, restore configuration options CnPack, GExperts and Beyond Compare from the previously created backup files.
    Settings DDevExtensions and Parnassus Bookmarks, just in case, stored in the form of screenshots.
    I disable loading bpl packages, which I do not need to develop software using the Distiller program.
    The order and location of icons on the Rad Studio ToolBar, for whatever reason, is not stored anywhere and can not be restored (at least I have not found ways). I'm used to the menu items and icons on the ToolBar located in one line, to the Code Editor for more space left. Therefore, this procedure has to be reset each time by hand, on the basis of the captured image.
    https://plus.google.com/photos/...

    ReplyDelete
  17. The hangs are fucking ridiculous...

    ReplyDelete
  18. I wonder if there is a difference between Pro and Enterprise edition. I have the Enterprise edition.
    Is there an easy way to downgrade to the Professional edition?

    ReplyDelete
  19. Fred Ahrens I also use the Enterprise version. I'm trying get a glimpse of the stack when it hangs, but nothing stands out.

    ReplyDelete
  20. Lars Fosdal Try disabling the LiveBinding packages in the IDE. For me it brings the time for opening some of my problematic forms down from 10 to 1 second. And it even stays that way after rebooting my PC and restarting Delphi.

    ReplyDelete
  21. Fred Ahrens exactly what livebindings packages names should be disabled in the IDE?

    ReplyDelete
  22. Fabio VITALE I disabled all packages shown in the screenshot. I didn't try yet if it would be possible to keep the livebindings enabled for Firemonkey.

    Edit: it's not possible to keep the livebindings enabled for FireMonkey only. As soon as the core livebinding package is enabled, the slow performance of the IDE comes back.
    BTW: disabling the packages shown in the screen shot will also disable the packages "LiveBindings Expression Components DbExpress" and "LiveBinding Expression Components FireDac".
    https://plus.google.com/photos/...

    ReplyDelete
  23. Fred Ahrens I deleted every *bind* files and i've the feeling that the IDE soars like an albatross. Even that i didn't had any hanging issues i can feel the difference. What a luck that i'm writing software and not drawing it. Thx for the hint ;)

    ReplyDelete
  24. We haven't used Live Bindings, but I found my core problem. It was the SVN Integration. It seems to connect and refresh in the primary thread. After disabling the SVN, Mercurial and git integrations, my lockups are gone. Whoever decided that checking an external integration in the primary thread was a good idea, needs a proper bollocking.

    ReplyDelete
  25. I was using the history view during a refactoring, which may have been the trigger factor for the problem.

    ReplyDelete
  26. Thank you Fred Ahrens and Attila Kovacs for the howto disable LiveBindings. Now Lars Fosdal: how did you disabled SVN, Mercurial and git integrations? There is some registry key?

    ReplyDelete
  27. Fabio VITALE This is a good question. In the IDE component/install packages are every loaded package present, however i just got massiv AV's when i was trying to uncheck Livebinding* and other packages. You could also disable them over the registry, i can't tell you where exactly because i prefer moving the files out from the installation and click "no" on the question if i wan't to try to load it the next time.
    Subversion files are the svn* files, git = gitide* and mercurial is in hgide*.
    Right now i'm looking after this Modeling thing if i need it and if i can turn it off too.

    Edit: it was the tgide* and i'm not missing it yet ;) (Developing for VCL/Win only)

    ReplyDelete
  28. Attila Kovacs thank you: disabled gitide*, svnide*, hgide*.
    but in my registry, under:

    [HKEY_CURRENT_USER\Software\Embarcadero\BDS\18.0\Known Packages]

    I am unable to find any tgide*

    ReplyDelete
  29. Fabio VITALE Berlin U2 Professional here. Under Options there was a Node called "Modeling". tgide240.bpl

    ReplyDelete
  30. I unchecked the VCS packages under Component, Install Packages. Not having any sources open at the time, is probably preferable. I prefer not to tamper with files or registry settings, to avoid issues with updates, etc.

    ReplyDelete
  31. It is if it would work as expected. As i said multiple AV's and it was checked again at restart.

    ReplyDelete
  32. I can confirm that they are checked again on restart. No AVs, though.
    Who the hell designed this?

    ReplyDelete
  33. And, even if disabling SVN after restart, I still get the weird and unexplainable freezes. This is fudged up!

    ReplyDelete
  34. Lars Fosdal I suggest:

    First of all: close Delphi IDE

    Then create the following three .reg files (beware that you must create them as Unicode BOM).

    Finally you execute each of the three .reg files.

    Things to note: to disable a package it suffices that its relative description begins with an underscore, as noted by Jeroen Wiert Pluimers:
    wiert.me - Delphi packages I have disabled by prefixing their description with an underscore (and why)

    If you prefer you can merge the content of the three .reg files into one: I prefer three so I have much fine grained control on what to disable.

    Last, if you later decide to re-enable all the packages, simply create an exact copy of the registry entries without the prepended underscore.

    I do not bother with future delphi updates, since I can simply revert the disabled packages to an enabled state before performing such update.

    Last, I always perform a registry export of each Delphi version, as soon as I have finished installing all the third parties components and libraries. This serves me as a baseline of my installs. I then always perform a registry export before installing anything into the IDE (better later than sorry). I also backup system and user path each time I perform a registry export.
    Later, it will be simply a matter of a quick BeyondCompare to know exactly what has changed in your configuration.

    1. Delphi Berlin - Disable Git Mercurial SVN registry.reg:

    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\Embarcadero\BDS\18.0\Known Packages]
    "$(BDSBIN)\\gitide240.bpl"="_Embarcadero Git Integration"
    "$(BDSBIN)\\hgide240.bpl"="_Embarcadero Mercurial Integration"
    "$(BDSBIN)\\svnide240.bpl"="_Embarcadero Subversion Integration"

    2. Delphi Berlin - Disable LiveBindings.reg:

    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\Embarcadero\BDS\18.0\Known Packages]

    "$(BDSBIN)\\dclBindCompFireDAC240.bpl"="_LiveBinding Expression Components FireDac"
    "$(BDSBIN)\\dclbindcomp240.bpl"="_Embarcadero LiveBindings Components"
    "$(BDSBIN)\\dclbindcompvcl240.bpl"="_Embarcadero LiveBindings Components VCL"
    "$(BDSBIN)\\dclbindcompdbx240.bpl"="_LiveBindings Expression Components DbExpress"
    "$(BDSBIN)\\dclbindcompfmx240.bpl"="_Embarcadero LiveBindings Components FireMonkey"

    3. Delphi Berlin - Disable Modeling tgide240.reg:

    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\Embarcadero\BDS\18.0\Known IDE Packages]
    "$(BDS)\\Bin\\tgide240.bpl"="_(Untitled)"

    ReplyDelete
  35. I believe I observe a pattern to the hangs. Every time I tab into a unit that is not part of the current project, I get a hang.

    ReplyDelete
  36. Hi Lars Fosdal, do you have any update on the issue you are observing?

    ReplyDelete
  37. I suspect it is related to search/library paths not being correctly set up in the registry after installing with a local admin account, and not my regular account. Unfortunately, I can't verify that right now, as I don't have time to do a full reinstall these days, so I am still suffering from the problem.

    In addition, something from the deployment system, policy police and updater processes is fucking the IDE every time it runs - i.e. every 15 minutes. IDE menus and toolbars flicker like mad for 10 seconds, probably due to some system messages.

    What fun :/

    ReplyDelete

Post a Comment