[mpich-discuss] question in MPI_Info_get

Thakur, Rajeev thakur at mcs.anl.gov
Tue Feb 3 17:42:11 CST 2015


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


More information about the discuss mailing list