A very basic test for MPI_Comm_create_group() is failing for me. I'm pasting the code, the failure, and output from valgrind.
[dalcinl@kw2060 openmpi]$ cat comm_create_group.c #include <mpi.h> int main(int argc, char *argv[]) { MPI_Group group; MPI_Comm comm; MPI_Init(&argc, &argv); MPI_Comm_group(MPI_COMM_WORLD, &group); MPI_Comm_create_group(MPI_COMM_WORLD, group, 0, &comm); MPI_Comm_free(&comm); MPI_Group_free(&group); MPI_Finalize(); return 0; } [dalcinl@kw2060 openmpi]$ mpicc comm_create_group.c [dalcinl@kw2060 openmpi]$ ./a.out [kw2060:22673] *** An error occurred in MPI_Comm_create_group [kw2060:22673] *** reported by process [140737483440129,140733193388032] [kw2060:22673] *** on communicator MPI_COMM_WORLD [kw2060:22673] *** MPI_ERR_UNKNOWN: unknown error [kw2060:22673] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort, [kw2060:22673] *** and potentially your MPI job) [dalcinl@kw2060 openmpi]$ valgrind -q ./a.out ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x4C457D6: ompi_comm_nextcid (comm_cid.c:262) ==22675== by 0x4C42FA8: ompi_comm_create_group (comm.c:1109) ==22675== by 0x4C81E35: PMPI_Comm_create_group (pcomm_create_group.c:77) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x4C42FB0: ompi_comm_create_group (comm.c:1116) ==22675== by 0x4C81E35: PMPI_Comm_create_group (pcomm_create_group.c:77) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x4C81E46: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x4C81BA0: ompi_errcode_get_mpi_code (errcode-internal.h:64) ==22675== by 0x4C81E51: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x4C4AA14: opal_pointer_array_get_item (opal_pointer_array.h:130) ==22675== by 0x4C4AA60: ompi_mpi_errnum_get_string (errcode.h:122) ==22675== by 0x4C4B0B4: backend_fatal_aggregate (errhandler_predefined.c:192) ==22675== by 0x4C4B657: backend_fatal (errhandler_predefined.c:334) ==22675== by 0x4C4AB7C: ompi_mpi_errors_are_fatal_comm_handler (errhandler_predefined.c:69) ==22675== by 0x4C4A63E: ompi_errhandler_invoke (errhandler_invoke.c:53) ==22675== by 0x4C81E81: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Use of uninitialised value of size 8 ==22675== at 0x327BC47B9B: _itoa_word (in /usr/lib64/libc-2.18.so) ==22675== by 0x327BC48AD0: vfprintf (in /usr/lib64/libc-2.18.so) ==22675== by 0x327BC74D52: vasprintf (in /usr/lib64/libc-2.18.so) ==22675== by 0x52E6C4B: opal_show_help_vstring (show_help.c:309) ==22675== by 0x4FCFBB4: orte_show_help (show_help.c:591) ==22675== by 0x4C4B1B5: backend_fatal_aggregate (errhandler_predefined.c:201) ==22675== by 0x4C4B657: backend_fatal (errhandler_predefined.c:334) ==22675== by 0x4C4AB7C: ompi_mpi_errors_are_fatal_comm_handler (errhandler_predefined.c:69) ==22675== by 0x4C4A63E: ompi_errhandler_invoke (errhandler_invoke.c:53) ==22675== by 0x4C81E81: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x327BC47BA5: _itoa_word (in /usr/lib64/libc-2.18.so) ==22675== by 0x327BC48AD0: vfprintf (in /usr/lib64/libc-2.18.so) ==22675== by 0x327BC74D52: vasprintf (in /usr/lib64/libc-2.18.so) ==22675== by 0x52E6C4B: opal_show_help_vstring (show_help.c:309) ==22675== by 0x4FCFBB4: orte_show_help (show_help.c:591) ==22675== by 0x4C4B1B5: backend_fatal_aggregate (errhandler_predefined.c:201) ==22675== by 0x4C4B657: backend_fatal (errhandler_predefined.c:334) ==22675== by 0x4C4AB7C: ompi_mpi_errors_are_fatal_comm_handler (errhandler_predefined.c:69) ==22675== by 0x4C4A63E: ompi_errhandler_invoke (errhandler_invoke.c:53) ==22675== by 0x4C81E81: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x327BC48B18: vfprintf (in /usr/lib64/libc-2.18.so) ==22675== by 0x327BC74D52: vasprintf (in /usr/lib64/libc-2.18.so) ==22675== by 0x52E6C4B: opal_show_help_vstring (show_help.c:309) ==22675== by 0x4FCFBB4: orte_show_help (show_help.c:591) ==22675== by 0x4C4B1B5: backend_fatal_aggregate (errhandler_predefined.c:201) ==22675== by 0x4C4B657: backend_fatal (errhandler_predefined.c:334) ==22675== by 0x4C4AB7C: ompi_mpi_errors_are_fatal_comm_handler (errhandler_predefined.c:69) ==22675== by 0x4C4A63E: ompi_errhandler_invoke (errhandler_invoke.c:53) ==22675== by 0x4C81E81: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x327BC48737: vfprintf (in /usr/lib64/libc-2.18.so) ==22675== by 0x327BC74D52: vasprintf (in /usr/lib64/libc-2.18.so) ==22675== by 0x52E6C4B: opal_show_help_vstring (show_help.c:309) ==22675== by 0x4FCFBB4: orte_show_help (show_help.c:591) ==22675== by 0x4C4B1B5: backend_fatal_aggregate (errhandler_predefined.c:201) ==22675== by 0x4C4B657: backend_fatal (errhandler_predefined.c:334) ==22675== by 0x4C4AB7C: ompi_mpi_errors_are_fatal_comm_handler (errhandler_predefined.c:69) ==22675== by 0x4C4A63E: ompi_errhandler_invoke (errhandler_invoke.c:53) ==22675== by 0x4C81E81: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x327BC487B7: vfprintf (in /usr/lib64/libc-2.18.so) ==22675== by 0x327BC74D52: vasprintf (in /usr/lib64/libc-2.18.so) ==22675== by 0x52E6C4B: opal_show_help_vstring (show_help.c:309) ==22675== by 0x4FCFBB4: orte_show_help (show_help.c:591) ==22675== by 0x4C4B1B5: backend_fatal_aggregate (errhandler_predefined.c:201) ==22675== by 0x4C4B657: backend_fatal (errhandler_predefined.c:334) ==22675== by 0x4C4AB7C: ompi_mpi_errors_are_fatal_comm_handler (errhandler_predefined.c:69) ==22675== by 0x4C4A63E: ompi_errhandler_invoke (errhandler_invoke.c:53) ==22675== by 0x4C81E81: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== [kw2060:22675] *** An error occurred in MPI_Comm_create_group [kw2060:22675] *** reported by process [68714692609,0] [kw2060:22675] *** on communicator MPI_COMM_WORLD [kw2060:22675] *** Unknown error (this should not happen!) [kw2060:22675] *** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort, [kw2060:22675] *** and potentially your MPI job) ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x4C606BE: ompi_mpi_abort (ompi_mpi_abort.c:96) ==22675== by 0x4C4B6AA: backend_fatal (errhandler_predefined.c:346) ==22675== by 0x4C4AB7C: ompi_mpi_errors_are_fatal_comm_handler (errhandler_predefined.c:69) ==22675== by 0x4C4A63E: ompi_errhandler_invoke (errhandler_invoke.c:53) ==22675== by 0x4C81E81: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x4C60498: opal_pointer_array_get_item (opal_pointer_array.h:130) ==22675== by 0x4C6052C: ompi_mpi_errnum_get_string (errcode.h:122) ==22675== by 0x4C606EA: ompi_mpi_abort (ompi_mpi_abort.c:97) ==22675== by 0x4C4B6AA: backend_fatal (errhandler_predefined.c:346) ==22675== by 0x4C4AB7C: ompi_mpi_errors_are_fatal_comm_handler (errhandler_predefined.c:69) ==22675== by 0x4C4A63E: ompi_errhandler_invoke (errhandler_invoke.c:53) ==22675== by 0x4C81E81: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x4CF5382: ompi_rte_abort (rte_orte_module.c:77) ==22675== by 0x4C60B04: ompi_mpi_abort (ompi_mpi_abort.c:203) ==22675== by 0x4C4B6AA: backend_fatal (errhandler_predefined.c:346) ==22675== by 0x4C4AB7C: ompi_mpi_errors_are_fatal_comm_handler (errhandler_predefined.c:69) ==22675== by 0x4C4A63E: ompi_errhandler_invoke (errhandler_invoke.c:53) ==22675== by 0x4C81E81: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Conditional jump or move depends on uninitialised value(s) ==22675== at 0x4CF538E: ompi_rte_abort (rte_orte_module.c:77) ==22675== by 0x4C60B04: ompi_mpi_abort (ompi_mpi_abort.c:203) ==22675== by 0x4C4B6AA: backend_fatal (errhandler_predefined.c:346) ==22675== by 0x4C4AB7C: ompi_mpi_errors_are_fatal_comm_handler (errhandler_predefined.c:69) ==22675== by 0x4C4A63E: ompi_errhandler_invoke (errhandler_invoke.c:53) ==22675== by 0x4C81E81: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== ==22675== Syscall param exit_group(status) contains uninitialised byte(s) ==22675== at 0x327BCBCCF9: _Exit (in /usr/lib64/libc-2.18.so) ==22675== by 0x327BC3948A: __run_exit_handlers (in /usr/lib64/libc-2.18.so) ==22675== by 0x327BC39514: exit (in /usr/lib64/libc-2.18.so) ==22675== by 0x4FEF419: orte_ess_base_app_abort (ess_base_std_app.c:450) ==22675== by 0x4CF53C5: ompi_rte_abort (rte_orte_module.c:81) ==22675== by 0x4C60B04: ompi_mpi_abort (ompi_mpi_abort.c:203) ==22675== by 0x4C4B6AA: backend_fatal (errhandler_predefined.c:346) ==22675== by 0x4C4AB7C: ompi_mpi_errors_are_fatal_comm_handler (errhandler_predefined.c:69) ==22675== by 0x4C4A63E: ompi_errhandler_invoke (errhandler_invoke.c:53) ==22675== by 0x4C81E81: PMPI_Comm_create_group (pcomm_create_group.c:79) ==22675== by 0x4008FF: main (in /home/dalcinl/Devel/BUGS-MPI/openmpi/a.out) ==22675== -- Lisandro Dalcin --------------- CIMEC (UNL/CONICET) Predio CONICET-Santa Fe Colectora RN 168 Km 472, Paraje El Pozo 3000 Santa Fe, Argentina Tel: +54-342-4511594 (ext 1016) Tel/Fax: +54-342-4511169