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

error #5623: **Internal compiler error: internal abort**

RoyRogers
Beginner
917 Views

stgd2omod.for(321): error #5623: **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.

       call root (est1,est2,0.0d0,dsf,dsz)

-------^

compilation aborted for stgd2omod.for (code 3)

The compilation command is:

ifx -c -O2  -auto -ansi-alias- -pad-source -warn -traceback -fltconsistency -fpconstant -nogen-interfaces stgd2omod.for

The compiler version: Intel(R) Fortran Compiler for applications running on Intel(R) 64, Version 2025.0.1 Build 20241113

OS:  Ubuntu 22.04.5 LTS (GNU/Linux 5.15.167.4-microsoft-standard-WSL2 x86_64)

 

I have attached the stgd2omod.for for reference. and the file that call root is in.

0 Kudos
5 Replies
Andy59
Beginner
830 Views

I got the same problem on Windows using VS 2022 + Intel OneAPI 2024.

I don't think it is the source code that causes this problem. Maybe you could try to compile the same program using the legacy ifort instead of the new ifx compiler. Because in my case, this problem only happens when I switch the compiler to ifx. If I switch it back to the ifort, the error just disappeared

0 Kudos
andrew_4619
Honored Contributor III
796 Views

An ICE is a bug however I suggest the subroutine "root" should declare within it an interface for "func" maybe it will behave properly if you do that.

Edit: I can repeat your ICE and interfaces does not fix it. I will note rcfunc.for is not needed stgd2omod-1.for will ICE in IFX 2025.0.0  compiled on its own, it does not ICE on the last IFORT.

0 Kudos
VMQ1981
Beginner
751 Views

Hello,

I work together with @RoyRogers in this issue. We are doing a conversion from IFORT to IFX.
rcfunc.for file is not necessary, and the ICE did not exist with IFORT (thank you @Andy59 and @andrew_4619).

We need to fix the error in IFX because Intel is encouranging the users to move to ifort, and ifort is no longer available from Intel website (the last release does not include ifort).

Thank you for the support.

0 Kudos
andrew_4619
Honored Contributor III
736 Views
      module fred
      implicit none
      integer, parameter, private :: kr=selected_real_kind(12,200)
      contains
      
      subroutine dens (ku,t,p,d,dl,dv,kz)
      implicit none
      integer ku,kz
      real(kr) t,p,d,dl,dv
      real(kr) est,est1,est2, dsz
      est = 1.0d0
      est2 = 2.0d0
      dsz = 3.0d0
      call root (est1,est2,0.0d0,dsf,dsz)
      end subroutine dens

      function dsf(d)
      implicit none
      real(kr) dsf,ddsf
      real(kr) d
      dsf = 1.0d0
      return
      entry ddsf(d)
      dsf = 2.0d0
      return
      end function dsf
      end module fred

I distilled the module to 27 lines of code. The trigger for the ICE is the use of ENTRY in function dsf that is passed as a parameter, if you remove the entry part it melts.

0 Kudos
Igor_V_Intel
Moderator
628 Views

The bug escalated to the compiler development team and will be addressed in upcoming compiler updates.


0 Kudos
Reply