On 10/04/12 07:00, Kawashima, Takahiro wrote:
(1) MPI_SOURCE of MPI_Status for a null request must be MPI_ANY_SOURCE.

   This bug is caused by a use of an incorrect variable in
   ompi/mpi/c/wait.c (for MPI_Wait) and by an incorrect
   initialization of ompi_request_null in ompi/request/request.c
   (for MPI_Waitall and MPI_Testall).

(2) MPI_Status for an inactive request must be an empty status.

   This bug is caused by not updating a req_status field of an
   inactive persistent request object in ompi/request/req_wait.c
   and ompi/request/req_test.c.

(3) Possible BUS errors on sparc64 processors.

   r23554 fixed possible BUS errors on sparc64 processors.
   But the fix seems to be insufficient.

   We should use OMPI_STATUS_SET macro for all user-supplied
   MPI_Status objects.

The attached patch is for Open MPI trunk and it also fixes some
typos in comments. A program to reproduce bugs (1) and (2) is
also attached.
Again, I apologize for the delays in fixing #3. Anyhow, the fix is available in r27403 and I updated trac ticket 3218. This particular fix does not address #1 or #2. Note that OMPI_STATUS_SET has been removed as part of r27403 and status structs can now be accessed directly in the OMPI C internals.

Reply via email to