Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Important Update: Community Platform Migration​. Learn more​>

IFX bounds checking/SIMD bug

skamhes
Beginner
306 Views

Currently running ifx 2026.1.0 20260617 on Debian 13.  The code below causes an error when running ifx with "-check bounds" enabled.

 

Minimum code to reproduce the error:

module extern
    integer :: ncells
    
    real, dimension(:,:,:), allocatable :: ccgradq
    real, dimension(:,:), allocatable :: xyz, q
    real, dimension(:), allocatable :: xc, yc, zc 
    real, dimension(:), allocatable :: phi

    type cc_data_type
        integer, dimension(:), allocatable  ::     vtx    
        real                        :: xc, yc, zc 
        real                        ::        vol 
        integer                         ::    nnghbrs 
        integer, dimension(:),  pointer ::      nghbr 
        integer, dimension(:,:),pointer ::    commonv 
        integer, dimension(:),  pointer ::   ncommonv 
    end type cc_data_type
    type(cc_data_type), dimension(:), pointer :: cell
end module

module limiter

    implicit none

    contains

    subroutine compute_limiter
        
        use extern

        implicit none
        ! Some local vars
        integer  :: i, ivar, k, iv
        real :: xp, yp
        real, dimension(5) :: phi_var_min

        cell_loop : do i = 1,ncells
            phi_var_min = huge(phi_var_min(1))
            !$OMP SIMD SIMDLEN(4)
            variable_loop : do ivar = 1,2
                vertex_loop : do k = 1,5
                    iv = cell(i)%vtx(k)
                    xp = xyz(1,iv)
                    yp = xyz(2,iv)
                    
                end do vertex_loop

            end do variable_loop
            !$OMP END SIMD
            phi(i) = minval(phi_var_min)
        end do cell_loop
                    
    end subroutine compute_limiter

end module limiter

Changing line 54 to:

            phi(i) = phi_var_min(1)
            do ivar = 2,5
                phi(i) = min(phi_var_min(ivar),phi(i))
            end do

or further commenting out the SIMD directives results in the compiler returning successful.

The compiler command that causes the error is:

ifx -check bounds -c test.f90 -o test.o

and the resulting error message is:

out_of_range was thrown in -fno-exceptions mode with message "vector"test.f90: 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 test.f90 (code 3)

0 Kudos
2 Replies
jdelia1
Novice
261 Views

Dear skamhes,

As a reference, I tried your original test code using Fedora 44 with the compiler version:

$ ifx --version
ifx (IFX) 2026.1.1 20260724
Copyright (C) 1985-2026 Intel Corporation. All rights reserved.

using:

$ ifx -check bounds -c test.f90 -o test.o

However, the test is ok.

Regards.

Jorge D'Elia.

 

$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 39 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Vendor ID: GenuineIntel
Model name: Intel(R) Core(TM) i7-4702MQ CPU @ 2.20GHz
CPU family: 6
Model: 60
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
Stepping: 3
CPU(s) scaling MHz: 51%
CPU max MHz: 3200.0000
CPU min MHz: 800.0000
Caches (sum of all):
L1d: 128 KiB (4 instances)
L1i: 128 KiB (4 instances)
L2: 1 MiB (4 instances)
L3: 6 MiB (1 instance)
NUMA:
NUMA node(s): 1
NUMA node0 CPU(s): 0-7

$ hostnamectl 
Icon name: computer-desktop
Chassis: desktop
Operating System: Fedora Linux 44 (Workstation Edition)
CPE OS Name: cpe:/o:fedoraproject:fedora:44
OS Support End: Wed 2027-05-19
OS Support Remaining: 8month 1w 4d
Kernel: Linux 7.1.13-200.fc44.x86_64
Architecture: x86-64
Hardware Vendor: ADVANTEC SA
Hardware Model: CX Nice Evo II
Hardware SKU: 0
Hardware Version: 1.0
Firmware Version: C15B.608
Firmware Date: Wed 2013-11-13
Firmware Age: 12y 9month 3w 1d

0 Kudos
Igor_V_Intel
Moderator
124 Views

I reproduced this crash on my system with the latest compiler version:

$ ifx -check bounds test.f90
#0 0x00005d65622da1e1
#1 0x00005d6562342e57
#2 0x00005d6562342f37
#3 0x0000101543e45320
#4 0x0000101543e9eb1c pthread_kill + 284
#5 0x0000101543e4526e gsignal + 30
#6 0x0000101543e288ff abort + 223
#7 0x00005d6563ab07b6
#8 0x00005d656217d1c6
#9 0x00005d65635c2871
#10 0x00005d65614bb743
#11 0x00005d65614abcc7
#12 0x00005d65614abaf4
#13 0x00005d65614abbd2
#14 0x00005d65614aba44
#15 0x00005d65614ab7d0
#16 0x00005d65614ab630
#17 0x00005d65611f64e5
#18 0x00005d65611f62e9
#19 0x00005d656113d325
#20 0x00005d65612a9b63
#21 0x00005d6561134eaf
#22 0x00005d6562273a1c
#23 0x00005d65622715a7
#24 0x00005d656221847b
#25 0x00005d6562407aa2
#26 0x0000101543e2a1ca
#27 0x0000101543e2a28b __libc_start_main + 139
#28 0x00005d6562051e3e

out_of_range was thrown in -fno-exceptions mode with message "vector"test.f90: 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 test.f90 (code 3)

I will escalate it to our development team. Thank you for reporting it.

0 Kudos
Reply