NVFortran Fatal error with certain submodules across files

Hello,

I think I have finally made a reproducer for an issue that has been periodically cropping up in our code base. The compiler dies with the error message nvfortran-Fatal-/software/LAVA_deps/NVIDIA_25.3/Linux_x86_64/25.3/compilers/bin/tools/fort2 TERMINATED by signal 11 when compiling certain submodules. I have not been able to determine why some files succeed while others fail. However, I was able to make a reproducer using the example files below.

File 1 myAPI.F90


module myTypes
    type typeA

     real(8), dimension(:), allocatable :: vec

  end type typeA

end module myTypes

module myMod
  implicit none

  ! I/O interface
  interface
     module subroutine submod_routine()
     end subroutine submod_routine
  end interface

contains

  subroutine module_routine(var1)    
    
    use myTypes, only : typeA
    
    ! Input/Output
    type(typeA) :: var1

    write(*,*) 'hi from module_routine'

  end subroutine module_routine


end module myMod

File 2 test_submod.F90

submodule (myMod) mysubmod
  
contains
  
  module subroutine submod_routine()
    use myTypes, only : typeA
    ! Write out the surface gradient
    
    ! Working
    type(typeA) :: var1
    type(typeA) :: var2
    
    allocate(var1%vec(100), var2%vec(100))
    
    call module_routine(var1)
    
  end subroutine submod_routine
  
end submodule mysubmod

I’m compiling the files like this

> nvfortran  -O0 -c myAPI.F90  -o myAPI.o
> nvfortran  -O0 -c test_submod.F90 -o test_submod.o
nvfortran-Fatal-/software/LAVA_deps/NVIDIA_25.3/Linux_x86_64/25.3/compilers/bin/tools/fort2 TERMINATED by signal 11

If you take test_submod.F90 and append it to myAPI.F90 and compile it, then the issue does not occur.
If you remove the allocation of var2%vec the issue does not occur either.

I am using the NVFortran v25.3 on a Linux workstation running RHEL8

Thank you for your help,
Josh

Hi Josh,

Thanks for the report and the great example code. I’ve filed a problem report, TPR #37402, and sent it to engineering for investigation.

-Mat

Hi Josh,

FYI, TPR #37402 has been fixed in our 25.9 release.

-Mat

1 Like