[mpich-discuss] question in MPI_Info_get

Hajime Fujita hfujita at uchicago.edu
Wed Feb 4 11:29:26 CST 2015


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 <thakur at mcs.anl.gov> 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 <wgropp at illinois.edu> 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 <hfujita at uchicago.edu> 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     discuss at mpich.org
>>> To manage subscription options or unsubscribe:
>>> https://lists.mpich.org/mailman/listinfo/discuss
>>> <test.c>
>> 
>> _______________________________________________
>> discuss mailing list     discuss at mpich.org
>> To manage subscription options or unsubscribe:
>> https://lists.mpich.org/mailman/listinfo/discuss
> 
> _______________________________________________
> discuss mailing list     discuss at mpich.org
> To manage subscription options or unsubscribe:
> https://lists.mpich.org/mailman/listinfo/discuss

_______________________________________________
discuss mailing list     discuss at mpich.org
To manage subscription options or unsubscribe:
https://lists.mpich.org/mailman/listinfo/discuss


More information about the discuss mailing list