Hey,
Wasn't quite sure how to reply to Roy's e-mail since I was unsubscribed before, but saw it was recent so wanted to chime in.
I have this exact same problem. What I find interesting is that in my case, where I call irecv() from a number of other ranks directly, but with any_tag:
world.irecv(1, mpi::any_tag, data);
I only have issues when there are more processes than those I am listening to. I find this to be especially odd. The issue seems like the second receive (after the data count) is picking up a separate ISend's count. I'm still looking into what the issue could be...
Thanks,
Walt