From 73c9de3af9680fb8eadde66e5664462254bf6fd5 Mon Sep 17 00:00:00 2001 From: George Bosilca Date: Thu, 24 Apr 2008 15:48:43 +0000 Subject: [PATCH] Bark if we got a wrong sequence number. Here wrong means that the seq number if smaller than what we expect. This commit was SVN r18274. --- ompi/mca/pml/ob1/pml_ob1_recvfrag.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ompi/mca/pml/ob1/pml_ob1_recvfrag.c b/ompi/mca/pml/ob1/pml_ob1_recvfrag.c index bec598f5ff..6fd49f31f6 100644 --- a/ompi/mca/pml/ob1/pml_ob1_recvfrag.c +++ b/ompi/mca/pml/ob1/pml_ob1_recvfrag.c @@ -298,9 +298,17 @@ static mca_pml_ob1_recv_frag_t *check_cantmatch_for_match( /* * If the message has the next expected seq from that proc... */ - if(hdr->hdr_seq != proc->expected_sequence) + if(hdr->hdr_seq != proc->expected_sequence) { + if( hdr->hdr_seq < proc->expected_sequence ) { + opal_output( 0, "Unbelievable situation ... we got a duplicated fragment " + "with seq number of %d (expected %d) from %s\n", + (int)hdr->hdr_seq, (int)poc->expected_sequence, + proc->ompi_proc->proc_hostname ); + opal_list_remove_item(&proc->frags_cant_match, (opal_list_item_t*)frag); + MCA_PML_OB1_RECV_FRAG_RETURN(frag); /* Drop it !!! */ + } continue; - + } opal_list_remove_item(&proc->frags_cant_match, (opal_list_item_t*)frag); return frag;