This is with a debug build of 1.8.5

I'm getting segfaults with tests related to the use of
MPI_Type_create_f90_{real|complex}. See below the attached test case
and the valgrind output (BTW, MPI_Type_create_f90_integer seems to be
OK).

$ cat type_f90.c
#include <mpi.h>
int main(int argc, char *argv[])
{
  MPI_Datatype datatype;
  MPI_Init(&argc, &argv);

  MPI_Type_create_f90_integer(4, &datatype);

  MPI_Type_create_f90_real( 6,  30, &datatype);
  MPI_Type_create_f90_real(15, 300, &datatype);

  MPI_Type_create_f90_complex( 6,  30, &datatype);
  MPI_Type_create_f90_complex(15, 300, &datatype);

  MPI_Finalize();
  return 0;
}

$ mpicc type_f90.c

$ valgrind -q ./a.out
==1025== Invalid write of size 4
==1025==    at 0x4C740BF: ompi_datatype_set_args (ompi_datatype_args.c:206)
==1025==    by 0x4CC91CE: PMPI_Type_create_f90_real
(ptype_create_f90_real.c:108)
==1025==    by 0x400878: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out)
==1025==  Address 0x8e703cc is 0 bytes after a block of size 60 alloc'd
==1025==    at 0x4A0645D: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1025==    by 0x53236F0: opal_malloc (malloc.c:101)
==1025==    by 0x4C739E3: ompi_datatype_set_args (ompi_datatype_args.c:121)
==1025==    by 0x4CC91CE: PMPI_Type_create_f90_real
(ptype_create_f90_real.c:108)
==1025==    by 0x400878: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out)
==1025==
==1025== Invalid write of size 4
==1025==    at 0x4C740BF: ompi_datatype_set_args (ompi_datatype_args.c:206)
==1025==    by 0x4CC91CE: PMPI_Type_create_f90_real
(ptype_create_f90_real.c:108)
==1025==    by 0x40088E: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out)
==1025==  Address 0x8e7073c is 0 bytes after a block of size 60 alloc'd
==1025==    at 0x4A0645D: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1025==    by 0x53236F0: opal_malloc (malloc.c:101)
==1025==    by 0x4C739E3: ompi_datatype_set_args (ompi_datatype_args.c:121)
==1025==    by 0x4CC91CE: PMPI_Type_create_f90_real
(ptype_create_f90_real.c:108)
==1025==    by 0x40088E: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out)
==1025==
==1025== Invalid write of size 4
==1025==    at 0x4C740BF: ompi_datatype_set_args (ompi_datatype_args.c:206)
==1025==    by 0x4CC8636: PMPI_Type_create_f90_complex
(ptype_create_f90_complex.c:110)
==1025==    by 0x4008A4: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out)
==1025==  Address 0x8e70aac is 0 bytes after a block of size 60 alloc'd
==1025==    at 0x4A0645D: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1025==    by 0x53236F0: opal_malloc (malloc.c:101)
==1025==    by 0x4C739E3: ompi_datatype_set_args (ompi_datatype_args.c:121)
==1025==    by 0x4CC8636: PMPI_Type_create_f90_complex
(ptype_create_f90_complex.c:110)
==1025==    by 0x4008A4: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out)
==1025==
==1025== Invalid write of size 4
==1025==    at 0x4C740BF: ompi_datatype_set_args (ompi_datatype_args.c:206)
==1025==    by 0x4CC8636: PMPI_Type_create_f90_complex
(ptype_create_f90_complex.c:110)
==1025==    by 0x4008BA: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out)
==1025==  Address 0x8e70e1c is 0 bytes after a block of size 60 alloc'd
==1025==    at 0x4A0645D: malloc (in
/usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==1025==    by 0x53236F0: opal_malloc (malloc.c:101)
==1025==    by 0x4C739E3: ompi_datatype_set_args (ompi_datatype_args.c:121)
==1025==    by 0x4CC8636: PMPI_Type_create_f90_complex
(ptype_create_f90_complex.c:110)
==1025==    by 0x4008BA: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out)
==1025==


-- 
Lisandro Dalcin
============
Research Scientist
Computer, Electrical and Mathematical Sciences & Engineering (CEMSE)
Numerical Porous Media Center (NumPor)
King Abdullah University of Science and Technology (KAUST)
http://numpor.kaust.edu.sa/

4700 King Abdullah University of Science and Technology
al-Khawarizmi Bldg (Bldg 1), Office # 4332
Thuwal 23955-6900, Kingdom of Saudi Arabia
http://www.kaust.edu.sa

Office Phone: +966 12 808-0459

Reply via email to