Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
96 Views

catastrophic error: **Internal compiler error: segmentation violation signal raised** Please report this error along with the ci

Hi,

I received the following error:

ifort    -qopenmp -c mod_transition.f90

mod_transition.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 mod_transition.f90 (code 1)
Makefile:64: recipe for target 'mod_transition.o' failed
make: *** [mod_transition.o] Error 1

Using ifort/2017.1.132-GCC-6.3.0-2.27

I received the error after making some changes to the mod_transition.f90 file. But have since reverted to a previous commit which compiled fine, and the error still persists. I've found that compiling with the -g debug flag the error does not occur.

The problem also occurs if instead I use ifort/2017.1.132-GCC-5.4.0-2.26

 

 

0 Kudos
6 Replies
Highlighted
Black Belt
96 Views

Please provide the source file mod_transition.f90, and the sources of any modules that are USEd in mod_transition.f90.

0 Kudos
Highlighted
Beginner
96 Views

here you go. that should include all of the dependencies (and recursive dependencies) for mod_transition.f90

thanks.

0 Kudos
Highlighted
Black Belt
96 Views

Thanks for the source files. I can see the following behavior with 17.0.2 on Windows 10-64. With any level of optimization other than /Od (i.e., no optimization), the compiler takes an excessively long time with mod_transition.f90 (e.g., 42.3 s with /Ot versus 1.9 s with /Od).

The ICE that you saw may or may not be related, but you could try compiling the problem source file with lower levels of optimization. You could also look into breaking up mod_transition.f90 into smaller pieces.

0 Kudos
Highlighted
96 Views

I notice that in mod_transition.f90 that all of your contained subroutines have no arguments. You can safely place each of these subroutines in separate source files. And if you desire, define the interfaces (with no arguments) in the data declaration section of mod_transition.f90.

Jim Dempsey

0 Kudos
Highlighted
Black Belt Retired Employee
96 Views

But please don't do that! Leave them in the module. I consider it bad practice to use interface blocks for Fortran routines, except in the few circumstances the language requires it.

0 Kudos
Highlighted
Moderator
96 Views

Hello Kurt,

Thank you for the report. I tested with 17.0.3 and later versions of the compiler - no ICE.

7996$ ifort -c -qopenmp mod_transition.f90
7996$ ifort -V
Intel(R) Fortran Intel(R) 64 Compiler for applications running on Intel(R) 64, Version 17.0.3.191 Build 20170404
Copyright (C) 1985-2017 Intel Corporation.  All rights reserved.

 

 

0 Kudos