Re: [OMPI devel] MPI_Win_get_group
On Jul 28, 2007, at 4:41 PM, Lisandro Dalcin wrote: In the mean time, I would prefer to follow the standard as close as possible. If not, some external, stupid test suite (like the one I have for mip4py) would report that OMPI is wrong about this point. What exactly are you testing for? BTW, Were is the place to disccuss this stantard isues? There is a mailing list at mpi-forum.org? Try mpi...@mpi-forum.org. -- Jeff Squyres Cisco Systems
Re: [OMPI devel] MPI_Comm_free with MPI_COMM_SELF
It looks like there is a check for COMM_SELF in comm_free.c that explicitly calls the error handler on COMM_WORLD; it looks like this was introduced in the very first implementation of COMM_FREE way back in r983. I don't see any reason why this would be the case; I'm guessing it's a bug but I'm going to defer to Edgar in case there are any esoteric reasons why this is so... If not, here's a patch: Index: comm_free.c === --- comm_free.c (revision 15670) +++ comm_free.c (working copy) @@ -41,9 +41,12 @@ OMPI_ERR_INIT_FINALIZE(FUNC_NAME); if ( NULL == *comm || MPI_COMM_WORLD == *comm || - MPI_COMM_SELF == *comm || ompi_comm_invalid (*comm)) { + ompi_comm_invalid (*comm)) { return OMPI_ERRHANDLER_INVOKE(MPI_COMM_WORLD, MPI_ERR_COMM, FUNC_NAME); +} else if (MPI_COMM_SELF == *comm) { +return OMPI_ERRHANDLER_INVOKE(MPI_COMM_SELF, MPI_ERR_COMM, + FUNC_NAME); } } On Jul 28, 2007, at 4:59 PM, Lisandro Dalcin wrote: I tried to free COMM_SELF, and it seems to call the error handler attached to COMM_WORLD. Is this intended? Should'nt OMPI use the error handler to COMM_SELF? As reference, I tried this with MPICH2, and of course the call fails, but using the error handler in COMM_SELF. Again, this is a new corner case AFAIK not taked into account in the standard. Regards, -- Lisandro Dalcín --- Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC) Instituto de Desarrollo Tecnológico para la Industria Química (INTEC) Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET) PTLC - Güemes 3450, (3000) Santa Fe, Argentina Tel/Fax: +54-(0)342-451.1594 ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Jeff Squyres Cisco Systems
Re: [OMPI devel] freeing GROUP_EMPTY
It looks like an explicit check for MPI_GROUP_EMPTY was removed from group_free.c in r2623 by Edgar. I suspect that there is some subtle reason for this. Edgar: do you have any recollection why this is? And how we can otherwise avoid the segv? On Jul 28, 2007, at 6:40 PM, Lisandro Dalcin wrote: A simple test trying to free GROUP_EMPTY failed with the following trace. a.out: ../opal/class/opal_object.h:403: opal_obj_run_destructors: Assertion `((void *)0) != object->obj_class' failed. [trantor:19821] *** Process received signal *** [trantor:19821] Signal: Aborted (6) [trantor:19821] Signal code: (-6) [trantor:19821] [ 0] [0xcf5440] [trantor:19821] [ 1] /lib/libc.so.6(abort+0x101) [0x4fe3c591] [trantor:19821] [ 2] /lib/libc.so.6(__assert_fail+0xfb) [0x4fe3438b] [trantor:19821] [ 3] /usr/local/openmpi/dev/lib/libmpi.so.0 [0xe554e2] [trantor:19821] [ 4] /usr/local/openmpi/dev/lib/libmpi.so.0(ompi_group_finalize+0x66) [0xe55b69] [trantor:19821] [ 5] /usr/local/openmpi/dev/lib/libmpi.so.0(ompi_mpi_finalize+0x37a) [0xe62ab6] [trantor:19821] [ 6] /usr/local/openmpi/dev/lib/libmpi.so.0(PMPI_Finalize+0x5f) [0xe9ca6f] [trantor:19821] [ 7] a.out(main+0x2f) [0x804877d] [trantor:19821] [ 8] /lib/libc.so.6(__libc_start_main+0xdc) [0x4fe27f2c] [trantor:19821] [ 9] a.out [0x8048661] [trantor:19821] *** End of error message *** Aborted -- Lisandro Dalcín --- Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC) Instituto de Desarrollo Tecnológico para la Industria Química (INTEC) Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET) PTLC - Güemes 3450, (3000) Santa Fe, Argentina Tel/Fax: +54-(0)342-451.1594 ___ devel mailing list de...@open-mpi.org http://www.open-mpi.org/mailman/listinfo.cgi/devel -- Jeff Squyres Cisco Systems