To: J3 J3/19-176 From: John Reid Subject: Interpretation request for intrinsic FAILED_IMAGES Date: 2019-July-08 NUMBER: F18/nnnn TITLE: FAILED_IMAGES intrinsic KEYWORDS: failed images, FAILED_IMAGES DEFECT TYPE: Erratum STATUS: J3 consideration in progress QUESTION: FAILED_IMAGES (16.9.77) provides the image indices of the images in the specified team that are known to have failed. Paragraph 5 states that "If the executing image has previously executed an image control statement whose STAT= specifier assigned the value STAT_FAILED_IMAGE from the intrinsic module ISO_FORTRAN_ENV, or referenced a collective subroutine whose STAT argument was set to STAT_FAILED_IMAGE, at least one image in the set of images participating in that image control statement or collective subroutine reference shall be known to have failed." This means that FAILED_IMAGES might provide a very incomplete list of failed images. What is the point of having such a poor intrinsic function? ANSWER: The standard has focussed on avoiding any delay in returning from an image control statement once a failed image has been found. However, this makes a user wishing to write a recovery procedure ignore FAILED_IMAGES and perform some special tests, e.g. by attempting to synchronize with each of the other images one by one. Edits are provided to make it possible to use SYNC TEAM to make FAILED_IMAGES more reliable. We have chosen SYNC TEAM rather than SYNC ALL for this purpose because of the optional argument TEAM in FAILED_IMAGES. EDITS: [203:18+] In 11.6.6 SYNC TEAM statement, add a new final para: "If the STAT= specifier in a SYNC TEAM statement is assigned the value STAT_FAILED_IMAGE from the intrinsic module ISO_FORTRAN_ENV, any image of the specified team that has been found to have failed shall be known to have failed and all the other images of the team shall have been found in execution." [370:8] In 16.9.77 FAILED_IMAGES ([TEAM, KIND]), add at the end of para 5: "If the executing image has previously executed for the specified team a SYNC TEAM statement whose STAT= specifier assigned the value STAT_FAILED_IMAGE, every image participating in that reference that was found to have failed shall be known to have failed and every other image of the team shall have been found then to be in execution."