Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] Issues with MPI_Add_error_class()
From: George Bosilca (bosilca_at_[hidden])
Date: 2014-04-22 23:08:00


Both these issues are fixed in the trunk and are scheduled for the
1.8. The commit you need to check is r28584 and the corresponding
ticket is
https://svn.open-mpi.org/trac/ompi/ticket/4554

  George.

On Mon, Apr 21, 2014 at 8:45 AM, Lisandro Dalcin <dalcinl_at_[hidden]> wrote:
> It seems the implementation of MPI_Add_error_class() is out of sync
> with the definition of MPI_ERR_LASTCODE.
>
> Please review the list of error classes in mpi.h and the code in this
> file: https://bitbucket.org/ompiteam/ompi-svn-mirror/src/v1.8/ompi/errhandler/errcode.c
>
> BTW, in that file, all the MPI_T_ERR_XXX are not handled. The MPI-3
> standard says they should be treated as other MPI error classes.
> Trying to get an error string out of them (eg. MPI_T_ERR_MEMORY)
> generates an error.
>
>
>
> [dalcinl_at_kw2060 openmpi]$ cat add_error_class.c
> #include <stdio.h>
> #include <mpi.h>
> int main(int argc, char *argv[])
> {
> int errorclass,*lastused,flag;
> MPI_Init(&argc, &argv);
> MPI_Add_error_class(&errorclass);
> MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_LASTUSEDCODE, &lastused, &flag);
> printf("errorclass:%d lastused:%d MPI_ERR_LASTCODE:%d\n",
> errorclass, *lastused, MPI_ERR_LASTCODE);
> MPI_Finalize();
> return 0;
> }
> [dalcinl_at_kw2060 openmpi]$ mpicc add_error_class.c
> [dalcinl_at_kw2060 openmpi]$ ./a.out
> errorclass:54 lastused:54 MPI_ERR_LASTCODE:71
>
>
> [dalcinl_at_kw2060 openmpi]$ cat error_string.c
> #include <stdio.h>
> #include <mpi.h>
> int main(int argc, char *argv[])
> {
> char errorstring[MPI_MAX_ERROR_STRING];
> int slen;
> MPI_Init(&argc, &argv);
> MPI_Error_string(MPI_T_ERR_MEMORY, errorstring, &slen);
> printf("errorclass:%d errorstring:%s\n", MPI_T_ERR_MEMORY, errorstring);
> MPI_Finalize();
> return 0;
> }
> [dalcinl_at_kw2060 openmpi]$ mpicc error_string.c
> [dalcinl_at_kw2060 openmpi]$ ./a.out
> [kw2060:20883] *** An error occurred in MPI_Error_string
> [kw2060:20883] *** reported by process [140737332576257,0]
> [kw2060:20883] *** on communicator MPI_COMM_WORLD
> [kw2060:20883] *** MPI_ERR_ARG: invalid argument of some other kind
> [kw2060:20883] *** MPI_ERRORS_ARE_FATAL (processes in this
> communicator will now abort,
> [kw2060:20883] *** and potentially your MPI job)
>
> --
> 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
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: http://www.open-mpi.org/community/lists/devel/2014/04/14564.php