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

ICE for coarrays with ifort 19.0.5.281 (Windows 10 and Linux)

David_Kinniburgh
Beginner
716 Views
   program caf_ICE
   ! Coarray program
   ! Intel(R) Visual Fortran Compiler 19.0.5.281 [Intel(R) 64]
   implicit none
   type result
      character(:), allocatable :: val(:)
   end type result

   ! coarray
   type(result), allocatable :: results(:)[:]

   allocate(results(1)
  • ) if (.not. allocated(results(1)%val)) then allocate(character(40)::results(1)%val(1)) endif ! save some data results(1)%val(1) = '1234' sync all print *, "sync all", this_image() if (this_image() .eq. 1) then write (*, '(A)') results(1)[1]%val(1) ! ICE !write (*, '(A)') results(1)[1]%val ! OK !write (*, '(A)') trim(results(1)[1]%val(1)) ! OK endif end program caf_ICE
  •  

    0 Kudos
    1 Solution
    5 Replies
    FortranFan
    Honored Contributor II
    716 Views

    If you haven't submitted a support request with Intel Online Service Center (https://supporttickets.intel.com/?lang=en-US), please do so - an ICE is always a compiler bug worthy of immediate attention.  Thanks,

    0 Kudos
    David_Kinniburgh
    Beginner
    716 Views

    I had intended to add a few comments to my original submission but couldn't work out how to insert comments after the code. The originating program divides repeated tasks equally amongst a number of images, does the calculations, then combines the individual sets of results into a single object ready to be returned upstream. I found that the code was sensitive to details and could run successfully but could also result in an ICE, as demonstrated here, or compiled but then led to a run time error at the same offending line. I wasn't sure whether it was due to my misunderstanding of coarrays/allocatables/synchronization but the ICE suggested there was definitely some sort of problem with the compiler, perhaps one that went deeper than error diagnostics. I currently have free access to ifort (shortly to be ended) courtesy of the 'hobbyists' scheme originally set up by Steve a few years back. My license has now been changed to a 'student' license which being free does not offer OSC support, which is fair enough. Accordingly, my earlier submission to OSC was rejected but they suggested I submit it here so that is what I did.

    0 Kudos
    FortranFan
    Honored Contributor II
    716 Views

    David Kinniburgh wrote:

    .. My license has now been changed to a 'student' license which being free does not offer OSC support, which is fair enough. Accordingly, my earlier submission to OSC was rejected but they suggested I submit it here so that is what I did.

    It seems the right thing to do for Intel to allow any and all users, whether hobbyist or student or trial licensors, to report ICEs with their compiler at their OSC support site.  Intel will then show in good faith to all their paying customers they truly believe in product stewardship and they intend to continuously and promptly improve their product.

    Re: "they suggested I submit it here so that is what I did" - will wait to see if some Intel staff follows up on this ICE.

    0 Kudos
    Devorah_H_Intel
    Moderator
    716 Views

    Thank you for your report. This issue is escalated  for further investigation and fix.

    0 Kudos
    Devorah_H_Intel
    Moderator
    644 Views
    0 Kudos
    Reply