Closed
Description
As reported by the DKRZ folks, creating a datatype with overlapping capabilities (legal for all send communications) leads to data corruption, as the packing and unpacking function will fail to compute the correct memory layout.
A simple example of such datatype is:
MPI_Type_vector(3, 1, 0, MPI_INT, &btypes[0]);
MPI_Type_indexed(1, (int[]){1}, (int[]){0}, MPI_INT, &btypes[1]);
MPI_Type_create_struct(2, (int[]){1,1}, (MPI_Aint[]){0,12}, btypes, &dt);
All Open MPI versions are affected. However, it has been decided during the weekly call to only fix it in every release after 3.0 and obviously master.