- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The bug escalated to the compiler development team and will be addressed in upcoming compiler updates.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page