-
Notifications
You must be signed in to change notification settings - Fork 280
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
bug: uninitialized MPI_Status object #2332
Comments
Originally by jhammond on 2016-03-28 13:15:02 -0500 Attachment added: |
Originally by robl on 2016-03-28 16:31:19 -0500 Wei-keng continues his investigation:
|
Originally by balaji on 2016-03-29 12:45:36 -0500 This needs a similar patch as what Yanfei did for valgrind warnings. http://git.mpich.org/mpich.git/commitdiff/b7db27e2b52595ce089f0cd81a1ed89e4e31056e |
I am wondering the status of this issue. |
This was fixed in 4b7d553. |
Until [4b7d553], ROMIO was failing to fill in the status object for zero-byte operations. See pmodels#2332. Co-authored-by: Jeff Hammond <[email protected]>
Until [4b7d553], ROMIO was failing to fill in the status object for zero-byte operations. See pmodels#2332. Co-authored-by: Jeff Hammond <[email protected]>
Until [4b7d553], ROMIO was failing to fill in the status object for zero-byte operations. Add test to confirm the fix. See pmodels#2332. Co-authored-by: Jeff Hammond <[email protected]>
Originally by jhammond on 2016-03-28 13:14:51 -0500
Message 1```
I notice an uninitialized MPI_Status object can make MPI_Get_count return a wrong result,
when the data amount in the MPI operation is zero (although I only checked MPI-IO).
Attached is a test program that uses MPI collective read where only root process has
non-zero length data to read. The expected result from MPI_Get_count is 0 for all
non-root process. To mimic an uninitialized MPI_Status object, I call memset to make
the object non-zero.
Here is the code fragment.
For process rank > 0, get_size may not be 0.
Message 2```
My test program can be compiled with command "mpicc get_count.c -o get_count"
and run "mpiexec -n 4 get_count". For correct (expected) result, nothing
will be printed on stdout. Otherwise, error messages will be printed.
My point is MPI_Get_count does not report correct result because
MPI collective I/O call fails to initialize the MPI_Status object.
I found that OpenMPI and earlier version of MPICH (2-1.2.1) can run
this test code correctly.
The test failed when I ran MPICH 3.1.4 and the current from GIT repo.
The text was updated successfully, but these errors were encountered: