Yes. On Feb 4, 2015, at 11:29 AM, Hajime Fujita <[email protected]> wrote:
Thanks Rajeev and Bill,
So you think this is a bug in MPICH (so as in OpenMPI) with respect to the standard, right? I’ll keep watching the ticket, and for the moment I’ll workaround in my code by passing the length including null character.
Best, Hajime
On Feb 3, 2015, at 5:42 PM, Thakur, Rajeev <[email protected]> wrote:
This bug is tracked in ticket #2225. https://trac.mpich.org/projects/mpich/ticket/2225
Rajeev
On Feb 3, 2015, at 4:26 PM, William Gropp <[email protected]> wrote:
Thanks. Yes, I believe this is a bug. The implementation of MPI_Info_get in MPICH passes valuelen to the internal copy routine, yet it is clear that the definition in the standard for MPI_Info_get, it should pass valuelen+1 (it should also check for the error return code from the internal routine and return a value MPI error code if the buffer is too small.
Bill
On Feb 1, 2015, at 12:13 AM, Hajime Fujita <[email protected]> wrote:
Hello,
I came across some question about a behavior of MPI_Info_get in MPICH.
If I knew the size of the value, what should I pass to MPI_Info_get as `valuelen`? Suppose I have 3-byte value in the info object, and I allocate 4-byte buffer including a space for null-termination. Then I think I should specify 3 as valuelen to retrieve the whole value, as the MPI-3 specifications says "In C, valuelen should be one less than the amount of allocated space to allow for the null terminator.”
However, when I run the attached program in MPICH 3.1.1, I get: $ ./test key found: vaule=va # The last character ‘l’ is missing
If I specify `sizeof(buff)` as valuelen, it shows “val” correctly.
So apparently MPICH thinks valuelen includes null terminator. Am I missing anything, or any misunderstanding here?
Thank you in advance, Hajime
-- Hajime Fujita Postdoctoral Scholar, Large-Scale Systems Group Department of Computer Science, The University of Chicago http://www.cs.uchicago.edu/people/hfujita _______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss <test.c>
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss
_______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss