Internal Compiler Error

Internal Compiler Error

I've justed switched over from Fortran Composer XE 13.1.3.198. to Fortran Studio 14.0.0.103 and I am getting several internal compiler errors similar to this:

Compiling with Intel(R) Visual Fortran Compiler XE 14.0.0.103 [Intel(R) 64]...

ice-test2.f90

C:\Win\FEM2000-XE\Modules\ice-test2.f90(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.
compilation aborted for C:\Win\FEM2000-XE\Modules\ice-test2.f90 (code 1)

I tracked down the cause of at least some of these and managed to reproduce the problem. In the following example the compiler crashes at the matrix matmul function. It does not like the union/map in the type definition as taking this out results in a successful compilation. I use the union map feature in the type definitions quite a lot (although I believe it is not standard) because it is easy for debugging and a neat way of processing data from unformatted and binary files where mixed data is stored. If the union/map nest is commented out or the matmul is commented out the compilation works with no error.

module camera

!***************************************************************
! Control the view aspects of the model
!***************************************************************

! Private Variables
type view_setting
sequence
real :: xyz(3,3) = (/1.,0.,0.,0.,1.,0.,0.,0.,1./) ! Rotation Matrix
union
map
real :: xmin 
real :: xmax 
real :: ymin 
real :: ymax 
real :: znear
real :: zfar 
end map
map
real :: window(6) ! Viewport Window Extents
end map
end union
end type view_setting

! Set up user variables
type(view_setting) :: cam

contains

subroutine test 
real :: rot(3,3) = 0.0
cam%xyz = matmul(rot,cam%xyz)
end subroutine

end module camera

The code example is extracted from a larger module and has been hacked down to illustrate the problem. In the meantime I will have to revert back the version 13 where everything worked fine.I obviously don't want to modify the code which has been tried and tested and has functioned properly for over ten years.

Is possible to revert back to a previous version of Fortran Studio, the download centre said is was not available?

Thanks

 

Steve

publicaciones de 13 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.

In the download window, the older version is labeled 2013.5.198.  That's the same as 13.1.3.198, (due to the marvels of marketing?).  I've experienced myself the issue where the older versions can't be selected in FireFox but other browsers are fine.  With the addition of the new 14.0 update last night, the 13.1.198 got pushed a little further down in the menu, and maybe while the change was in flight you may have seen additional problems.

You should be able to keep both the latest 13.1 and latest 14.0 installed, although I would share your dislike of the Windows procedure for choosing among them.

It's looking like a 2 hour download to get the Fortran update here and no near term chance of getting the C++.  It may only get worse when the announcement emails go out.

In principle, with the 14.0, you could use the online installer to avoid downloading both 32- and 64-bit, and to make additional category choices.  That works for linux compilers, not so well for Windows.

I've managed to select the previous compiler within VS and it does not seem to cause any issue.

I hope Intel can resolve the problem with version 14. The compiler crash seemds to be related to array operations where the array is nested in a union/map data structure like the one in the example above.

Thank you for the convenient reproducer. I'm glad you were able to select the previous compiler to work around this error. I will try reproducing and forward to Development and keep you updated on the status of a fix.

Easily reproduced and still reproducible with the latest Composer XE 2013 SP1 Update 1 also. I sent the issue to Development and will keep you updated about a fix as I learn it.

(Internal tracking id: DPD200249339)

I notice that this issue has not yet been addressed in 14.0.2.176 SP1 Update 2. Any idea when it will be resolved?

In the meantime I'm stuck with 13.1.2.190.

Thanks

 

Steve

Hi Steve - There has not been any update from Development on this issue. I inquired about status/progress and noted the impact on your ability to move to newer versions and I will update you again after I hear back.

Steve,

I apologize for the delay in getting a response from Development. From another related instance that I received, I determined there is a fix for your issue that will be in the major release later this year.

Due to Development’s assessment of the risk of those changes, they will not be back ported to the current Composer XE 2013 SP1 (14.0) release. I’m sorry I do not have better news regarding a fix for the 14.0 compiler. If you are interested in trying the next major release early, it is currently in Beta testing. Information about the current Beta program is available here.

The root cause “is an issue with overlapping fields in an assignment where one of the fields in the assignment is a member of a user defined type, where the user defined type includes union/map.”

There is not an ideal work around. As you noted earlier, one could avoid UNION/MAP (which sounds impractical in your case). Another is to assign to an intermediate temporary and then to the field in the user defined type (see below) avoiding the overlap. I don’t know how practical that is in your larger app.

…
! Set up user variables 
type(view_setting) :: cam 
 
real :: temp(3,3)
 
contains 
subroutine test 
real :: rot(3,3) = 0.0 

!!cam%xyz = matmul(rot,cam%xyz) 
temp = matmul(rot,cam%xyz) 
cam%xyz = temp
…

Again, I apologize for the delay.

Kevin

Hi Kevin,

Would I be be right in assuming that this issue has not yet been resolved in the latest 15.0 beta update?

Hi Steve,

Sorry if my earlier reply was not clear. But no, the fix is available in the CXE 2015 Beta Initial release and the latest Beta Update 1. I don't have the Windows versions of either of those installed currently but I confirmed on Windows that it is fixed in the upcoming CXE 2015 Beta Update 2, and confirmed on Linux it was fixed in those earlier versions.

Are you seeing otherwise?

Kevin

Thanks Kevin, that's good news. I plan to carry on with my current version until 15.0 is officially released although I might try the latest beta version if I get some spare time. If all goes well I will  confirm on this thread.

Thanks again.

Steve

Pleased to confirm this issue is resolved although I don't see Internal tracking id: DPD200249339 listed in Intel® Parallel Studio XE 2015 Composer Edition Compilers Fixes List. I can only assume that it is related to another issue.

Glad to hear you confirmed the fix. The original tracking id I provided was equated to (and closed as a duplicate of) an earlier reported internal error, DPD200250112, and as such the id I reported was not included in the 2015 Fixes list.

Deje un comentario

Por favor inicie sesión para agregar un comentario. ¿No es socio? Únase ya