<div>Hi Berk,</div><div><br></div><div>while I run valgrind I had a couple of errors (suppressing anything MPI related). </div><div><br></div><div>Thus I have a couple of questions:</div><div><br></div><div>What is our policy regarding uninitialized variables. Is it OK to leave them uninitialized if they are not used or should they always be initialized when they are indirectly used.</div>
<div>Example:</div><div>set_ddbox_cr doesn't set the members v or normal of ddbox (type gmx_ddbox_t) and then bcast. valgrind of course sees this as an error because the bcast reads the initialized variable. </div><div>
<br></div><div>If they should always be initialized, is it a good idea to initialize static structs with "= {0}"? E.g. ddbox is declared in mdrunner as </div><div> gmx_ddbox_t ddbox;</div><div>Should this be changed to:</div>
<div> gmx_ddbox_t ddbox={0};</div><div>?</div><div><br></div><div>Or is there some reason not to use the "{0}" method to initialize? If the {0} is OK than just let me know and I'll commit it. I have fixed it in 2 places.<br>
</div><div><br></div><div>Do you have a valgrind suppression list with known false-positives?</div><div><br></div><div>Some of the errors I've seen:</div><div><br></div><div><div>==2841== Invalid read of size 4</div>
<div>
==2841== at 0x538CE1: gmx_pme_send_q_x (pme_pp.c:202)</div><div>==2841== by 0x538E60: gmx_pme_send_q (pme_pp.c:237)</div><div>==2841== by 0x462273: dd_partition_system (domdec.c:8550)</div><div>==2841== by 0x4308EA: do_md (md.c:1259)</div>
<div>==2841== by 0x42C6F2: mdrunner (runner.c:771)</div><div>==2841== by 0x4377CC: main (mdrun.c:631)</div><div>==2841== Address 0x7feffc4cc is on thread 1's stack</div></div><div><br></div><div><div>==2846== Uninitialised byte(s) found during client check request</div>
<div>==2846== at 0x625C09D: valgrind_module_isdefined (in /autofs/na1_home/z8g/sof</div><div>tware/ompi-1.4.2/lib/libopen-pal.so.0.0.0)</div><div>==2846== by 0x5D8547A: PMPI_Isend (in /autofs/na1_home/z8g/software/ompi-1.4.</div>
<div>2/lib/libmpi.so.0.0.2)</div><div>==2846== by 0x539B50: gmx_pme_send_force_vir_ener (pme_pp.c:507)</div><div>==2846== by 0x536F8F: gmx_pmeonly (pme.c:2423)</div><div>==2846== by 0x42C75E: mdrunner (runner.c:792)</div>
<div>==2846== by 0x4377CC: main (mdrun.c:631)</div><div>==2846== Address 0x7feffceb0 is on thread 1's stack</div></div><div><br></div><div><div>==2846== Conditional jump or move depends on uninitialised value(s)</div>
<div>==2846== at 0x42C7F7: mdrunner (runner.c:800)</div><div>==2846== by 0x4377CC: main (mdrun.c:631)</div><div>==2846==</div><div>==2846== Conditional jump or move depends on uninitialised value(s)</div><div>==2846== at 0x6B22760: __tzfile_compute (in /lib64/<a href="http://libc-2.5.so">libc-2.5.so</a>)</div>
<div>==2846== by 0x6B221BE: __tz_convert (in /lib64/<a href="http://libc-2.5.so">libc-2.5.so</a>)</div><div>==2846== by 0x6B20798: ctime (in /lib64/<a href="http://libc-2.5.so">libc-2.5.so</a>)</div><div>==2846== by 0x54B9B1: print_date_and_time (sim_util.c:253)</div>
<div>==2846== by 0x42C920: mdrunner (runner.c:821)</div><div>==2846== by 0x4377CC: main (mdrun.c:631)</div></div><div><br></div><div><br></div><div>Roland</div><div><br></div>-- <br>ORNL/UT Center for Molecular Biophysics <a href="http://cmb.ornl.gov" target="_blank">cmb.ornl.gov</a><br>
865-241-1537, ORNL PO BOX 2008 MS6309<br>