I have been struggling with this strange error when building debug version of the our solver using Fortran Compiler XE 13.1.1.171. This issue has already been reported to Intel support,but I have not heard anything from them, and I hope someone here can give me a hint - the issue literately block any of Intel ifort v13.x deployment, if not addressed, we will be stuck to ifort v12.1.
1) Build environment: Fortran Compiler XE 13.1.1.171 hosted on VS2010 (part of the Intel Parallel Studio) on Windows
2) Target: x64 only (with or without -openmp), debug build only
3) Build error:
Compiling with Intel(R) Visual Fortran Compiler XE 13.1.1.171 [Intel(R) 64]... Creating temporary file "RSP1.rsp" with contents [ /nologo /debug:full /Od /fpp /I".." /I"../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\lib\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\chem\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /assume:nosource_include /DDEBUG /reentrancy:threaded /extend_source:132 /real_size:64 /align:rec16byte /align:qcommons /align:sequence /fpe:0 /fpconstant /names:lowercase /iface:cref /assume:underscore /module:"../modules/x64/Double Debug/" /object:"x64\Double Debug/" /traceback /check:bounds /check:uninit /libs:static /threads /dbglibs /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin\amd64""C:\build\V740\source\cnt\Src\cnt_summ.f" ] Creating command line "ifort @"C:\build\V740\source\cnt\x64\Double Debug\RSP1.rsp"" fit_lookup: Line_seq_number 0000000000000000 was not found fortcom: Fatal: There has been an internal compiler error (C0000005). compilation aborted for C:\build\V740\source\cnt\Src\cnt_summ.f (code 1) Creating temporary file "RSP1.rsp" with contents [ /nologo /debug:full /Od /fpp /I".." /I"../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\lib\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /I"C:\build\V740\source\chem\../modules/x64/Double Debug/" /I"C:\build\V740\source\modules\../modules/x64/Double Debug/" /assume:nosource_include /DDEBUG /reentrancy:threaded /extend_source:132 /real_size:64 /align:rec16byte /align:qcommons /align:sequence /fpe:0 /fpconstant /names:lowercase /iface:cref /assume:underscore /module:"../modules/x64/Double Debug/" /object:"x64\Double Debug/" /traceback /check:bounds /check:uninit /libs:static /threads /dbglibs /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin\amd64""C:\build\V740\source\cnt\Src\cnt_dlay.f" ] Creating command line "ifort @"C:\build\V740\source\cnt\x64\Double Debug\RSP1.rsp"" CNTLIB - 1 error(s), 0 warning(s)
4) Reproducibility:
4.1) For above file, it always fails with the same error output, but only limited to x64 debug build. Win32 build is fine, x64 release buid is fine.
4.2) It could appear with a few of other files as well. But the file could be different depending on my build option (for example, /openmp build may have a different set of files with such errors)
4.3) Now the most mysterious part: if I change the build option a little bit, for example, removing one of /traceback /check:bounds /check:uninit for this file, and manual compile will be fine, but if I restored the /traceback /check:bounds /check:uninit setting as before, manual build would NOT fail anymore. Clean up the whole project and build the whole solution again, the failure will appear again.
The last observation seems to indicate the error is related to some build procedures or environment.
Have anyone seen such a behavior before? Our experience with ifort v13.x has been bad for other crucial issue at the runtime. But teh latest bug build failure is just another thing that becomes a show stopper.
BTW, I have the same issue on Linux build as well where it seems /check:bounds /check:uninit /check:pointer all 3 options will be the trigger to the error. The x64/Windows is a bit different, so far I have not yet found a pattern, except the strange behavior in 4.3.
Any suggestion would be welcome.