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