I thought I would run this by the group before trying to unravel the
code and figure out how to fix the problem. It looks to me from some
experiementation that when a process matches an unexpected message that
the PERUSE framework incorrectly fires a
PERUSE_COMM_MSG_MATCH_POSTED_REQ in addition to a
PERUSE_COMM_REQ_MATCH_UNEX event. I believe this is wrong that the
former event should not be fired in this case.
If the above assumption is true I think the problem arises because
PERUSE_COMM_MSG_MATCH_POSTED_REQ event is fired in function
mca_pml_ob1_recv_request_progress which is called by
mca_pml_ob1_recv_request_match_specific when a match of an unexpected
message has occurred. I am wondering if the
PERUSE_COMM_MSG_MATCH_POSTED_REQ event should be moved to a more posted
queue centric routine something like mca_pml_ob1_recv_frag_match?