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