Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

From: Lisandro Dalcin (dalcinl_at_[hidden])
Date: 2006-10-23 11:23:04


On 10/22/06, Open MPI <bugs_at_[hidden]> 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