Specifically, Intel's vectorized string routines are reading partway into uninitialized memory, branching on the result, but doing so in a way that makes the result independent of what was there (assuming null-terminated string). You can make a Valgrind suppression for it.<div class="gmail_extra">
<br><br><div class="gmail_quote">On Mon, Dec 3, 2012 at 5:47 AM, Tim Gallagher <span dir="ltr"><<a href="mailto:tim.gallagher@gatech.edu" target="_blank">tim.gallagher@gatech.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
This is a known bug in Valgrind and aside from being annoying and making it darn near impossible to find real problems, there's nothing that can be done about it.<br>
<span class="HOEnZb"><font color="#888888"><br>
Tim<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
----- Original Message -----<br>
From: "Alexander Grayver" <<a href="mailto:agrayver@gfz-potsdam.de">agrayver@gfz-potsdam.de</a>><br>
To: "PETSc users list" <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</a>><br>
Sent: Monday, December 3, 2012 7:37:30 AM<br>
Subject: [petsc-users] valgrind complains about string functions<br>
<br>
Hello,<br>
<br>
I'm using PETSc-3.3-p4 compiled with ICC 12.0 + IntelMPI 4.0.3 and<br>
getting a bunch of the errors related to the string functions:<br>
<br>
==22020== Conditional jump or move depends on uninitialised value(s)<br>
==22020==    at 0x4D3109: __intel_sse2_strcpy (in /home/main)<br>
==22020==    by 0xE87D51D: PetscStrcpy (in<br>
/home/lib/petsc-3.3-p4/intelmpi-intel12-double-release-c-shared/lib/libpetsc.so)<br>
==22020==    by 0xE87B6A4: PetscStrallocpy (in<br>
/home/lib/petsc-3.3-p4/intelmpi-intel12-double-release-c-shared/lib/libpetsc.so)<br>
==22020==    by 0xE796769: PetscFListGetPathAndFunction (in<br>
/home/lib/petsc-3.3-p4/intelmpi-intel12-double-release-c-shared/lib/libpetsc.so)<br>
==22020==    by 0xE79652A: PetscFListAdd (in<br>
/home/lib/petsc-3.3-p4/intelmpi-intel12-double-release-c-shared/lib/libpetsc.so)<br>
==22020==    by 0xE64ACB8: MatMFFDRegister (in<br>
/home/lib/petsc-3.3-p4/intelmpi-intel12-double-release-c-shared/lib/libpetsc.so)<br>
==22020==    by 0xE64FA7D: MatMFFDRegisterAll (in<br>
/home/lib/petsc-3.3-p4/intelmpi-intel12-double-release-c-shared/lib/libpetsc.so)<br>
==22020==    by 0xE64F65B: MatMFFDInitializePackage (in<br>
/home/lib/petsc-3.3-p4/intelmpi-intel12-double-release-c-shared/lib/libpetsc.so)<br>
==22020==    by 0xE48D8C2: MatInitializePackage (in<br>
/home/lib/petsc-3.3-p4/intelmpi-intel12-double-release-c-shared/lib/libpetsc.so)<br>
==22020==    by 0xE5157DB: MatCreate (in<br>
/home/lib/petsc-3.3-p4/intelmpi-intel12-double-release-c-shared/lib/libpetsc.so)<br>
==22020==    by 0xE29A74C: MatCreateSeqAIJ (in<br>
/home/lib/petsc-3.3-p4/intelmpi-intel12-double-release-c-shared/lib/libpetsc.so)<br>
<br>
Same thing for PetscStrncat etc.<br>
<br>
There was similar question two years ago in this mailing list and advice<br>
was to use a different compiler. It is not an option for me.<br>
Thus, my question is can those errors potentially cause any serious<br>
troubles? I came across with time trying to debug a weird segmentation<br>
fault.<br>
<br>
Thanks.<br>
<br>
--<br>
Regards,<br>
Alexander<br>
<br>
</div></div></blockquote></div><br></div>