[mpich-discuss] Problem with gdb

Burlen Loring burlen.loring at kitware.com
Wed Jul 30 07:42:52 CDT 2008


Hi Ralph,

Thanks!

Burlen

Ralph Butler wrote:
> This has been fixed in svn but has not yet made it into a release.
> Below is output where I ran your pgm with the current release but with 
> mpdgdbdrv.py replaced.
> I have attached a new copy of that file.
>
> --ralph
>
> --------
> Sample output:
>
> (magpie:131)% ~/mpich2-1.0.7/src/pm/mpd/mpiexec.py -gdb -n 2 mpivg
> 0-1:  (gdb) b 10
> 0-1:  Breakpoint 2 at 0x80499a1: file mpivg.cpp, line 10.
> 0-1:  (gdb) r
> 0-1:  Continuing.
> 0-1:
> 0-1:  Breakpoint 2, main (argc=134921840, argv=0x1) at mpivg.cpp:10
> 0-1:  10        return 0;
> 0-1:  (gdb) 0-1:  (gdb) q
> 0-1:  The program is running.  Exit anyway? (y or n) [answered Y; 
> input not from terminal]
> 0-1:  MPIGDB ENDING
>
>
> ------------------------------------------------------------------------
>
>
>
>
>
>
>
>
>
>
>
> On TueJul 29, at Tue Jul 29 8:44AM, Burlen Loring wrote:
>
>
>
>> Hi all, Marcelo Tomim wrote:
>>> I have been trying to debug a program, but it freezes every time I 
>>> try to run it in debug mode. This is what I type: mpiexec -gdb -n 3 
>>> ./my_program Then it does not return the command line and I have to 
>>> kill it. 
>> I can confirm this. The same thing recently started happening to me. 
>> I guessed it was related to a recent kernel/system library upgrades. 
>> Linux tycho 2.6.24-19-generic #1 SMP Fri Jul 11 23:41:49 UTC 2008 
>> i686 GNU/Linux Also seemingly coincident with recent system upgrades, 
>> when I run codes through valgrind I see a lot of complaints about 
>> using uninitialized memory. Below is a simple program and it's 
>> valgrind output. Notice, that there is a lot of lines like: Syscall 
>> param writev(vector[...]) points to uninitialised byte(s) These 
>> seemed to show up about the same time that -gdb option stopped 
>> working. I think it has to do with system library change and not 
>> mpich but I can't be sure. I am using my own source install of mpich 
>> 2 and I have rebuilt since the upgrades but it didn't help. I'd 
>> certainly like to get the -gdb option back, and the memory issues 
>> cleaned up as well. Thanks Burlen // begin of mpivg.cpp #include 
>> <mpi.h> #include <iostream> int main(int argc, char **argv) { 
>> MPI_Init(&argc,&argv); MPI_Barrier(MPI_COMM_WORLD); MPI_Finalize(); 
>> return 0; } // end of mpivg.cpp 
>> tycho:~/ext/kitware_cvs/Work/Burlen/testing$mpiexec -n 2 valgrind 
>> ./mpivg ==2031== Memcheck, a memory error detector. ==2031== 
>> Copyright (C) 2002-2007, and GNU GPL'd, by Julian Seward et al. 
>> ==2031== Using LibVEX rev 1804, a library for dynamic binary 
>> translation. ==2031== Copyright (C) 2004-2007, and GNU GPL'd, by 
>> OpenWorks LLP. ==2031== Using valgrind-3.3.0-Debian, a dynamic binary 
>> instrumentation framework. ==2031== Copyright (C) 2000-2007, and GNU 
>> GPL'd, by Julian Seward et al. ==2031== For more details, rerun with: 
>> -v ==2030== Memcheck, a memory error detector. ==2030== Copyright (C) 
>> 2002-2007, and GNU GPL'd, by Julian Seward et al. ==2030== Using 
>> LibVEX rev 1804, a library for dynamic binary translation. ==2030== 
>> Copyright (C) 2004-2007, and GNU GPL'd, by OpenWorks LLP. ==2030== 
>> Using valgrind-3.3.0-Debian, a dynamic binary instrumentation 
>> framework. ==2030== Copyright (C) 2000-2007, and GNU GPL'd, by Julian 
>> Seward et al. ==2030== For more details, rerun with: -v ==2030== 
>> ==2031== ==2030== Syscall param writev(vector[...]) points to 
>> uninitialised byte(s) ==2030==    at 0x40007F2: (within 
>> /lib/ld-2.7.so) ==2030==    by 0x4130FBC: MPIDU_Sock_wait (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1)==2031== Syscall param 
>> writev(vector[...]) points to uninitialised byte(s) ==2031==    at 
>> 0x40007F2: (within /lib/ld-2.7.so) ==2031==    by 0x4130FBC: 
>> MPIDU_Sock_wait (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2031==    by 0x40ABE2B: MPIDI_CH3I_Progress (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x40EA978: 
>> MPIC_Wait (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 
>> 0x40EAD71: MPIC_Sendrecv (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2031==    by 0x40A089D: MPIR_Barrier (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) == ==2030==    by 0x40ABE2B: 
>> MPIDI_CH3I_Progress (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2030==    by 0x40EA978: MPIC_Wait (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x40EAD71: 
>> MPIC_Sendrecv (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    
>> by 0x40A089D: MPIR_Barrier (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2030==    by 0x40A0E4A: PMPI_Barrier (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x804891B: main 
>> (in /home/burlen/ext/kitware_cvs/Work/Burlen/testing/mpivg) ==2030==  
>> Address 0x4457fa8 is 32 bytes inside a block of size 72 alloc'd 
>> ==2030==    at 0x4022AB8: malloc (vg_replace_malloc.c:207) 
>> ==2030==    by 0x40AE6F5: MPIDI_CH3I_Connection_alloc (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x40AE97E: 
>> MPIDI_CH3I_Sock_connect (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2030==    by 0x40AEBB7: MPIDI_CH3I_VC_post_sockconnect (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x40AAB0C: 
>> MPIDI_CH3I_VC_post_connect (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2030==    by 0x40A9472: MPIDI_CH3_iSend (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x40F9CC5: 
>> MPID_Isend (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 
>> 0x40EAD39: MPIC_Sendrecv (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2030==    by 0x40A089D: MPIR_Barrier (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x40A0E4A: 
>> PMPI_Barrier (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    
>> by 0x804891B: main (in 
>> /home/burlen/ext/kitware_cvs/Work/Burlen/testing/mpivg) 2031==    by 
>> 0x40A0E4A: PMPI_Barrier (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2031==    by 0x804891B: main (in 
>> /home/burlen/ext/kitware_cvs/Work/Burlen/testing/mpivg) ==2031==  
>> Address 0x4457fa8 is 32 bytes inside a block of size 72 alloc'd 
>> ==2031==    at 0x4022AB8: malloc (vg_replace_malloc.c:207) 
>> ==2031==    by 0x40AE6F5: MPIDI_CH3I_Connection_alloc (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x40AE97E: 
>> MPIDI_CH3I_Sock_connect (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2031==    by 0x40AEBB7: MPIDI_CH3I_VC_post_sockconnect (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x40AAB0C: 
>> MPIDI_CH3I_VC_post_connect (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2031==    by 0x40A9472: MPIDI_CH3_iSend (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x40F9CC5: 
>> MPID_Isend (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 
>> 0x40EAD39: MPIC_Sendrecv (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2031==    by 0x40A089D: MPIR_Barrier (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x40A0E4A: 
>> PMPI_Barrier (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    
>> by 0x804891B: main (in 
>> /home/burlen/ext/kitware_cvs/Work/Burlen/testing/mpivg) ==2030== 
>> ==2030== Syscall param write(buf) points to uninitialised byte(s) 
>> ==2030==    at 0x40007F2: (within /lib/ld-2.7.so) ==2030==    by 
>> 0x40A950D: MPIDI_CH3_iSend (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2030==    by 0x40F9CC5: MPID_Isend (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x40EAD39: 
>> MPIC_Sendrecv (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    
>> by 0x40A089D: MPIR_Barrier (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2030==    by 0x40A0E4A: PMPI_Barrier (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x40F82DF: 
>> MPID_Finalize (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    
>> by 0x40D8FD4: PMPI_Finalize (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x8048920: main 
>> (in /home/burlen/ext/kitware_cvs/Work/Burlen/testing/mpivg) ==2030==  
>> Address 0xbec94fdc is on thread 1's stack ==2031== ==2031== Syscall 
>> param write(buf) points to uninitialised byte(s) ==2031==    at 
>> 0x40007F2: (within /lib/ld-2.7.so) ==2031==    by 0x40A950D: 
>> MPIDI_CH3_iSend (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2031==    by 0x40F9CC5: MPID_Isend (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x40EAD39: 
>> MPIC_Sendrecv (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    
>> by 0x40A089D: MPIR_Barrier (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2031==    by 0x40A0E4A: PMPI_Barrier (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x40F82DF: 
>> MPID_Finalize (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    
>> by 0x40D8FD4: PMPI_Finalize (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x8048920: main 
>> (in /home/burlen/ext/kitware_cvs/Work/Burlen/testing/mpivg) ==2031==  
>> Address 0xbeb6afdc is on thread 1's stack ==2030== ==2030== Syscall 
>> param write(buf) points to uninitialised byte(s) ==2030==    at 
>> 0x40007F2: (within /lib/ld-2.7.so) ==2030==    by 0x40AA244: 
>> MPIDI_CH3_iStartMsg (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2030==    by 0x40B0F86: MPIDI_CH3U_VC_SendClose (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x4101B7F: 
>> MPIDI_PG_Close_VCs (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2030==    by 0x40F8451: MPID_Finalize (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x40D8FD4: 
>> PMPI_Finalize (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    
>> by 0x8048920: main (in 
>> /home/burlen/ext/kitware_cvs/Work/Burlen/testing/mpivg) ==2030==  
>> Address 0xbec95084 is on thread 1's stack ==2031== ==2031== Syscall 
>> param write(buf) points to uninitialised byte(s) ==2031==    at 
>> 0x40007F2: (within /lib/ld-2.7.so) ==2031==    by 0x40AA244: 
>> MPIDI_CH3_iStartMsg (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2031==    by 0x40B0F86: MPIDI_CH3U_VC_SendClose (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x4101B7F: 
>> MPIDI_PG_Close_VCs (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2031==    by 0x40F8451: MPID_Finalize (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x40D8FD4: 
>> PMPI_Finalize (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    
>> by 0x8048920: main (in 
>> /home/burlen/ext/kitware_cvs/Work/Burlen/testing/mpivg) ==2031==  
>> Address 0xbeb6b084 is on thread 1's stack ==2030== ==2030== Syscall 
>> param write(buf) points to uninitialised byte(s) ==2030==    at 
>> 0x40007F2: (within /lib/ld-2.7.so) ==2030==    by 0x40AA244: 
>> MPIDI_CH3_iStartMsg (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2030==    by 0x40B1181: MPIDI_CH3_PktHandler_Close (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x40AB8E0: 
>> MPIDI_CH3I_Progress_handle_sock_event (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x40ABDE5: 
>> MPIDI_CH3I_Progress (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2030==    by 0x40B0E1C: MPIDI_CH3U_VC_WaitForClose (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x40F8456: 
>> MPID_Finalize (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    
>> by 0x40D8FD4: PMPI_Finalize (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2030==    by 0x8048920: main 
>> (in /home/burlen/ext/kitware_cvs/Work/Burlen/testing/mpivg) ==2030==  
>> Address 0xbec94fa4 is on thread 1's stack ==2031== ==2031== Syscall 
>> param write(buf) points to uninitialised byte(s) ==2031==    at 
>> 0x40007F2: (within /lib/ld-2.7.so) ==2031==    by 0x40AA244: 
>> MPIDI_CH3_iStartMsg (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2031==    by 0x40B1181: MPIDI_CH3_PktHandler_Close (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x40AB8E0: 
>> MPIDI_CH3I_Progress_handle_sock_event (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x40ABDE5: 
>> MPIDI_CH3I_Progress (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) 
>> ==2031==    by 0x40B0E1C: MPIDI_CH3U_VC_WaitForClose (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x40F8456: 
>> MPID_Finalize (in /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    
>> by 0x40D8FD4: PMPI_Finalize (in 
>> /opt/mpich2-1.0.7/lib/libmpich.so.1.1) ==2031==    by 0x8048920: main 
>> (in /home/burlen/ext/kitware_cvs/Work/Burlen/testing/mpivg) ==2031==  
>> Address 0xbeb6afa4 is on thread 1's stack ==2031== ==2031== ERROR 
>> SUMMARY: 5 errors from 4 contexts (suppressed: 27 from 1) ==2031== 
>> malloc/free: in use at exit: 0 bytes in 0 blocks. ==2031== 
>> malloc/free: 55 allocs, 55 frees, 35,225 bytes allocated. ==2031== 
>> For counts of detected errors, rerun with: -v ==2031== All heap 
>> blocks were freed -- no leaks are possible. ==2030== ==2030== ERROR 
>> SUMMARY: 5 errors from 4 contexts (suppressed: 27 from 1) ==2030== 
>> malloc/free: in use at exit: 0 bytes in 0 blocks. ==2030== 
>> malloc/free: 55 allocs, 55 frees, 35,225 bytes allocated. ==2030== 
>> For counts of detected errors, rerun with: -v ==2030== All heap 
>> blocks were freed -- no leaks are possible. --  Burlen Loring 
>> Kitware, Inc. R&D Engineer 28 Corporate Drive Clifton Park, NY 
>> 12065-8662 Phone: 518-371-3971 x137 
>
>
>   


-- 
Burlen Loring
Kitware, Inc.
R&D Engineer
28 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-371-3971 x137




More information about the mpich-discuss mailing list