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

ifx ICE for long module/submodule names when module/submodule in different files

FlyingHermes
New Contributor I
221 Views

Hi,

I'm hitting an ICE with ifx version 2025.0.4 for long module/submodule names when the submodule is stored in a different file than the module. ifort has no issue for the same scenario.

Here is a reproducer. The module file is:

module a_very_long_module_name_will_cause_an_ice_at_compiler_time
  implicit none
  interface
    module subroutine fct( Var )
      implicit none
      logical ,intent(in)     ::  Var
    end subroutine
  end interface
end module

and the submodule file is:

submodule(a_very_long_module_name_will_cause_an_ice_at_compiler_time) another_long_name_for_the_submodule
  implicit none
  contains
  module procedure fct
  end procedure
end submodule

The compilation is successful if the name of the module or the name of the submodule are shorten (for example to 'm' and 's'). Also, without altering the module/submodule names, if the submodule is placed in the same file than the module, then there is no compilation error, as in:

module a_very_long_module_name_will_cause_an_ice_at_compiler_time
  implicit none
  interface
    module subroutine fct( Var )
      implicit none
      logical ,intent(in)     ::  Var
    end subroutine
  end interface
end module

submodule(a_very_long_module_name_will_cause_an_ice_at_compiler_time) another_long_name_for_the_submodule
  implicit none
  contains
  module procedure fct
  end procedure
end submodule

The ifx compilation was done using:

module load compiler/2025.0.4 --silent
ifx -v
ifx -c BugModule.F90
ifx -c BugSubModule.F90

which gives:

ifx version 2025.0.4
*** stack smashing detected ***: terminated
          #0 0x000055d4a3950b41
          #1 0x000055d4a39b5457
          #2 0x000055d4a39b5585
          #3 0x00007f448e04efd0
          #4 0x00007f448e0a8014
          #5 0x00007f448e04ef1e gsignal + 30
          #6 0x00007f448e036902 abort + 223
          #7 0x00007f448e037767
          #8 0x00007f448e1362e9
          #9 0x00007f448e137564
         #10 0x000055d4a3984914
         #11 0x000055d4a38977bc
         #12 0x000055d4a3897177
         #13 0x000055d4a3a73704
         #14 0x00007f448e038088
         #15 0x00007f448e03814b __libc_start_main + 139
         #16 0x000055d4a36ce19e

/tmp/ifx17148831131EpxkJ/ifxTFWWAX.i90: error #5629: **Internal compiler error: abort 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 BugSubModule.F90 (code 3)

The code compiles fine with ifort using:

module load compiler/2024.2.0 --silent
ifort -diag-disable=10448 -v
ifort -diag-disable=10448 -c BugModule.F90
ifort -diag-disable=10448 -c BugSubModule.F90

 which creates the object files and outputs:

ifort version 2021.13.0

 Thanks.

0 Kudos
1 Reply
Reply