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

Compiler internal error 11.1.059

Tim_Gallagher
New Contributor II
999 Views
Hi,

I'm sorry if I'm missing any information -- I looked for a sticky on how to present bugs/what is needed but couldn't find one. So if I didn't get it right, let me know and I'll fix it!

I get the following error when compiling with Intel Fortran 11.1.059:

src/testDrivers/geometryEdge.f90(22): internal error: Please visit 'http://www.intel.com/software/products/support' for assistance.
CALL SetEdge(edge1, vertArray(1), vertArray(2))
^
[ Aborting due to internal error. ]
compilation aborted for src/testDrivers/geometryEdge.f90 (code 1)

with compiler options -C -g -traceback. All the arguments are derived data types.

Uname -a output is:

Linux tpgLaptop 2.6.27.37-0.1-default #1 SMP 2009-10-15 14:56:58 +0200 x86_64 x86_64 x86_64 GNU/Linux

This code compiles and runs fine with no modifications on Intel 11.1.046.

I will be happy to send the source code privately if that will help. If there is any additional information needed, let me know and I will do my best to provide it.

Thanks,

Tim Gallagher
0 Kudos
1 Solution
Kevin_D_Intel
Employee
999 Views

I reproduced both internal errors. Both appear to expose the same defect related to accessing CROSSPRODUCT_EDGESIMPLE%NUMVECTORDIMENSIONS in PURE function NumVertexDimensions, although that is not yet confirmed by the Fortran Front-end Developers. There is no relationship to any specific compiler options.

As you noted, the only current work around is to use a previous 11.1 update. Both cases compile/link/execute successfully using the 11.1.056 (Linux) update.

I will continue to update this thread as I learn more.

(Internal tracking ids: DPD200141935, DPD200140682)

View solution in original post

0 Kudos
9 Replies
Kevin_D_Intel
Employee
999 Views

Thanks for notifying us about this new internal error. There really isn't a specific method to present bugs in the forum. What you offered is a great start and we can just ask if we need more.

Perhaps we can create "sticky" or a Knowledge Base link (right-side navigation) for this. Information about using Intel Premier is available in the knowledge Base article (here).

As for the internal error, a reproducing test case is needed for Development to fix the defect. We would only need geometryEdge.f90 if self-contained, but if not then we need all source for any modules or includes this source files depends on. We would also just need the complete compilation command used to go with the options you already identified as possible catalysts.

As for sharing the code, posting here is not private. To ship the code privately submit a Premier issue and attach the source necessary to reproduce the error.
0 Kudos
Steven_L_Intel1
Employee
999 Views
There's this article, Internal Compiler Error, which should be a good start
0 Kudos
Tim_Gallagher
New Contributor II
999 Views
Thanks for the reply.

I've attached the code which includes a Makefile that works under GNU Make. There's nothing specific in it that should keep it from working on Unix Make though.

There are actually two compiler internal errors generated from this code depending on the test case being run. The Makefile is setup with no flags enabled and the internal error is generated -- when the options are set to -g -traceback -C (which are commented out right now), the errors are also generated at the same points.

To see one error, run 'make testEdge' and the other comes up with 'make testFace'. The other cases, testVector and testVertex compile and work correctly. The Edge and Face module depend on the Vector and Vertex modules. There is a 'make clean' to clear out the object files if needed.

Some other information:

ifort -V gives:

Intel Fortran Intel 64 Compiler Professional for applications running on Intel 64, Version 11.1 Build 20091012 Package ID: l_cprof_p_11.1.059
Copyright (C) 1985-2009 Intel Corporation. All rights reserved.
FOR NON-COMMERCIAL USE ONLY

And the entry in my .bashrc is:

source /opt/intel/Compiler/11.1/059/bin/ifortvars.sh intel64

Both the errors I get are:

tgallagher@tpgLaptop:~/compError> make testFace
Compiling object file: obj/parameters.o
Compiling object file: obj/errors.o
Compiling object file: obj/vertex.o
Compiling object file: obj/vector.o
Compiling object file: obj/edge.o
Compiling object file: obj/face.o
src/geometry/face.f90(485): internal error: Please visit 'http://www.intel.com/software/products/support' for assistance.
IF(NumFaceEdges(this) == 1) THEN
^
[ Aborting due to internal error. ]
compilation aborted for src/geometry/face.f90 (code 1)
make: *** [obj/face.o] Error 1

tgallagher@tpgLaptop:~/compError> make testEdge
Compiling object file: obj/geometryEdge.o
src/testDrivers/geometryEdge.f90(22): internal error: Please visit 'http://www.intel.com/software/products/support' for assistance.
CALL SetEdge(edge1, vertArray(1), vertArray(2))
^
[ Aborting due to internal error. ]
compilation aborted for src/testDrivers/geometryEdge.f90 (code 1)
make: *** [obj/geometryEdge.o] Error 1

Thanks, and let me know if you need anything else.

Tim
0 Kudos
Kevin_D_Intel
Employee
999 Views

Thank you for the code and great summary! I will investigate and keep this thread updated as I learn more.
0 Kudos
Kevin_D_Intel
Employee
1,000 Views

I reproduced both internal errors. Both appear to expose the same defect related to accessing CROSSPRODUCT_EDGESIMPLE%NUMVECTORDIMENSIONS in PURE function NumVertexDimensions, although that is not yet confirmed by the Fortran Front-end Developers. There is no relationship to any specific compiler options.

