Re: [OMPI users] Memchecker and Wait

2009-08-12 Thread Shiqing Fan
Hi Allen, Sorry for the confusion, your application doesn't use non-blocking communications, so the receive buffers are still valid after you call MPI_Recv_init, that's why the first two printf didn't complain. But in MPI_Wait, it still checks the buffer, and make it invalid after packing

Re: [OMPI users] Memchecker and Wait

2009-08-12 Thread Allen Barnett
Hi Shiqing: That is very clever to invalidate the buffer memory until the comm completes! However, I guess I'm still confused by my results. Lines 30 and 31 identified by valgrind are the lines after the Wait, and, if I comment out the prints before the Wait, I still get the valgrind errors on the

Re: [OMPI users] Memchecker and Wait

2009-08-12 Thread Shiqing Fan
Hi Allen, The invalid reads come from line 30 and 31 of your code, and I guess they are the two 'printf's before MPI_Wait. In Open MPI, when memchecker is enabled, OMPI marks the receive buffer as invalid internally, immediately after receive starts for MPI semantic checks, in this case, it

[OMPI users] Memchecker and Wait

2009-08-11 Thread Allen Barnett
Hi: I'm trying to use the memchecker/valgrind capability of OpenMPI 1.3.3 to help debug my MPI application. I noticed a rather odd thing: After Waiting on a Recv Request, valgrind declares my receive buffer as invalid memory. Is this just a fluke of valgrind, or is OMPI doing something internally?