While I agree that the code below is rather useless, however I'm not sure it should actually fail:
$ cat comm_split_type.c #include <assert.h> #include <mpi.h> int main(int argc, char *argv[]) { MPI_Comm comm; MPI_Init(&argc, &argv); MPI_Comm_split_type(MPI_COMM_SELF,MPI_UNDEFINED,0,MPI_INFO_NULL,&comm); assert(comm == MPI_COMM_NULL); MPI_Finalize(); return 0; } $ mpicc comm_split_type.c $ ./a.out [kw2060:9865] *** An error occurred in MPI_Comm_split_type [kw2060:9865] *** reported by process [140735368986625,140071768424448] [kw2060:9865] *** on communicator MPI_COMM_SELF [kw2060:9865] *** MPI_ERR_ARG: invalid argument of some other kind [kw2060:9865] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort, [kw2060:9865] *** and potentially your MPI job) -- 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