As you noted, the only current work around is to use a previous 11.1 update. Both cases compile/link/execute successfully using the 11.1.056 (Linux) update.

I will continue to update this thread as I learn more.

(Internal tracking ids: DPD200141935, DPD200140682)
0 Kudos
Tim_Gallagher
New Contributor II
999 Views
Hi,

Is there an update on this? Hopefully so because I think I found a related problem that is bigger in scope!

Since I couldn't compile the edge.F90 file with 11.1.059 due to the error posted before, I've been using 11.1.046. A new file, cell.F90, now causes an internal compiler error for 11.1.046 and 11.0.074. I can't test it with 11.1.059 due to the previous error.

The output is:

|14:43||tgallagher@harpy:newcode|> make testCell
Compiling object file: obj/parameters.o
Compiling object file: obj/errors.o
Compiling object file: obj/vertex.o
Compiling object file: obj/vector.o
Compiling object file: obj/edge.o
Compiling object file: obj/face.o
Compiling object file: obj/cell.o
Compiling object file: obj/geometryCell.o
Invalid_sym_id for ADDFACETOCELL_CELLSIMPLE%NUMFACEEDGES_FACESIMPLE%FAC, -1125783552
: catastrophic error: **Internal compiler error: segmentation violation signal raised** 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.

compilation aborted for src/testDrivers/geometryCell.F90 (code 3)
make: *** [obj/geometryCell.o] Error 3

When it crashes with 11.0.074, it does not give the Invalid_sym_id line.

Attached is the code again. There is extensive use of ELEMENTAL and PURE when the DEBUG_* options in the Makefile are not defined. It crashes with no compile flags defined and with -O0 -g -traceback -C. When compiled with the DEBUG_* options in the Makefile, there is still a catastrophic error. The makefile is setup with an example case that causes it to crash.

Let me know if there's anything else needed,

Tim
0 Kudos
Tim_Gallagher
New Contributor II
999 Views
I just tried it on:

Intel Fortran Compiler for applications running on Intel 64, Version 10.1 Build 20071116 Package ID: l_fc_p_10.1.011
Copyright (C) 1985-2007 Intel Corporation. All rights reserved.
FOR NON-COMMERCIAL USE ONLY

with the same result as above.

Tim
0 Kudos
Kevin_D_Intel
Employee
999 Views

You're initial reported internal errors are fixed in the upcoming 11.1 Update 4 due out in a few days. Both test casesfor testFace and testEdge now compile and resulting executables run successfully.

The most recent internal error with testCell also appears fixed in the 11.1 Update 4, however, the compilation there is not successful (see below).

$ make testCell
Compiling object file: obj/parameters.o
Compiling object file: obj/errors.o
Compiling object file: obj/vertex.o
Compiling object file: obj/vector.o
Compiling object file: obj/edge.o
Compiling object file: obj/face.o
Compiling object file: obj/cell.o
Compiling object file: obj/geometryCell.o
src/testDrivers/geometryCell.F90(68): error #6285: There is no matching specific subroutine for this generic subroutine call. [CREATEFACE]
CALL CreateFace(simpleFace, 4)
--------^
src/testDrivers/geometryCell.F90(69): error #6285: There is no matching specific subroutine for this generic subroutine call. [CREATEFACE]
CALL CreateFace(face, 4)
--------^
src/testDrivers/geometryCell.F90(146): error #6404: This name does not have a type, and must have an explicit type. [FACESOUT]
facesOut = GetCellFaces(cell)
---^
src/testDrivers/geometryCell.F90(146): error #6284: There is no matching specific function for this generic function reference. [GETCELLFACES]
facesOut = GetCellFaces(cell)
--------------^
src/testDrivers/geometryCell.F90(147): error #6404: This name does not have a type, and must have an explicit type. [SIMPLEFACESOUT]
simpleFacesOut = GetCellFaces(cellSimp)
---^
src/testDrivers/geometryCell.F90(147): error #6284: There is no matching specific function for this generic function reference. [GETCELLFACES]
simpleFacesOut = GetCellFaces(cellSimp)
--------------------^
src/testDrivers/geometryCell.F90(150): error #6404: This name does not have a type, and must have an explicit type. [FACES]
PRINT *, facesOut == faces
------------------------^
src/testDrivers/geometryCell.F90(152): error #6404: This name does not have a type, and must have an explicit type. [SIMPLEFACES]
PRINT *, simpleFacesOut == simpleFaces
------------------------------^
compilation aborted for src/testDrivers/geometryCell.F90 (code 1)
make: *** [obj/geometryCell.o] Error 1


0 Kudos
Tim_Gallagher
New Contributor II
999 Views
Excellent! Thank you!

I fixed all the spelling related errors and tried to compile again with 11.1.046 and it's still the same problem -- I think it's the same as the previous errors.

For the CreateFace() routines, I don't see why it isn't defined. Maybe I'm not using ELEMENTAL correctly, but the interfaces are defined as scalars and I'm passing the arrays in... I thought that ELEMENTAL would make that work.

But, I will hold off on being really confused until the next update comes out and I can compile the code again. Thanks again!

Tim
0 Kudos
Reply