- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I am compiling an in-house fortran code, and with intel fortran (versions 14.0.2 and 16.0.3) I get an error message
4010026_1184
analysis.f90(105): catastrophic error: **Internal compiler error: internal abort** Please report this error along with the circumstances in which it occurred in a Softw
are Problem Report. Note: File and line given may not be explicit cause of this error.
compilation aborted for analysis.f90 (code 1)
The compiler options invoked are
CC = ifort
CLINK = mpif90
HDF5=$(HDF5HOME)
CFLAGS = -O3 -c -g -p -traceback -openmp -I$(HDF5)/include -pg -assume byterecl -gen-interfaces
LINK_FLAGS = -O3 -traceback -openmp -mkl -Wl,-rpath, -lfftw3 $(HDF5)/lib/libhdf5_fortran.a $(HDF5)/lib/libhdf5.a -lz -lrt -lm -pg
With optimization -O1 and no optimization, and with gfortran, this error does not occur.
It seems that there are specific lines in the subroutine that cause the issue:
! this routine does the analysis of the data
subroutine analysis(hel,rho,Ao,phio,phino,rhon,val)
use params
use globalvars
use inputvars
use omp_lib
use moreadin
use hdf5
implicit none
complex(dp) :: val(13), rho(2*nrorb,2*nrorb)
complex(dp) :: tempval1
complex(dp) :: hel(nrorb,nrorb,5+nrensp)
complex(dp) :: Ao(nrindep*nrspf)
complex(dp) :: phio(nrprime,nrorb)
complex(dp) :: csum2, summa
complex(dp) :: phino(nrprimn,nrspf)
complex(dp) :: rhon(nrspf,nrspf)
complex(dp) :: overlap3, co, scme2, scme3(nrprimn)
complex(dp) :: enmat(nrindep,nrindep,nrprimn)
integer :: is, i1s, deltaspin, i1r, vorz
integer :: nrdiff, ms, ps, qs, ns, alpha, i, j, l, idet, jdet
integer :: l1r, l1s, ie, iarr(nel), larr(nel), ix
do i=1,13
val(i) = c0
enddo
! norm
do is=1,nrspf
val(1) = val(1) + rhon(is,is)
enddo
csum2 = c0
do is=1,2*nrorb
csum2 = csum2 + rho(is,is)
enddo
val(1) = val(1)*csum2
Specifically, the last line is causing the compilation abort. When it is commented out, the compilation works just fine.
Any ideas?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Inga, your bug report is incomplete, as is the code of the subroutine. To fix the ICE, they will need code that can be run through the compiler to cause the ICE.
Without the sources for all the modules USEd in your code, the .mod files will be missing, and the compiler will issue error messages for the USE statements. Likewise, it will note that the subroutine has no END statement. The compiler pass that generated the ICE may not even be run. If the ICE cannot be reproduced, there is nothing to do.
The line number shown in the ICE message is 105. The source that you provided contains only 36 lines.
You will be asked to file a bug report at https://supporttickets.intel.com/?lang=en-US
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
An internal compiler error is by definition always a compiler bug. However, this is on rather old versions. Did you try this with ifort 17 oor 18?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Inga, your bug report is incomplete, as is the code of the subroutine. To fix the ICE, they will need code that can be run through the compiler to cause the ICE.
Without the sources for all the modules USEd in your code, the .mod files will be missing, and the compiler will issue error messages for the USE statements. Likewise, it will note that the subroutine has no END statement. The compiler pass that generated the ICE may not even be run. If the ICE cannot be reproduced, there is nothing to do.
The line number shown in the ICE message is 105. The source that you provided contains only 36 lines.
You will be asked to file a bug report at https://supporttickets.intel.com/?lang=en-US
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page