Jump to content
Davide Angeli

Several F2084 Internal Error on Delphi 10.4.2

Recommended Posts

Hi, I've just installed 10.4.2 over 10.4.1 (I let the installer unistall the previous version and kept settings).  I've then installed on it MMX, GExperts, Project Magician and several third party components (all of them reinstalled or recompiled with 10.4.2).

 

Compiling my projects, I'm experiancing quite often internal errors like this one: "F2084 Internal Error: AV0C793340(0C770000)-R00000018-0".

 

Sometimes I solved it firing a "build all" but very often the only way to get the project compiled is doing a "Close all", reload the project and recompile it. Sometimes after a "build all" I get  "F2084 Internal Error: D32835". In rare case the only way to get the job done is to reopen the IDE. It's very annoying! Same projects always compile fine on 10.4.1.

 

Anyone has an idea of which could be the problem? Thank you

 

Share this post


Link to post

Unfortunately no, sometime I also get internal error or Access violation at address 50165C8F in module 'rtl270.bpl'. Read of address 00000000.


 

  • Like 1

Share this post


Link to post

I just had similar issue compiling for 64bit Windows and it was due to inline keyword after function declaration, which compiled OK for 32bit. So, if you have small example you can maybe find the cause, but with large code base it good take you good time to chase down the cause, if you ever find it.

Share this post


Link to post

I can confirm close situation in 10.4.2. My internal error is F2084 - AV0AC01996(0AB90000)-R00000460-0. MXX and GExpert installed.
No problem in 10.4.1.
Close and reopen project helps. Any attempts to compile or build a project end in killing bds.exe process.

Share this post


Link to post

I'm seeing similar issues

 

[dcc32 Fatal Error] FinalBuilder9.dpr(292): F2084 Internal Error: AV0D8C3340(0D8A0000)-R00000018-0

Steps, run under debugger, step a while, terminate process (Ctrl+F2)

Run.

 

[dcc32 Fatal Error] VSoft.IDE.WelcomePage.pas(959): F2084 Internal Error: I4025

Steps, run under the debugger, step, debug\evaluate, check a classname prop, terminate

Modify Code

Run.

Build and then run works after this.

Share this post


Link to post

I encounter these errors and they are in increase with each versions since Delphi 2009, the strange thing is shamelessly that page in documentation on how to resolve internal errors, suggest to things like switching form while loop to for loop, what does that means, Delphi doesn't pass Turing test ?!! or it does and but they don't have implement a test for it ?

Will Delphi compiler pass such test ? apparently not and they proved it by asking to change your code.

Shame.

 

Now to the errors themselves, i never encountered internal error that did required code changing, almost every time closing the project and reopening solved it and in rare times it required restarting the IDE.

