[mpich-discuss] Problem with gdb
Ralph Butler
rbutler at mtsu.edu
Tue Jul 29 21:57:10 CDT 2008
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mpdgdbdrv.py
Type: text/x-python-script
Size: 9927 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20080729/85d28f34/attachment.bin>
-------------- next part --------------
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
>
More information about the mpich-discuss
mailing list