Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
The Intel sign-in experience has changed to support enhanced security controls. If you sign in, click here for more information.
27764 Discussions

Catastrophic error while compiling large file

ereisch
New Contributor II
1,863 Views

Unfortunately, I cannot post the entire source file that leads to this error, but the diagnostic seems to include more details than usual, so I'm hoping the compiler developers will be able to locate the issue without the source.  If not, let me know and I'll try to generate a reproducer.

file.i: error #5270: Internal Compiler Error: symbol not a SYMTOK
Bad allocation strategy
file.i: catastrophic error: **Internal compiler error: abort signal raised** Please report this error.....
0 Kudos
23 Replies
ereisch
New Contributor II
1,646 Views

ifort version 19.1.3.304

Compile line:

ifort -module ./.mod -warn noalignments -fpp -no-save-temps -extend-source 132 -assume nounderscore -gen-interfaces nosource -syntax-only -DWITH_MKL -I./.mod -m32 -I./text test.for

Steve_Lionel
Black Belt Retired Employee
1,633 Views

Unfortunately, the message does not help identify the problem. First, try it with the 2021.1.2 oneAPI compiler (free). If it still fails, try to come up with a smaller reproducer. I have seen that message come up with issues related to host association.

You should also try gradually removing options to see if one of them triggers the issue - that is an additional help in locating the compiler bug (and a "catastrophic error" is always a compiler bug.)

 
Ron_Green
Moderator
1,625 Views

if it's a large, complex source with a lot of USE statements you should also try option

-qoverride-limits

ereisch
New Contributor II
1,611 Views

Unfortunately, also did not work.

ereisch
New Contributor II
1,610 Views

Sorry, the replies are inlining into the messages I'm clicking "Reply" on.  Ron's suggestion did not work.

Ron_Green
Moderator
1,603 Views

what version of the compiler do you use?

ereisch
New Contributor II
1,588 Views
mecej4
Black Belt
1,569 Views

Ereisch, the scanty evidence that you have given is, I think, simply insufficient for the compiler developers to attempt any fixing. By your own declaration, small changes to the code being compiled make the error disappear.

If I had written a large, complex, program with a tiny section that checked for an error and that section could have been called from dozens of diverse places, merely being told by one of my program users that the error message was displayed, without the program user telling me how to reproduce the error, I would not be able to do anything.

JohnNichols
Valued Contributor II
1,624 Views
if(event == "catastrophic error" and type == "Fortran") then 
           RESULT = "is always a compiler bug.")
Elseif(event == "catastrophic error" and type == "Sandy Desert") then 
           RESULT = "refrigator is broken and the beer is hot.")
ereisch
New Contributor II
1,617 Views

Unfortunately, no.  If I change pretty much any compilable line in the file, the error disappears.  The bare minimum compiler flags that still generates the exception are:

ifort -fpp -extend-source 132 -gen-interfaces nosource -syntax-only -I/some/path file.for

 If I try compiling without generating an interface module file, it doesn't have issues.  If I insert a line after the variable definition section assigning a random variable a random value, it doesn't have issues.  If I remove any random line in the file, it doesn't have issues.  If I comment out any random line of code, it doesn't have issues.

jimdempseyatthecove
Black Belt
1,557 Views

>>If I try compiling without generating an interface module file, it doesn't have issues. If I insert a line after the variable definition section assigning a random variable a random value, it doesn't have issues. If I remove any random line in the file, it doesn't have issues. If I comment out any random line of code, it doesn't have issues.

I seem to recall similar issues in the past. In particular "If I insert a line after the variable definition section assigning a random variable a random value, it doesn't have issues" could be indicative that the prior 1st execution statement was ambiguous as to if it were an executable statement .OR. a statement function.

The statement function ambiguity (should it exist) may interact with interface checking.

Note, nothing inherently wrong with statement functions (other than being distasteful for newer Fortran programmers/committee members).

Removing/Commenting a random line would be indicative of something else (but this does not preclude an interaction with s.f.)

Does your program use INCLUDE and/or #include?

If so, assure that the included file ends with a line terminator.

Also, the compiler default optimization may enable IPO, add the flag to disable ipo.

Jim Dempsey

 

Ron_Green
Moderator
1,546 Views

as Jim suggested, add option  -O0

otherwise you get -O2 with a lot of optimizations turned on.

ereisch
New Contributor II
1,366 Views

I finally have a genericized reproducer for this issue.  Is there a separate form (or forum) for submitting Software Problems Reports, or can that only be done via the Intel moderators in this forum?

Steve_Lionel
Black Belt Retired Employee
1,352 Views

There is the Intel Online Service Center. If you don't have a support license, your ticket might be closed without action, but this depends on who processes it. (My opinion is that all bug reports with simple reproducers should be accepted - it would be fine to close the ticket then, but it needs to be sent to development.)

Ron_Green
Moderator
1,342 Views

Steve is correct - if you have a Support license then use Intel Online Service Center

if not, just post it here.  Make sure to specify what compiler version you used to reproduce this problem.

gib
New Contributor II
1,298 Views

Out of interest I decided to install the oneAPI Base toolkit.  Installation fails immediately:

"The program can't start because api-ms-win-shcore-scaling-l1-1-1.dll is missing from your computer."

I'm not sure what this means, or what I should do.  There are websites offering to help me, but I don't know that I trust them.

gib
New Contributor II
1,260 Views

Following up on my oneAPI query, I was able to install the Base toolkit on a W10 machine with the latest VS Community installed.  I have encountered some other issues (like an Internal compiler error when trying to run the vector-add sample) and I'd like to know where I should go to post a message about these.

Thanks, Gib

ereisch
New Contributor II
1,205 Views

Bug ID CMPLRIL0-33765

JohnNichols
Valued Contributor II
1,181 Views

Bug ID CMPLRIL0-33765

Interesting tag, it must mean something to the person who invented it 

Steve_Lionel
Black Belt Retired Employee
1,146 Views

CMPLR = Compiler
IL0 = Internal name of the code generator used by "classic" Intel compilers (Intermediate Language Zero). For bugs with the new ifx, you'll see LLVM in place of IL0.

Reply