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

Catastrophic error while compiling large file

ereisch
New Contributor II
4,243 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
3,406 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

0 Kudos
Steve_Lionel
Honored Contributor III
3,393 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.)

 
0 Kudos
Ron_Green
Moderator
3,385 Views

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

-qoverride-limits

0 Kudos
ereisch
New Contributor II
3,371 Views

Unfortunately, also did not work.

0 Kudos
ereisch
New Contributor II
3,370 Views

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

0 Kudos
Ron_Green
Moderator
3,363 Views

what version of the compiler do you use?

0 Kudos
ereisch
New Contributor II
3,348 Views
0 Kudos
mecej4
Honored Contributor III
3,329 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.

0 Kudos
JohnNichols
Valued Contributor III
3,384 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.")
0 Kudos
ereisch
New Contributor II
3,377 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.

0 Kudos
jimdempseyatthecove
Honored Contributor III
3,317 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

 

0 Kudos
Ron_Green
Moderator
3,306 Views

as Jim suggested, add option  -O0

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

0 Kudos
ereisch
New Contributor II
3,126 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?

0 Kudos
Steve_Lionel
Honored Contributor III
3,112 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.)

0 Kudos
Ron_Green
Moderator
3,102 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.

0 Kudos
gib
New Contributor II
3,058 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.

0 Kudos
gib
New Contributor II
3,020 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

0 Kudos
ereisch
New Contributor II
2,965 Views

Bug ID CMPLRIL0-33765

0 Kudos
JohnNichols
Valued Contributor III
2,941 Views

Bug ID CMPLRIL0-33765

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

0 Kudos
Steve_Lionel
Honored Contributor III
2,906 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.

0 Kudos
Reply