Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: [OMPI devel] Simplified: Misuse or bug with nested types?
From: Eric Chamberland (Eric.Chamberland_at_[hidden])
Date: 2013-04-23 09:54:15


Hi,

I have sent a previous message showing something that I think is a bug
(or maybe a misuse, but...).

I worked on the example sent to have it simplified: now it is almost
half of the lines of code and the structures are more simple... but
still showing the wrong behaviour.

Briefly, we construct different MPI_datatype and nests them into a final
type which is a:
{MPI_LONG,{{MPI_LONG,MPI_CHAR}*2}

Here is the output from OpenMPI 1.6.3:

  Rank 0 send this:
  i: 0 => {{0},{{3,%},{7,5}}}
  i: 1 => {{1},{{3,%},{7,5}}}
  i: 2 => {{2},{{3,%},{7,5}}}
  i: 3 => {{3},{{3,%},{7,5}}}
  i: 4 => {{4},{{3,%},{7,5}}}
  i: 5 => {{5},{{3,%},{7,5}}}
MPI_Recv returned success and everything in MPI_Status is correct after
receive.
  Rank 1 received this:
  i: 0 => {{0},{{3,%},{-999,$}}} *** ERROR ****
  i: 1 => {{1},{{3,%},{-999,$}}} *** ERROR ****
  i: 2 => {{2},{{3,%},{-999,$}}} *** ERROR ****
  i: 3 => {{3},{{3,%},{-999,$}}} *** ERROR ****
  i: 4 => {{4},{{3,%},{-999,$}}} *** ERROR ****
  i: 5 => {{5},{{3,%},{-999,$}}} *** ERROR ****

Here is the expected output, obtained with mpich-3.0.3:

  Rank 0 send this:
  i: 0 => {{0},{{3,%},{7,5}}}
  i: 1 => {{1},{{3,%},{7,5}}}
  i: 2 => {{2},{{3,%},{7,5}}}
  i: 3 => {{3},{{3,%},{7,5}}}
  i: 4 => {{4},{{3,%},{7,5}}}
  i: 5 => {{5},{{3,%},{7,5}}}
MPI_Recv returned success and everything in MPI_Status is correct after
receive.
  Rank 1 received this:
  i: 0 => {{0},{{3,%},{7,5}}} OK
  i: 1 => {{1},{{3,%},{7,5}}} OK
  i: 2 => {{2},{{3,%},{7,5}}} OK
  i: 3 => {{3},{{3,%},{7,5}}} OK
  i: 4 => {{4},{{3,%},{7,5}}} OK
  i: 5 => {{5},{{3,%},{7,5}}} OK

Is it related to the bug reported here:
  http://www.open-mpi.org/community/lists/devel/2013/04/12267.php ?

Thanks,

Eric