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

internal compiler error, ifort 16.0

Hallatschek__Klaus
481 Views

The source file below produces upon compilation with ifort 16.0.0 20150815 on two slightly different parallel sandy bridge systems with

ifort -r8  -O2  -c compilererror.f90

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 compilererror.f90 (code 1)

The compilation completes without errors for -O1, without -r8 or for version 15.0.2, and maybe lower versions, too.


compilererror.f90:

module b

  implicit none
  integer :: e

contains

  subroutine a(c,d)
    implicit none
    integer :: i  
    real, dimension(-e:) :: c
    real, dimension(*) :: d

    do i=1,9
       d(i)=-c(i-1)
    enddo

end subroutine a


end module b

This is the most simple version of the error producing code I could find.
Is there anything wrong with the piece of code? What could be the reason for the (optimizer?) error?

Thanks in advance!

K.H

 

0 Kudos
4 Replies
Steven_L_Intel1
Employee
481 Views

Thanks - I can reproduce this and will send it on to the developers. There's nothing wrong with your code that I can see. The key here seems to be the kind of D - if it is REAL(8) you get the error. I will let you know what we find.

0 Kudos
Steven_L_Intel1
Employee
481 Views

I can't reproduce this in our development stream for what I expect to be 16.0.2, due in February, so it looks as if this may have been fixed. When I get a real Update 2 compiler I will check again.

0 Kudos
Hallatschek__Klaus
481 Views
Thanks for checking this out. However the fact that it isn't reproducible in 16.0.2 doesn't mean that the error has been eliminated. In the same way as small changes in my example can get rid of the error message (e.g. changing -c to +c), trivial modifications in the memory management of the optimizer might have done, without really curing the underlying problem. I'd be less worried, if the reason for the specific error is understood and corrected - especially in the light that the optimizer produces wrong code even for level -O1 for the source file from which this example was cooked down. (The problem only is, I cannot track it down to a small code section.) All the best, K.H.
0 Kudos
Steven_L_Intel1
Employee
481 Views

I hear you, but this type of request would get a very low priority when compared to fixing bugs that are still reproducible. It won't be long before 16.0.2 is out and you can try that on your larger code. If it still fails, then get back to us. 

0 Kudos
Reply