Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

catastrophic error: **Internal compiler error

Marco_E_
Beginner
635 Views

Hi:

I am getting this error whenever I try to compile with -O3, let me know if the source code is required. I will try to update to the latest version of the compiler.

Kind regards

Marco

 

1>------ Rebuild All started: Project: euoxigen, Configuration: Release x64 ------
1>Deleting intermediate files and output files for project 'euoxigen', configuration 'Release|x64'.
1>Compiling with Intel(R) Visual Fortran Compiler 18.0.1.156 [Intel(R) 64]...
1>MParameters.f90
1>MExpadj.f90
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\MExpadj.f90(73): remark #7712: This variable has not been used.  
1>Math.f90
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(564): remark #7712: This variable has not been used.  
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(191): remark #7712: This variable has not been used.  
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(133): remark #7712: This variable has not been used.  
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(74): remark #7712: This variable has not been used.  
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(564): remark #7712: This variable has not been used.  
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(191): remark #7712: This variable has not been used.  
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(133): remark #7712: This variable has not been used.  
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(74): remark #7712: This variable has not been used.  
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(179): remark #7712: This variable has not been used.   [NLINEAR]
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(120): remark #7712: This variable has not been used.   [NLINEAR]
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(132): remark #7712: This variable has not been used.   [ROWFMT]
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(73): remark #7712: This variable has not been used.   [ROWFMT]
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(448): remark #7712: This variable has not been used.  
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Math.f90(450): remark #7712: This variable has not been used.   [VECES]
1>MCvode.f90
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\MCvode.f90(323): remark #7712: This variable has not been used.   [ICON]
1>010101_14291
1>catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Software Problem Report.  Note: File and line given may not be explicit cause of this error.
1>compilation aborted for D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\MCvode.f90 (code 1)
1>main.f90
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\main.f90(238): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
1>Mkinsol.f90
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Mkinsol.f90(19): remark #8291: Recommended relationship between field width 'W' and the number of fractional digits 'D' in this edit descriptor is 'W>=D+7'.
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Mkinsol.f90(51): remark #7712: This variable has not been used.  
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Mkinsol.f90(51): remark #7712: This variable has not been used.   [IPAR]
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Mkinsol.f90(51): remark #7712: This variable has not been used.   [RPAR]
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Mkinsol.f90(105): remark #7712: This variable has not been used.  
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Mkinsol.f90(105): remark #7712: This variable has not been used.   [FY]
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Mkinsol.f90(105): remark #7712: This variable has not been used.  
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Mkinsol.f90(105): remark #7712: This variable has not been used.   [IPAR]
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Mkinsol.f90(105): remark #7712: This variable has not been used.   [RPAR]
1>D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\Mkinsol.f90(105): remark #7712: This variable has not been used.   [WORK]
1>
1>Build log written to  "file://D:\Users\Administrativo\Documents\Source\Repos\euogit\Console1\Console1\x64\Release\BuildLog.htm"
1>euoxigen - 1 error(s), 0 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

 

0 Kudos
8 Replies
mecej4
Honored Contributor III
635 Views

Please provide the source codes of the modules (CONSTANTS, MATHSUBS, etc.) that are USED in MCvode.f90. Without the module files being available, the compilation of MCvode.f90 will fail early, and the ICE will not occur.

You appear to have the latest compiler version that has been released.

0 Kudos
Marco_E_
Beginner
635 Views

I am uploading the full project, however it uses external libraries (https://computation.llnl.gov/projects/sundials). BTW, those were really hard to compile.

 

 

 

0 Kudos
mecej4
Honored Contributor III
635 Views

You forgot to include the file errcheck.inc. I created a dummy (empty) file with that name, and the compiler did not run into an ICE, so it seems that what you have in that file affects the compilation.

Which version of Sundials did you build, and with which compiler (I ask because I vaguely remember that Sundials was mostly in C).

0 Kudos
Marco_E_
Beginner
635 Views

I am using sundials 2.7

I am attaching the errcheck.inc

 

 

0 Kudos
mecej4
Honored Contributor III
635 Views

Please attach the buildlog.htm file from the unsuccessful build.

This is what I get:

S:\lang\marco>ifort /O3 /c MParameters.f90 MExpadj.f90 Math.f90 MCvode.f90 Mkinsol.f90 main.f90
Intel(R) Visual Fortran Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 18.0.1.156 Build 20171018
Copyright (C) 1985-2017 Intel Corporation.  All rights reserved.

 Directory of S:\lang\marco

03/20/2018  08:50 PM            94,361 MParameters.obj
03/20/2018  08:50 PM            28,636 MExpadj.obj
03/20/2018  08:50 PM            39,865 Math.obj
03/20/2018  08:50 PM            38,061 MCvode.obj
03/20/2018  08:50 PM            16,388 Mkinsol.obj
03/20/2018  08:50 PM            26,220 main.obj
               6 File(s)        243,531 bytes

I did not attempt to link, since I do not have the Sundials library at this point. Note that the files have to be compiled in such an order that modules are generated before being USEd.

0 Kudos
Marco_E_
Beginner
635 Views

Hi:

I am attaching the BuildLog.htm

 

 

0 Kudos
Steve_Lionel
Honored Contributor III
635 Views

Internal Compiler Error is always a compiler bug. Please report it to Intel using https://supporttickets.intel.com/?lang=en-US and try to include a small but complete example that demonstrates the problem. In the log you attached, it's MExpadj.f90 that is failing, so include that source plus the source of all include files and modules it uses. Also show the command line used (including the buildlog.htm is fine.)

In the meantime, experiment with removing selective options to see if one of them is triggering the ICE. If you identify one, you can disable that option for that one source (and let Intel know what you found.)

I note that you use /names:lowercase. This is a very bad idea and I strongly recommend that you find ways of not needing that option, as it has unwelcome side effects on valid Fortran code. Ideally you would use interface blocks with BIND(C) or with !DEC$ ATTRIBUTES ALIAS for external routines that have lowercase names.

0 Kudos
mecej4
Honored Contributor III
635 Views

As Dr. Fortran said, there are many options specified that appear superfluous. I found that by specifying a more reasonable parameter,  say, /Qunroll:10,  I avoided the ICE. Did you really mean to ask for /Qunroll:1024 ?

You have  /QaxAVX /QxAVX /arch:AVX. Why?

0 Kudos
Reply