I have seen a couple of similar bug reports on the forum, but not sure this is identical, so here goes.
With ifort 188.8.131.52 using -assume realloc_lhs, the following code gives a segfault at line 12, which looks to me like a compiler bug.
module my_class_module type my_type real, allocatable :: arr(:,:) contains procedure :: my_assignment generic :: assignment(=) => my_assignment end type contains subroutine my_assignment(lhs,rhs) class(my_type), intent(inout) :: lhs type(my_type), intent(in) :: rhs lhs%arr = rhs%arr end subroutine end module program hello use my_class_module type(my_type) :: c[*] allocate(c%arr(2,2)) c%arr = 0.0 if (this_image() .gt. 1) c%arr = c%arr ! this is ok if (this_image() .gt. 1) c = c ! this line triggers a segfault end program