George, As I wrote in the ticket a few minutes ago, your patch looks good and it passed my test. My previous patch didn't care about generalized requests so your patch is better.
Thanks, Takahiro Kawashima, from my home > Takahiro, > > I went over this ticket and attached a new patch. Basically I went over all > the possible cases, both in test and wait, and ensure the behavior is always > consistent. Please give it a try, and let us know of the outcome. > > Thanks, > George. > > > > On Jan 25, 2013, at 00:53 , "Kawashima, Takahiro" > <t-kawash...@jp.fujitsu.com> wrote: > > > Jeff, > > > > I've filed the ticket. > > https://svn.open-mpi.org/trac/ompi/ticket/3475 > > > > Thanks, > > Takahiro Kawashima, > > MPI development team, > > Fujitsu > > > >> Many thanks for the summary! > >> > >> Can you file tickets about this stuff against 1.7? Included your patches, > >> etc. > >> > >> These are pretty obscure issues and I'm ok not fixing them in the 1.6 > >> branch (unless someone has a burning desire to get them fixed in 1.6). > >> > >> But we should properly track and fix these in the 1.7 series. I'd mark > >> them as "critical" so that they don't get lost in the wilderness of other > >> bugs. > >> > >> Sent from my phone. No type good. > >> > >> On Jan 22, 2013, at 8:57 PM, "Kawashima, Takahiro" > >> <t-kawash...@jp.fujitsu.com> wrote: > >> > >>> George, > >>> > >>> I reported the bug three months ago. > >>> Your commit r27880 resolved one of the bugs reported by me, > >>> in another approach. > >>> > >>> http://www.open-mpi.org/community/lists/devel/2012/10/11555.php > >>> > >>> But other bugs are still open. > >>> > >>> "(1) MPI_SOURCE of MPI_Status for a null request must be MPI_ANY_SOURCE." > >>> in my previous mail is not fixed yet. This can be fixed by my patch > >>> (ompi/mpi/c/wait.c and ompi/request/request.c part only) attached > >>> in my another mail. > >>> > >>> http://www.open-mpi.org/community/lists/devel/2012/10/11561.php > >>> > >>> "(2) MPI_Status for an inactive request must be an empty status." > >>> in my previous mail is partially fixed. MPI_Wait is fixed by your > >>> r27880. But MPI_Waitall and MPI_Testall should be fixed. > >>> Codes similar to your r27880 should be inserted to > >>> ompi_request_default_wait_all and ompi_request_default_test_all. > >>> > >>> You can confirm the fixes by the test program status.c attached in > >>> my previous mail. Run with -n 2. > >>> > >>> http://www.open-mpi.org/community/lists/devel/2012/10/11555.php > >>> > >>> Regards, > >>> Takahiro Kawashima, > >>> MPI development team, > >>> Fujitsu > >>> > >>>> To be honest it was hanging in one of my repos for some time. If I'm not > >>>> mistaken it is somehow related to one active ticket (but I couldn't find > >>>> the info). It might be good to push it upstream. > >>>> > >>>> George. > >>>> > >>>> On Jan 22, 2013, at 16:27 , "Jeff Squyres (jsquyres)" > >>>> <jsquy...@cisco.com> wrote: > >>>> > >>>>> George -- > >>>>> > >>>>> Is there any reason not to CMR this to v1.6 and v1.7? > >>>>> > >>>>> > >>>>> On Jan 21, 2013, at 6:35 AM, svn-commit-mai...@open-mpi.org wrote: > >>>>> > >>>>>> Author: bosilca (George Bosilca) > >>>>>> Date: 2013-01-21 06:35:42 EST (Mon, 21 Jan 2013) > >>>>>> New Revision: 27880 > >>>>>> URL: https://svn.open-mpi.org/trac/ompi/changeset/27880 > >>>>>> > >>>>>> Log: > >>>>>> My understanding is that an MPI_WAIT() on an inactive request should > >>>>>> return the empty status (MPI 3.0 page 52 line 46). > >>>>>> > >>>>>> Text files modified: > >>>>>> trunk/ompi/request/req_wait.c | 3 +++ > >>>>>> > >>>>>> 1 files changed, 3 insertions(+), 0 deletions(-) > >>>>>> > >>>>>> Modified: trunk/ompi/request/req_wait.c > >>>>>> ============================================================================== > >>>>>> --- trunk/ompi/request/req_wait.c Sat Jan 19 19:33:42 2013 > >>>>>> (r27879) > >>>>>> +++ trunk/ompi/request/req_wait.c 2013-01-21 06:35:42 EST (Mon, 21 > >>>>>> Jan 2013) (r27880) > >>>>>> @@ -61,6 +61,9 @@ > >>>>>> } > >>>>>> if( req->req_persistent ) { > >>>>>> if( req->req_state == OMPI_REQUEST_INACTIVE ) { > >>>>>> + if (MPI_STATUS_IGNORE != status) { > >>>>>> + *status = ompi_status_empty; > >>>>>> + } > >>>>>> return OMPI_SUCCESS; > >>>>>> } > >>>>>> req->req_state = OMPI_REQUEST_INACTIVE;