On 10/22/06, Open MPI <b...@open-mpi.org> wrote:
#529: MPI_START* returning OMPI_* error codes
---------------------+------------------------------------------------------
Reporter:  jsquyres  |       Owner:
    Type:  defect    |      Status:  new
Priority:  major     |   Milestone:  Open MPI 1.1.3
 Version:  trunk     |    Keywords:
---------------------+------------------------------------------------------
 I sent this on the core list but got no reply, so I'm turning it into a
 ticket.

 A user reported that they were getting back value -105 from MPI_STARTALL
 (which is OMPI_ERR_REQUEST -- assumedly they were using
 MPI_ERRORS_RETURN).  Regardless of what is happening to make this error be
 returned, we should never be returning an OMPI_ERR_* value from an MPI
 function.  Instead, we should be converting this from OMPI_ERR_* to
 MPI_ERR_*.

 Specifically, don't we need to wrap the returns of these MCA_PML_CALLs in
 OMPI_ERRHANDLER_RETURN?  Something like:

 {{{
 rc = MCA_PML_CALL(start(....));
 OMPI_ERRHANDLER_RETURN(rc, XXXXX, rc, FUNC_NAME);
 }}}

 where XXX is some relevant communicator:

  * MPI_START: the communicator of the single request -- easy enough
  * MPI_STARTALL: MPI-1:3.9 says that STARTALL is exactly equivalent to
 calling START n times, so I guess we use the communicator from the request
 that caused the error.  pml_base_module_start_t() doesn't return ''which''
 request caused the error, so I'm guessing that if (OMPI_SUCCESS != rc),
 we'll have to scan through the list of requests to find the first one with
 an error and use the communicator from that one.  Right?

--
Ticket URL: <http://svn.open-mpi.org/trac/ompi/ticket/529>
Open MPI <http://www.open-mpi.org/>



Yes, but... Which error handler will be called?? The one associated to
the communicator involved in the request, or MPI_COMM_WORLD? I do not
remember right now if the standar says anything about this. If not, it
should call the error handler of WORLD communicator. Am I right?


--
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

Reply via email to