I am getting a repeated internal compiler error (see below). It only occurs in the debug mode. After closing MSVSC2019 and restarting, it disappears for one compilation and then reappears. Is there a specific reason for this kind of error? It is my understanding that an internal compiler error is always a bug.
Compiling with Intel(R) Visual Fortran Compiler 188.8.131.52 [IA-32]...
ifort /nologo /debug:full /Od /warn:interfaces /module:"Debug\\" /object:"Debug\\" /Fd"Debug\vc160.pdb" /traceback /check:bounds /check:stack /libs:dll /threads /dbglibs /c /assume:norealloc_lhs /fp:consistent /real-size:64 /fpconstant /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX86\x86" /Qm32 "my_program.f90"
fortcom: Fatal: There has been an internal compiler error (C0000005).
compilation aborted for my_program.f90 (code 1)
Your understanding is correct. Please file a problem report with the Intel Online Service Center. There's no way to know what the reason is without the developers being able to reproduce it.
Thanks, @Andrew_Smith. Seems to be a random error. I have narrowed the error down to the following:
1. It occurs in debug mode and not in release mode.
2. The release version compiles and runs accurately.
3. Further analysis has revealed that the error is caused by passing a derived type argument to one of the subroutines i.e. subroutine A has a derived type argument (X) and subroutine A calls subroutine B which also uses X as an argument. The error is triggered when subroutine B is called from A with X as an argument. The error disappears when X is removed as an argument to B and defined/specified internally within B.
I created an example with a similar structure as the main project that has a problem. However, the error is not reproducible with my example.