Public bug reported: Using mpich from Ubuntu's packages, the attached program crashes with the following output:
$ mpirun -np 2 ./test MPI_Init returned 0 myid = 0 i = 1 myid = 0 numprocs = 2 myid = 0: Sending to 1 size = 16000 p0_12348: p4_error: interrupt SIGSEGV: 11 p0_12348: (0.031250) net_send: could not write to fd=12, errno = 32 rm_l_1_12357: (0.000000) net_send: could not write to fd=5, errno = 32 MPI_Init returned 0 myid = 1 numprocs = 2 myid = 1: Receiving from 0 size = 16000 I compiled the executable as follows: mpicc -Wall -c -o test.o -Wall -g3 test.c mpicc test.o -o test I have the following packages installed: ii libmpich-mpd1.0-dev 1.2.7-8 mpich static libraries and development files ii libmpich-mpd1.0gf 1.2.7-8 mpich-mpd runtime shared library ii libmpich1.0-dev 1.2.7-8 mpich static libraries and development files ii libmpich1.0gf 1.2.7-8 mpich runtime shared library ii mpich-bin 1.2.7-8 MPI parallel computing system implementation ii mpich-mpd-bin 1.2.7-8 MPI parallel computing system implementation, MPD version The alternatives are defines as follows: lrwxrwxrwx 1 root root 32 May 13 12:23 /etc/alternatives/libmpi++.a -> /usr/lib/mpich/lib/libpmpich++.a lrwxrwxrwx 1 root root 40 May 13 12:23 /etc/alternatives/libmpi++.so -> /usr/lib/mpich/lib/shared/libpmpich++.so lrwxrwxrwx 1 root root 29 May 13 12:23 /etc/alternatives/libmpi.a -> /usr/lib/mpich/lib/libmpich.a lrwxrwxrwx 1 root root 37 May 13 12:23 /etc/alternatives/libmpi.so -> /usr/lib/mpich/lib/shared/libmpich.so lrwxrwxrwx 1 root root 44 May 14 15:59 /etc/alternatives/libmpiuni.a -> /usr/lib/petscdir/2.3.3/lib/libO/libmpiuni.a lrwxrwxrwx 1 root root 22 May 13 12:23 /etc/alternatives/mpi -> /usr/lib/mpich/include lrwxrwxrwx 1 root root 20 May 13 12:23 /etc/alternatives/mpiCC -> /usr/bin/mpiCC.mpich lrwxrwxrwx 1 root root 36 May 13 12:23 /etc/alternatives/mpiCC.1.gz -> /usr/share/man/man1/mpiCC.mpich.1.gz lrwxrwxrwx 1 root root 20 May 13 12:23 /etc/alternatives/mpicc -> /usr/bin/mpicc.mpich lrwxrwxrwx 1 root root 36 May 13 12:23 /etc/alternatives/mpicc.1.gz -> /usr/share/man/man1/mpicc.mpich.1.gz lrwxrwxrwx 1 root root 27 May 13 12:23 /etc/alternatives/mpichversion -> /usr/bin/mpichversion.mpich lrwxrwxrwx 1 root root 43 May 13 12:23 /etc/alternatives/mpichversion.1.gz -> /usr/share/man/man1/mpichversion.mpich.1.gz lrwxrwxrwx 1 root root 21 May 13 12:23 /etc/alternatives/mpicxx -> /usr/bin/mpicxx.mpich lrwxrwxrwx 1 root root 37 May 13 12:23 /etc/alternatives/mpicxx.1.gz -> /usr/share/man/man1/mpicxx.mpich.1.gz lrwxrwxrwx 1 root root 24 May 13 12:05 /etc/alternatives/mpiexec -> /usr/bin/mpiexec.openmpi lrwxrwxrwx 1 root root 40 May 13 12:05 /etc/alternatives/mpiexec.1.gz -> /usr/share/man/man1/mpiexec.openmpi.1.gz lrwxrwxrwx 1 root root 21 May 13 12:23 /etc/alternatives/mpif77 -> /usr/bin/mpif77.mpich lrwxrwxrwx 1 root root 37 May 13 12:23 /etc/alternatives/mpif77.1.gz -> /usr/share/man/man1/mpif77.mpich.1.gz lrwxrwxrwx 1 root root 21 May 13 12:23 /etc/alternatives/mpif90 -> /usr/bin/mpif90.mpich lrwxrwxrwx 1 root root 37 May 13 12:23 /etc/alternatives/mpif90.1.gz -> /usr/share/man/man1/mpif90.mpich.1.gz lrwxrwxrwx 1 root root 21 May 13 12:23 /etc/alternatives/mpiman -> /usr/bin/mpiman.mpich lrwxrwxrwx 1 root root 37 May 13 12:23 /etc/alternatives/mpiman.1.gz -> /usr/share/man/man1/mpiman.mpich.1.gz lrwxrwxrwx 1 root root 26 May 13 12:23 /etc/alternatives/mpireconfig -> /usr/bin/mpireconfig.mpich lrwxrwxrwx 1 root root 42 May 13 12:23 /etc/alternatives/mpireconfig.1.gz -> /usr/share/man/man1/mpireconfig.mpich.1.gz lrwxrwxrwx 1 root root 21 May 13 12:23 /etc/alternatives/mpirun -> /usr/bin/mpirun.mpich lrwxrwxrwx 1 root root 37 May 13 12:23 /etc/alternatives/mpirun.1.gz -> /usr/share/man/man1/mpirun.mpich.1.gz lrwxrwxrwx 1 root root 38 May 14 15:59 /etc/alternatives/mpirun_lam -> /usr/lib/petscdir/2.3.3/bin/mpirun_lam lrwxrwxrwx 1 root root 43 May 14 15:59 /etc/alternatives/mpirun_lam.1.gz -> /usr/lib/petscdir/2.3.3/bin/mpirun_lam.1.gz If I just reduce the macro "size" by one, the program works: $ mpirun -np 2 ./test MPI_Init returned 0 myid = 0 i = 1 myid = 0 numprocs = 2 myid = 0: Sending to 1 size = 15999 MPI_Init returned 0 myid = 1 numprocs = 2 myid = 1: Receiving from 0 size = 15999 Using a self-built version of mpich-1.2.7p1, everything is OK even for larger numbers of "size", e.g. $ mpirun -np 2 ./test MPI_Init returned 0 myid = 0 i = 1 myid = 0 numprocs = 2 myid = 0: Sending to 1 size = 1600000 MPI_Init returned 0 myid = 1 numprocs = 2 myid = 1: Receiving from 0 size = 1600000 ** Affects: mpich (Ubuntu) Importance: Undecided Status: New -- Segmentation fault while sending large arrays https://bugs.launchpad.net/bugs/231062 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs