This is more subtle that described here. It's a vectorization problem
and frankly it should appear on all loop-based string operations and
for most compilers (confirmed with gcc, clang and icc). The proposed
patch is merely a band-aid ...

More info @ https://bugs.launchpad.net/ubuntu/+source/valgrind/+bug/852760.
A better fix for this issue will be to add "-fno-builtin-strdup" to
your CFLAGS when compiling Open MPI.

  George.

On Wed, May 21, 2014 at 5:34 PM, Ralph Castain <r...@open-mpi.org> wrote:
> Wow, that is hilarious. I see no problem with adding the extra characters :-)
>
> Scheduled it for 1.8.2 (copied you on ticket)
>
>
> On May 21, 2014, at 3:29 PM, W Spector <w...@earthlink.net> wrote:
>
>> Hi,
>>
>> When running under valgrind, I get warnings from each MPI process at 
>> MPI_Init time.  The warnings come from function sec_basic.c at lines 70 and 
>> 71 (openmpi v1.8.1):
>>
>>            my_cred.credential = strdup("12345");
>>            my_cred.size = strlen(my_cred.credential)+1;  // include the NULL
>>
>> This is because strdup(3c) and strlen(3c) are apparently optimized to use 
>> 4-byte integer loads to speed up the copy and search operations, and 
>> "overrun" the malloced area.  (In fact, since malloc tends to pad 
>> allocations, it is safe.  But valgrind doesn't know that.)
>>
>> Since the "12345" appears to be a dummy string, would it be ok to add a 
>> couple of additional characters in the strdup call to:
>>
>>            my_cred.credential = strdup("1234567");
>>
>> This gives an 8 byte string (counting the NULL) and quiets valgrind down.
>>
>> Walter
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to