- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What is the best way to approach these internal compiler errors when converting from ifort to ifx? I've pasted the traceback below but I haven't been able to pinpoint where to really begin looking other than around line 152.
The subroutine here on line 152 in this error has multiple entry points, multiple goto statements, and a contains clause. If I were writing from scratch, I would have this file designated as a module with subroutines for each of these entry points.
#0 0x00007ff70456046a (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0x112046a)
#1 0x00007ff70455327a (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0x111327a)
#2 0x00007ff7044a7df7 (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0x1067df7)
#3 0x00007ff7044f3c1c (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0x10b3c1c)
#4 0x00007ff7044f2ef7 (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0x10b2ef7)
#5 0x00007ff704538313 (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0x10f8313)
#6 0x00007ff70453a4a6 (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0x10fa4a6)
#7 0x00007ff704537284 (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0x10f7284)
#8 0x00007ff70453703d (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0x10f703d)
#9 0x00007ff704477131 (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0x1037131)
#10 0x00007ff704476b90 (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0x1036b90)
#11 0x00007ff703454a8e (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0x14a8e)
#12 0x00007ff7042a8518 (C:\PROGRA~2\Intel\oneAPI\compiler\2024.1\bin\compiler\xfortcom.exe+0xe68518)
#13 0x00007ff93d3f257d (C:\Windows\System32\KERNEL32.DLL+0x1257d)
#14 0x00007ff93e88aa48 (C:\Windows\SYSTEM32\ntdll.dll+0x5aa48)
C:\dev\dir\file.f90(152): 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.
ifx: error #10298: problem during post processing of parallel object compilation
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What compiler options are you using? Sometimes the ICE (internal compiler error) goes away when compiling with /Od.
ifx should not do that. Please post a small reproducer so we can file a bug and get that fixed!
As another workaround you can mix and match object files and .mod files between ifx and ifort as long as you aren't compiling with /Qipo.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Our debug configuration builds are set to use /Od for the optimization level. Our release configuration is set to the default to maximize speed, but I have not been able to try release builds on IFX yet.
The compiler options I am seeing from our project file are these (minus the /I flags since they contain our internal project names):
/nologo
/debug:full
/MP
/Od
/assume:buffered_io
/DDLLE
/extend-source:132
/noaltparam
/Qopenmp
/standard-semantics
/fpscomp:logicals
/Qdiag-disable:11073,10448
/debug-parameters:all
/warn:declarations
/warn:externals
/warn:unused
/warn:truncated_source
/warn:uncalled
/Qauto
/iface:cvf
/module:"x64\Debug\\"
/object:"x64\Debug\\"
/traceback
/check:bounds
/check:uninit
/check:format
/check:output_conversion
/check:stack
/libs:dll
/threads
/dbglibs
/c
/dll
/Qip
/Qprec
/QxAVX
/assume:nofpe_summary
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
So much for the easy fix.
Please post a small reproducer.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Attached example.f90 which yields an internal compiler error; this is a very simplified version of the file that produces the error in our build.
If you comment out line 30, the error goes away. Additionally, if the entry point is set to take iarray as an argument this issue also goes away for me.
Code in case file is deleted:
subroutine outer_sub(nstarg, dimarg, errarg)
implicit none
integer nstarg, dimarg, retarg, errarg, &
iarray(dimarg, nstarg)
integer, parameter :: nstr = 16
errarg = 0
return
entry get_count(nstarg, dimarg, errarg, retarg)
errarg = 0
retarg = 0
return
contains
subroutine my_contained_sub
integer :: m, n
retarg = 0
select case (errarg)
case (1)
iarray(m, n) = 1
retarg = 1
case (2)
retarg = 1
end select
end subroutine my_contained_sub
end subroutine outer_sub
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the reproducer, @Cameron!
It still ICEs (internal compiler error) in the preview version of 2024.2. I filed a bug report, CMPLRLLVM-58122. We'll let you know when it's fixed.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page