Barry Smith <[email protected]> writes: > Is there any way to fix this use of uninitialized values?
Hmm, I don't think it's something we have any control over. I could try making a reduced test case to put in MPICH's test suite. Is this with the latest version of MPICH? > 9a10,67 >> ==31141== Syscall param writev(vector[...]) points to uninitialised byte(s) >> ==31141== at 0xD164CDB: writev (writev.c:51) >> ==31141== by 0xCB13596: MPL_large_writev (mplsock.c:32) >> ==31141== by 0xCB02DC9: MPIDU_Sock_writev (sock_immed.i:610) >> ==31141== by 0xCAC00DD: MPIDI_CH3_iStartMsgv (ch3_istartmsgv.c:110) >> ==31141== by 0xCA7DC91: recv_rma_msg (ch3u_rma_sync.c:2198) >> ==31141== by 0xCA79CB6: MPIDI_Win_fence (ch3u_rma_sync.c:1295) >> ==31141== by 0xC9AD840: PMPI_Win_fence (win_fence.c:111) >> ==31141== by 0x51DA7E1: PetscSFRestoreWindow (sfwindow.c:348) >> ==31141== by 0x51DD0C9: PetscSFBcastEnd_Window (sfwindow.c:510) >> ==31141== by 0x51D0B66: PetscSFBcastEnd (sf.c:1001) >> ==31141== by 0x401EB7: main (ex2.c:81) >> ==31141== Address 0xe50d12c is 108 bytes inside a block of size 208 alloc'd >> ==31141== at 0x4C2B6CD: malloc (in >> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) >> ==31141== by 0xCA7328D: MPIDI_CH3I_RMA_Ops_alloc_tail (mpidrma.h:191) >> ==31141== by 0xCA75A49: MPIDI_Get (ch3u_rma_ops.c:290) >> ==31141== by 0xC99EC9C: PMPI_Get (get.c:142) >> ==31141== by 0x51DCC62: PetscSFBcastBegin_Window (sfwindow.c:495) >> ==31141== by 0x51D03C4: PetscSFBcastBegin (sf.c:968) >> ==31141== by 0x401DDB: main (ex2.c:79) >> ==31141== Uninitialised value was created by a heap allocation >> ==31141== at 0x4C2B6CD: malloc (in >> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) >> ==31141== by 0xCA7328D: MPIDI_CH3I_RMA_Ops_alloc_tail (mpidrma.h:191) >> ==31141== by 0xCA75A49: MPIDI_Get (ch3u_rma_ops.c:290) >> ==31141== by 0xC99EC9C: PMPI_Get (get.c:142) >> ==31141== by 0x51DCC62: PetscSFBcastBegin_Window (sfwindow.c:495) >> ==31141== by 0x51D03C4: PetscSFBcastBegin (sf.c:968) >> ==31141== by 0x401DDB: main (ex2.c:79) >> ==31141== >> ==31142== Syscall param writev(vector[...]) points to uninitialised byte(s) >> ==31142== at 0xD164CDB: writev (writev.c:51) >> ==31142== by 0xCB13596: MPL_large_writev (mplsock.c:32) >> ==31142== by 0xCB02DC9: MPIDU_Sock_writev (sock_immed.i:610) >> ==31142== by 0xCAC00DD: MPIDI_CH3_iStartMsgv (ch3_istartmsgv.c:110) >> ==31142== by 0xCA7DC91: recv_rma_msg (ch3u_rma_sync.c:2198) >> ==31142== by 0xCA79CB6: MPIDI_Win_fence (ch3u_rma_sync.c:1295) >> ==31142== by 0xC9AD840: PMPI_Win_fence (win_fence.c:111) >> ==31142== by 0x51DA7E1: PetscSFRestoreWindow (sfwindow.c:348) >> ==31142== by 0x51DD0C9: PetscSFBcastEnd_Window (sfwindow.c:510) >> ==31142== by 0x51D0B66: PetscSFBcastEnd (sf.c:1001) >> ==31142== by 0x401EB7: main (ex2.c:81) >> ==31142== Address 0xe49d88c is 108 bytes inside a block of size 208 alloc'd >> ==31142== at 0x4C2B6CD: malloc (in >> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) >> ==31142== by 0xCA7328D: MPIDI_CH3I_RMA_Ops_alloc_tail (mpidrma.h:191) >> ==31142== by 0xCA75A49: MPIDI_Get (ch3u_rma_ops.c:290) >> ==31142== by 0xC99EC9C: PMPI_Get (get.c:142) >> ==31142== by 0x51DCC62: PetscSFBcastBegin_Window (sfwindow.c:495) >> ==31142== by 0x51D03C4: PetscSFBcastBegin (sf.c:968) >> ==31142== by 0x401DDB: main (ex2.c:79) >> ==31142== Uninitialised value was created by a heap allocation >> ==31142== at 0x4C2B6CD: malloc (in >> /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) >> ==31142== by 0xCA7328D: MPIDI_CH3I_RMA_Ops_alloc_tail (mpidrma.h:191) >> ==31142== by 0xCA75A49: MPIDI_Get (ch3u_rma_ops.c:290) >> ==31142== by 0xC99EC9C: PMPI_Get (get.c:142) >> ==31142== by 0x51DCC62: PetscSFBcastBegin_Window (sfwindow.c:495) >> ==31142== by 0x51D03C4: PetscSFBcastBegin (sf.c:968) >> ==31142== by 0x401DDB: main (ex2.c:79) >> ==31142== > /sandbox/petsc/petsc.clone/src/vec/is/sf/examples/tutorials > Possible problem with ex2_window, diffs above
signature.asc
Description: PGP signature