What is really interesting is that if closing and reopening the project made the code compileable, then the problem was in inconsistency in run time variables, this mean some memory corruption or bad internal interaction between the IDE and the compiler, also the IDE have the files loaded for editing and CodeInsight and this should enhance the compiler performance, LSP on other hand is replicating all the needed files in memory for one purpose which is to help the IDE ( i doesn't make sense to pass these files to the compiler), now to fix these bugs (internal errors) is to fix that interaction, hence Embarcadero will/should revise the internal CodeInsight and the debugger, and make a decision of rewriting it or drop it, rewriting it will make the time and resources spent on LSP a waste, and dropping it will ensure no more safe net with LSP failure, so i don't think they are capable of fixing these.

Share this post


Link to post
On 3/5/2021 at 11:40 PM, emailx45 said:

Hi, before posting here I tried the suggestions from the first link and I must say that things seem to be better. MSBuild is an "unexplored world" for me and since I have not been able to activate debugging after that type of compilation, before taking this path I wanted to understand if there was any hope of solving the problem without changing the way of operating that has been going on for more than 20 years.

 

Honestly I had also read the indications of the second link, but as someone else has already written, I strongly doubt that the problem lies in how the code is written since the solution is always to close and reopen the project to make the compiler work. This clearly indicates an internal problem with the IDE probably the excessive memory consumption at compile time as suggested in first link.

Share this post


Link to post
Posted (edited)

If "Use MSBuild externally to compile" helps then probably you have reached the memory limit. You can see in Task Manager if Delphi is approaching 4 GB limit.

I have for example 534 MB after a build of 330k LOC.

image.thumb.png.982311c6a74fe444f36cc92ae43159eb.png

Edited by Cristian Peța

Share this post


Link to post
On 3/5/2021 at 11:20 PM, Vincent Parrett said:

I'm seeing similar issues

 

[dcc32 Fatal Error] FinalBuilder9.dpr(292): F2084 Internal Error: AV0D8C3340(0D8A0000)-R00000018-0

Steps, run under debugger, step a while, terminate process (Ctrl+F2)

Run.

 

[dcc32 Fatal Error] VSoft.IDE.WelcomePage.pas(959): F2084 Internal Error: I4025

Steps, run under the debugger, step, debug\evaluate, check a classname prop, terminate

Modify Code

Run.

Build and then run works after this.

These steps are the same for me. If I perform those operations I get the problem systematically.

Share this post


Link to post
On 3/5/2021 at 2:38 PM, Vandrovnik said:

Have you tried without MMX, GExperts etc.?

Just unistalled all the experts but the problem still remains.

Share this post


Link to post
22 hours ago, Cristian Peța said:

If "Use MSBuild externally to compile" helps then probably you have reached the memory limit. You can see in Task Manager if Delphi is approaching 4 GB limit.

I have for example 534 MB after a build of 330k LOC.

image.thumb.png.982311c6a74fe444f36cc92ae43159eb.png

My memory situation is this when I get the problem:

image.thumb.png.84ff22118561add0b22051644a8cc069.png

Share this post


Link to post
Posted (edited)

Then not the memory limit is the problem.

I think I had something similar but long time ago I starter to avoid compile and use build almost every time. It is better to wait 10-15 seconds (in my case) than to fight with these issues.

 

If I remember well this started for me about ten years ago when iOS was first introduced as a new platform.

Edited by Cristian Peța

Share this post


Link to post

Try deleting your entire DCU Output directory before compiling.

 

Note from a clean.cmd I execute via Build Tools:

After using Gexperts clean a lot of compile issues went away, I have always guessed that
this IDE bug that breaks 'Build Groups' and all compiling with linking errors is a folder
salad created by the IDE. 

 

 

Share this post


Link to post
Posted (edited)
On 3/5/2021 at 1:40 PM, Davide Angeli said:

Same projects always compile fine on 10.4.1

How did you install Delphi 10.4.1? With a preliminary uninstallation of the previous installed version, or similar to 10.4.2 (automatic uninstallation launched during the installation of the new version)?
How were 10.4.1 and 10.4.2 installed (via ISO image or using the web installer)?

 

Try to activate the "Enable unit directory cache" option. Maybe this will help you.

If that doesn't work, try the advice from the documentation, located just above the "See also" section.

Attention: RAD Studio checks the amount of memory the IDE compiler uses, and when it exceeds 60% of the total available memory, the compiler flushes the unit cache...

Edited by Dinar

Share this post


Link to post
Guest
Posted (edited)

hi @Dinar

important observation!!!

 

I have search it in my Registry, and, using "MSWin10 Enterprise build 2004 updated + RAD 10.3.3 Arch", I cannot see this property in "ALL" Registry! not created in HCU by default, as said in Help!!!

---> "HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Compiling" = "ProcMemAllocLimit" NOT FOUND in RAD 10.3.3 Arch

 

in my case, not important, because my projects it's not so big as above indicated! But, for others, this can do the difference.

 

hug

Edited by Guest

Share this post


Link to post
Posted (edited)
6 minutes ago, emailx45 said:

I cannot see this property

Hi, @emailx45!

The instructions say to create a parameter, and not edit the value of an existing one:
3. Create a new DWORD value called “ProcMemAllocLimit” and set the value to 50 (decimal).

Edited by Dinar

Share this post


Link to post
25 minutes ago, emailx45 said:

I cannot see this property in "ALL" Registry! not created in HCU by default, as said in Help!!!

I think that it is possible, in the absence of this property in the registry, they use the default value of this parameter (equal to 60%).

Share this post


Link to post
22 hours ago, Dinar said:

How did you install Delphi 10.4.1? With a preliminary uninstallation of the previous installed version, or similar to 10.4.2 (automatic uninstallation launched during the installation of the new version)?
How were 10.4.1 and 10.4.2 installed (via ISO image or using the web installer)?

I Installed Delphi 10.4.1 over 10.4 similar to 10.4.2 (automatic unistallation during the installation). 10.4, 10.4.1, 10.4.2 all installed via ISO image.

22 hours ago, Dinar said:

Try to activate the "Enable unit directory cache" option. Maybe this will help you.

"Enable unit directory cache" is enabled by default in my configuration (never set that check).

22 hours ago, Dinar said:

If that doesn't work, try the advice from the documentation, located just above the "See also" section.

Attention: RAD Studio checks the amount of memory the IDE compiler uses, and when it exceeds 60% of the total available memory, the compiler flushes the unit cache...

I'll get a chanche at the "See also" section. It's a nightmare here: after every compile + run + debug I need to close/reopen project or close/reopen IDE. I am wasting a lot of precious time and so I'm considering switch back to 10.4.1. Before doing that I think that the last attempts will be ProcMemAllocLimit  and then uninstall every thing, cleaning the machine and reinstall 10.4.2 as fresh installation....

Share this post


Link to post
On 3/6/2021 at 6:04 AM, Kas Ob. said:

I encounter these errors and they are in increase with each versions since Delphi 2009

I'd say it's more of a random sinus-like graph. But, yes. happen to me to. Too often.
I must however point out that i have not "expirienced" a raise in those after 10.4.2 specifically.

 

22 hours ago, emailx45 said:

hi @Dinar

important observation!!!

 

I have search it in my Registry, and, using "MSWin10 Enterprise build 2004 updated + RAD 10.3.3 Arch", I cannot see this property in "ALL" Registry! not created in HCU by default, as said in Help!!!

---> "HKEY_CURRENT_USER\Software\Embarcadero\BDS\21.0\Compiling" = "ProcMemAllocLimit" NOT FOUND in RAD 10.3.3 Arch

 

in my case, not important, because my projects it's not so big as above indicated! But, for others, this can do the difference.

 

hug

Hello fried! What did we say (and agree upon IMHO) about THE FORMATTING???!!!!????!!

Please, just type.

Share this post


Link to post

Just to summarize after several tests, checking configurations, library paths, dcu, dcp etc. now I'm in this situation (after a clean computer restart):

  1. Open IDE
  2. Open a Project group
  3. Compile and run the active project
  4. Do something with the app
  5. Close the app and come back to IDE
  6. Compile again = "F2084 Internal Error: AV0C793340(0BA770000)-R00000018-0"

For me this is sistematic.

 

Workarounds that I found for this (working in my situation I mean):

  • close/reopen the project then I could compile/run again the app (rarely I've to restart IDE)
  • open "Tools\options" and change something in "Language\Delphi\Library" variable "Library path": it's enough to move up a path + save + close the options, open again the library path to restore the previous position (move down) and save; doing these operations the internal error vanished. I suppose that saving that kind of parameter (even it is not modified at last) force some "refresh/initialization" in the IDE compiler environment that solves the issue (as reopen project did)
  • Set the "Project Options" \ "Delphi Compiler" \  "Use MSBuild externally to compile" (setting also "Include remote debug symbols" in "Linking" page ). This not lead to internal errors but I'm having several problems with debugging (always get the cpu window on breakpoints and unable to step in the source code). 

I don't know if this info could help someone to reach/guess why this error happen. I would like to report this in QC but I'm not able to reproduce in a small case so therefore it would become one of the many reported errors that would never be corrected...

Share this post


Link to post
19 minutes ago, Davide Angeli said:

I don't know if this info could help someone to reach/guess why this error happen.

It happens that sometimes when you uninstall an old version of Rad Studio IDE, invalid entries are left in the environment variables. There is a small hope that the problem will go away if you delete invalid entries and restart your computer.
Finding and removing them is quite easy with the free Rapid Environment Editor. Invalid entries will be displayed in red. To make changes to environment variables, the program must be run as administrator (no elevated privileges are required to view).

 

If that doesn't work, try doing a full reset of the IDE first instead of a full reinstall. This can be done with the cleanregistryide startup key.

Caution: You will lose all your projects from the BDS directory, so back them up before starting BDS with this option. This is a last resort, not the first thing you should try when troubleshooting the IDE.

The instructions can also be found on the page: Using the -r command line switch to fix start up errors in the IDE

After a hard reset with the -cleanregistryide key, do not install any plugins, experts, etc. Only the minimum set of components required to compile a group of projects.
Then temporarily disable your antivirus, firewall, brandmauer and try the steps to reproduce the error again.

 

If the steps I described above do not help, then I don’t know how to help anymore.

  • Like 1
  • Thanks 1

Share this post


Link to post
29 minutes ago, Dinar said:

It happens that sometimes when you uninstall an old version of Rad Studio IDE, invalid entries are left in the environment variables. There is a small hope that the problem will go away if you delete invalid entries and restart your computer.
Finding and removing them is quite easy with the free Rapid Environment Editor. Invalid entries will be displayed in red. To make changes to environment variables, the program must be run as administrator (no elevated privileges are required to view).

Usefull this tool. I found and correct some minor red entries but unfortunatly this doesn't help.

 

I'll try with cleanregistry and then a clean reinstall hoping to solve this annoying situation. 

 

Share this post


Link to post

This is not a registry issue.. it's a bug. I am seeing these issues all the time with 10.4.2 - before I installed I removed all trace of 10.4.x from the registry and the file system.

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

×